@hi-ui/tree-select 4.0.0-alpha.11 → 4.0.0-alpha.12
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/ui/input/lib/esm/Input.js +9 -6
- package/lib/cjs/ui/input/lib/esm/Input.js.map +1 -1
- package/lib/cjs/ui/input/lib/esm/use-input.js +44 -16
- package/lib/cjs/ui/input/lib/esm/use-input.js.map +1 -1
- package/lib/cjs/ui/input/lib/esm/utils/index.js +202 -0
- package/lib/cjs/ui/input/lib/esm/utils/index.js.map +1 -0
- package/lib/esm/ui/input/lib/esm/Input.js +9 -6
- package/lib/esm/ui/input/lib/esm/Input.js.map +1 -1
- package/lib/esm/ui/input/lib/esm/use-input.js +38 -11
- package/lib/esm/ui/input/lib/esm/use-input.js.map +1 -1
- package/lib/esm/ui/input/lib/esm/utils/index.js +186 -0
- package/lib/esm/ui/input/lib/esm/utils/index.js.map +1 -0
- package/package.json +6 -6
@@ -60,8 +60,6 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
60
60
|
role = _a$role === void 0 ? 'input' : _a$role,
|
61
61
|
className = _a.className,
|
62
62
|
style = _a.style,
|
63
|
-
_a$type = _a.type,
|
64
|
-
type = _a$type === void 0 ? 'text' : _a$type,
|
65
63
|
_a$size = _a.size,
|
66
64
|
size = _a$size === void 0 ? 'md' : _a$size,
|
67
65
|
_a$appearance = _a.appearance,
|
@@ -88,7 +86,8 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
88
86
|
onFocus = _a.onFocus,
|
89
87
|
onBlur = _a.onBlur,
|
90
88
|
trimValueOnBlur = _a.trimValueOnBlur,
|
91
|
-
|
89
|
+
type = _a.type,
|
90
|
+
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
|
92
91
|
|
93
92
|
|
94
93
|
var _useMemo = React.useMemo(function () {
|
@@ -123,8 +122,10 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
123
122
|
if (!onChange) return;
|
124
123
|
onChangeMock(onChange, evt, inputElementRef.current, value);
|
125
124
|
}, [onChange]);
|
125
|
+
var clearElementRef = React.useRef(null);
|
126
126
|
|
127
127
|
var _useInput = useInput.useInput({
|
128
|
+
clearElementRef: clearElementRef,
|
128
129
|
name: name,
|
129
130
|
autoFocus: autoFocus,
|
130
131
|
disabled: disabled,
|
@@ -136,7 +137,8 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
136
137
|
onChange: proxyOnChange,
|
137
138
|
onFocus: onFocus,
|
138
139
|
onBlur: onBlur,
|
139
|
-
trimValueOnBlur: trimValueOnBlur
|
140
|
+
trimValueOnBlur: trimValueOnBlur,
|
141
|
+
type: type
|
140
142
|
}),
|
141
143
|
tryChangeValue = _useInput.tryChangeValue,
|
142
144
|
focused = _useInput.focused,
|
@@ -185,6 +187,7 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
185
187
|
}, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
186
188
|
className: prefixCls + "__suffix"
|
187
189
|
}, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
190
|
+
ref: clearElementRef,
|
188
191
|
className: classname.cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
|
189
192
|
role: "button",
|
190
193
|
tabIndex: -1,
|
@@ -218,13 +221,13 @@ function onChangeMock(onChange, evt, target, targetValue) {
|
|
218
221
|
event.target = target;
|
219
222
|
event.currentTarget = target;
|
220
223
|
target.value = targetValue;
|
221
|
-
onChange(event); // 重置为之前值
|
224
|
+
onChange(event, targetValue); // 重置为之前值
|
222
225
|
|
223
226
|
target.value = originalTargetValue;
|
224
227
|
return;
|
225
228
|
}
|
226
229
|
|
227
|
-
onChange(event);
|
230
|
+
onChange(event, targetValue);
|
228
231
|
}
|
229
232
|
|
230
233
|
exports.Input = Input;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../../../../../input/lib/esm/Input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { __rest } from 'tslib';\nimport React, { forwardRef, useMemo, isValidElement, useRef, useCallback, useState } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useMergeRefs } from '@hi-ui/use-merge-refs';\nimport { CloseCircleFilled } from '@hi-ui/icons';\nimport { useInput } from './use-input.js';\n\nvar _prefix = getPrefixCls('input');\n/**\n * TODO: What is Input\n */\n\n\nvar Input = /*#__PURE__*/forwardRef(function (_a, ref) {\n var _a$prefixCls = _a.prefixCls,\n prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,\n _a$role = _a.role,\n role = _a$role === void 0 ? 'input' : _a$role,\n className = _a.className,\n style = _a.style,\n _a$type = _a.type,\n type = _a$type === void 0 ? 'text' : _a$type,\n _a$size = _a.size,\n size = _a$size === void 0 ? 'md' : _a$size,\n _a$appearance = _a.appearance,\n appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,\n prepend = _a.prepend,\n append = _a.append,\n prefix = _a.prefix,\n suffix = _a.suffix,\n _a$clearableTrigger = _a.clearableTrigger,\n clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,\n _a$clearable = _a.clearable,\n clearable = _a$clearable === void 0 ? false : _a$clearable,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n name = _a.name,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n maxLength = _a.maxLength,\n placeholder = _a.placeholder,\n defaultValue = _a.defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n trimValueOnBlur = _a.trimValueOnBlur,\n 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\n\n\n var _useMemo = useMemo(function () {\n var shouldUnset = [false, false]; // @ts-ignore\n // @ts-ignore\n\n if ( /*#__PURE__*/isValidElement(prepend) && ['Select', 'Button'].includes(prepend.type.HiName)) {\n shouldUnset[0] = true;\n } // @ts-ignore\n // @ts-ignore\n\n\n if ( /*#__PURE__*/isValidElement(append) && ['Select', 'Button'].includes(append.type.HiName)) {\n shouldUnset[1] = true;\n }\n\n return shouldUnset;\n }, [prepend, append]),\n unsetPrepend = _useMemo[0],\n unsetAppend = _useMemo[1];\n\n var inputElementRef = useRef(null);\n var proxyOnChange = useCallback(function (value, evt) {\n if (!onChange) return;\n onChangeMock(onChange, evt, inputElementRef.current, value);\n }, [onChange]);\n\n var _useInput = useInput({\n name: name,\n autoFocus: autoFocus,\n disabled: disabled,\n readOnly: readOnly,\n maxLength: maxLength,\n placeholder: placeholder,\n defaultValue: defaultValue,\n value: valueProp,\n onChange: proxyOnChange,\n onFocus: onFocus,\n onBlur: onBlur,\n trimValueOnBlur: trimValueOnBlur\n }),\n tryChangeValue = _useInput.tryChangeValue,\n focused = _useInput.focused,\n value = _useInput.value,\n getInputProps = _useInput.getInputProps;\n\n var focus = useCallback(function () {\n var _a;\n\n (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }, []);\n var handleReset = useCallback(function (evt) {\n tryChangeValue('', evt);\n focus();\n }, [tryChangeValue, focus]);\n\n var _useState = useState(false),\n hover = _useState[0],\n setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚\n\n\n var showClearableIcon = clearable && !!value && !disabled;\n var mergedRef = useMergeRefs(ref, inputElementRef);\n var cls = cx(className, prefixCls + \"__outer\", prepend && prefixCls + \"__outer--prepend\", prepend && unsetPrepend && prefixCls + \"__outer--prepend-unset\", append && prefixCls + \"__outer--append\", append && unsetAppend && prefixCls + \"__outer--append-unset\", prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size);\n return /*#__PURE__*/React.createElement(\"div\", {\n role: role,\n className: cls,\n style: style\n }, prepend ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__prepend\"\n }, prepend) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: cx(prefixCls + \"__inner\", prefix && prefixCls + \"__inner--prefix\", suffix && prefixCls + \"__inner--suffix\", // TODO: bem规范统一\n focused && \"focused\", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),\n onMouseOver: function onMouseOver(e) {\n setHover(true);\n },\n onMouseLeave: function onMouseLeave(e) {\n setHover(false);\n }\n }, prefix ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__prefix\"\n }, prefix) : null, /*#__PURE__*/React.createElement(\"input\", Object.assign({\n ref: mergedRef,\n className: cx(prefixCls, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly'),\n type: type\n }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__suffix\"\n }, showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: cx(prefixCls + \"__clear\", (clearableTrigger === 'always' || hover) && 'active'),\n role: \"button\",\n tabIndex: -1,\n onClick: handleReset\n }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__append\"\n }, append) : null);\n});\n\nif (__DEV__) {\n Input.displayName = 'Input';\n}\n/**\n * 模拟伪装目标事件 target\n *\n * @param target\n * @param evt\n * @param onChange\n * @param targetValue\n * @returns\n */\n\n\nfunction onChangeMock(onChange, evt, target, targetValue) {\n var event = evt; // 点击 clearIcon 或者 失焦 trim 时,都会代理 onChange 的事件对象 target 指向 input.target\n\n if (evt.type !== 'change') {\n if (!target) return;\n var originalTargetValue = target.value;\n event = Object.create(evt);\n event.target = target;\n event.currentTarget = target;\n target.value = targetValue;\n onChange(event); // 重置为之前值\n\n target.value = originalTargetValue;\n return;\n }\n\n onChange(event);\n}\n\nexport { Input, onChangeMock };\n//# sourceMappingURL=Input.js.map\n"],"names":["_prefix","getPrefixCls","Input","forwardRef","_a","ref","prefixCls","role","_a$role","className","style","type","_a$type","size","_a$size","appearance","_a$appearance","prepend","append","prefix","suffix","clearableTrigger","_a$clearableTrigger","clearable","_a$clearable","invalid","_a$invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","_useMemo","unsetAppend","inputElementRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","useInput","tryChangeValue","_useInput","focused","getInputProps","focus","handleReset","useState","hover","_useState","setHover","showClearableIcon","mergedRef","useMergeRefs","cls","cx","React","onMouseOver","e","onMouseLeave","tabIndex","onClick","__DEV__","target","targetValue","event","originalTargetValue","Object"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../../../../../input/lib/esm/Input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { __rest } from 'tslib';\nimport React, { forwardRef, useMemo, isValidElement, useRef, useCallback, useState } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useMergeRefs } from '@hi-ui/use-merge-refs';\nimport { CloseCircleFilled } from '@hi-ui/icons';\nimport { useInput } from './use-input.js';\n\nvar _prefix = getPrefixCls('input');\n/**\n * TODO: What is Input\n */\n\n\nvar Input = /*#__PURE__*/forwardRef(function (_a, ref) {\n var _a$prefixCls = _a.prefixCls,\n prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,\n _a$role = _a.role,\n role = _a$role === void 0 ? 'input' : _a$role,\n className = _a.className,\n style = _a.style,\n _a$size = _a.size,\n size = _a$size === void 0 ? 'md' : _a$size,\n _a$appearance = _a.appearance,\n appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,\n prepend = _a.prepend,\n append = _a.append,\n prefix = _a.prefix,\n suffix = _a.suffix,\n _a$clearableTrigger = _a.clearableTrigger,\n clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,\n _a$clearable = _a.clearable,\n clearable = _a$clearable === void 0 ? false : _a$clearable,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n name = _a.name,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n maxLength = _a.maxLength,\n placeholder = _a.placeholder,\n defaultValue = _a.defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n trimValueOnBlur = _a.trimValueOnBlur,\n type = _a.type,\n 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\n\n\n var _useMemo = useMemo(function () {\n var shouldUnset = [false, false]; // @ts-ignore\n // @ts-ignore\n\n if ( /*#__PURE__*/isValidElement(prepend) && ['Select', 'Button'].includes(prepend.type.HiName)) {\n shouldUnset[0] = true;\n } // @ts-ignore\n // @ts-ignore\n\n\n if ( /*#__PURE__*/isValidElement(append) && ['Select', 'Button'].includes(append.type.HiName)) {\n shouldUnset[1] = true;\n }\n\n return shouldUnset;\n }, [prepend, append]),\n unsetPrepend = _useMemo[0],\n unsetAppend = _useMemo[1];\n\n var inputElementRef = useRef(null);\n var proxyOnChange = useCallback(function (value, evt) {\n if (!onChange) return;\n onChangeMock(onChange, evt, inputElementRef.current, value);\n }, [onChange]);\n var clearElementRef = useRef(null);\n\n var _useInput = useInput({\n clearElementRef: clearElementRef,\n name: name,\n autoFocus: autoFocus,\n disabled: disabled,\n readOnly: readOnly,\n maxLength: maxLength,\n placeholder: placeholder,\n defaultValue: defaultValue,\n value: valueProp,\n onChange: proxyOnChange,\n onFocus: onFocus,\n onBlur: onBlur,\n trimValueOnBlur: trimValueOnBlur,\n type: type\n }),\n tryChangeValue = _useInput.tryChangeValue,\n focused = _useInput.focused,\n value = _useInput.value,\n getInputProps = _useInput.getInputProps;\n\n var focus = useCallback(function () {\n var _a;\n\n (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }, []);\n var handleReset = useCallback(function (evt) {\n tryChangeValue('', evt);\n focus();\n }, [tryChangeValue, focus]);\n\n var _useState = useState(false),\n hover = _useState[0],\n setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚\n\n\n var showClearableIcon = clearable && !!value && !disabled;\n var mergedRef = useMergeRefs(ref, inputElementRef);\n var cls = cx(className, prefixCls + \"__outer\", prepend && prefixCls + \"__outer--prepend\", prepend && unsetPrepend && prefixCls + \"__outer--prepend-unset\", append && prefixCls + \"__outer--append\", append && unsetAppend && prefixCls + \"__outer--append-unset\", prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size);\n return /*#__PURE__*/React.createElement(\"div\", {\n role: role,\n className: cls,\n style: style\n }, prepend ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__prepend\"\n }, prepend) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: cx(prefixCls + \"__inner\", prefix && prefixCls + \"__inner--prefix\", suffix && prefixCls + \"__inner--suffix\", // TODO: bem规范统一\n focused && \"focused\", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),\n onMouseOver: function onMouseOver(e) {\n setHover(true);\n },\n onMouseLeave: function onMouseLeave(e) {\n setHover(false);\n }\n }, prefix ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__prefix\"\n }, prefix) : null, /*#__PURE__*/React.createElement(\"input\", Object.assign({\n ref: mergedRef,\n className: cx(prefixCls, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly'),\n type: type\n }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__suffix\"\n }, showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n ref: clearElementRef,\n className: cx(prefixCls + \"__clear\", (clearableTrigger === 'always' || hover) && 'active'),\n role: \"button\",\n tabIndex: -1,\n onClick: handleReset\n }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__append\"\n }, append) : null);\n});\n\nif (__DEV__) {\n Input.displayName = 'Input';\n}\n/**\n * 模拟伪装目标事件 target\n *\n * @param target\n * @param evt\n * @param onChange\n * @param targetValue\n * @returns\n */\n\n\nfunction onChangeMock(onChange, evt, target, targetValue) {\n var event = evt; // 点击 clearIcon 或者 失焦 trim 时,都会代理 onChange 的事件对象 target 指向 input.target\n\n if (evt.type !== 'change') {\n if (!target) return;\n var originalTargetValue = target.value;\n event = Object.create(evt);\n event.target = target;\n event.currentTarget = target;\n target.value = targetValue;\n onChange(event, targetValue); // 重置为之前值\n\n target.value = originalTargetValue;\n return;\n }\n\n onChange(event, targetValue);\n}\n\nexport { Input, onChangeMock };\n//# sourceMappingURL=Input.js.map\n"],"names":["_prefix","getPrefixCls","Input","forwardRef","_a","ref","prefixCls","role","_a$role","className","style","size","_a$size","appearance","_a$appearance","prepend","append","prefix","suffix","clearableTrigger","_a$clearableTrigger","clearable","_a$clearable","invalid","_a$invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","type","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","_useMemo","unsetAppend","inputElementRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","clearElementRef","useInput","tryChangeValue","_useInput","focused","getInputProps","focus","handleReset","useState","hover","_useState","setHover","showClearableIcon","mergedRef","useMergeRefs","cls","cx","React","onMouseOver","e","onMouseLeave","tabIndex","onClick","__DEV__","target","targetValue","event","originalTargetValue","Object"],"mappings":"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"}
|
@@ -17,9 +17,11 @@ var React = require('react');
|
|
17
17
|
|
18
18
|
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
19
19
|
|
20
|
-
var index = require('../../../../hooks/use-latest/lib/esm/index.js');
|
20
|
+
var index$1 = require('../../../../hooks/use-latest/lib/esm/index.js');
|
21
21
|
|
22
|
-
var index$
|
22
|
+
var index$2 = require('../../../../utils/dom-utils/lib/esm/index.js');
|
23
|
+
|
24
|
+
var index = require('./utils/index.js');
|
23
25
|
/** @LICENSE
|
24
26
|
* @hi-ui/input
|
25
27
|
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
|
@@ -48,31 +50,57 @@ var useInput = function useInput(_ref) {
|
|
48
50
|
onFocus = _ref.onFocus,
|
49
51
|
onBlur = _ref.onBlur,
|
50
52
|
_ref$trimValueOnBlur = _ref.trimValueOnBlur,
|
51
|
-
trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur
|
53
|
+
trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur,
|
54
|
+
_ref$type = _ref.type,
|
55
|
+
type = _ref$type === void 0 ? 'text' : _ref$type,
|
56
|
+
clearElementRef = _ref.clearElementRef; // Object.is 避免 trimValueOnBlur 和 点击 clearIcon 触发 2 次相同的 onCHange
|
52
57
|
|
53
|
-
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
|
58
|
+
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange, Object.is),
|
54
59
|
value = _useUncontrolledState[0],
|
55
60
|
tryChangeValue = _useUncontrolledState[1];
|
56
61
|
|
57
|
-
var handleChange = React.useCallback(function (evt) {
|
62
|
+
var handleChange = React.useCallback(function (evt, trim) {
|
63
|
+
if (trim === void 0) {
|
64
|
+
trim = false;
|
65
|
+
}
|
66
|
+
|
67
|
+
evt.persist();
|
58
68
|
var nextValue = evt.target.value;
|
59
|
-
|
60
|
-
|
69
|
+
var valueTrue = index.pure(nextValue, type); // 防溢出,保证 onChange 拿到的是值是最新的 formatted value
|
70
|
+
|
71
|
+
var value = index.format(nextValue, type);
|
72
|
+
|
73
|
+
if (trim) {
|
74
|
+
valueTrue = valueTrue.trim();
|
75
|
+
value = value.trim();
|
76
|
+
}
|
77
|
+
|
78
|
+
evt.target.value = value;
|
79
|
+
tryChangeValue(valueTrue, evt);
|
80
|
+
}, [tryChangeValue, type]);
|
61
81
|
|
62
82
|
var _useState = React.useState(autoFocus),
|
63
83
|
focused = _useState[0],
|
64
84
|
setFocused = _useState[1];
|
65
85
|
|
66
|
-
var handleFocus = index.useLatestCallback(function (evt) {
|
86
|
+
var handleFocus = index$1.useLatestCallback(function (evt) {
|
67
87
|
setFocused(true);
|
68
88
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);
|
69
89
|
});
|
70
|
-
var handleBlur = index.useLatestCallback(function (event) {
|
71
|
-
|
90
|
+
var handleBlur = index$1.useLatestCallback(function (event) {
|
91
|
+
var relatedTarget = event.relatedTarget; // 拦截 clear 情况 触发 input 失焦
|
92
|
+
|
93
|
+
if (clearElementRef.current && clearElementRef.current === relatedTarget) {
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
|
97
|
+
setFocused(false); // amount 自动添加小数
|
72
98
|
|
73
|
-
if (
|
74
|
-
|
75
|
-
|
99
|
+
if (type === 'amount') {
|
100
|
+
event.target.value = index.formatAmount(value, true);
|
101
|
+
handleChange(event, trimValueOnBlur);
|
102
|
+
} else if (trimValueOnBlur) {
|
103
|
+
handleChange(event, true);
|
76
104
|
}
|
77
105
|
|
78
106
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
@@ -85,17 +113,17 @@ var useInput = function useInput(_ref) {
|
|
85
113
|
autoFocus: autoFocus,
|
86
114
|
placeholder: placeholder,
|
87
115
|
maxLength: maxLength,
|
88
|
-
'data-focused': index$
|
116
|
+
'data-focused': index$2.setAttrStatus(focused)
|
89
117
|
};
|
90
118
|
}, [disabled, readOnly, autoFocus, placeholder, maxLength, name, focused]);
|
91
119
|
var getInputProps = React.useCallback(function () {
|
92
120
|
return Object.assign(Object.assign({}, nativeInputProps), {
|
93
|
-
value: value,
|
121
|
+
value: index.format(value, type),
|
94
122
|
onChange: handleChange,
|
95
123
|
onFocus: handleFocus,
|
96
124
|
onBlur: handleBlur
|
97
125
|
});
|
98
|
-
}, [value, handleChange, handleFocus, handleBlur, nativeInputProps]);
|
126
|
+
}, [value, type, handleChange, handleFocus, handleBlur, nativeInputProps]);
|
99
127
|
return {
|
100
128
|
focused: focused,
|
101
129
|
value: value,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-input.js","sources":["../../../../../../../input/lib/esm/use-input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { useCallback, useState, useMemo } from 'react';\nimport { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';\nimport { useLatestCallback } from '@hi-ui/use-latest';\nimport { setAttrStatus } from '@hi-ui/dom-utils';\n\nvar useInput = function useInput(_ref) {\n var name = _ref.name,\n _ref$autoFocus = _ref.autoFocus,\n autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n maxLength = _ref.maxLength,\n placeholder = _ref.placeholder,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,\n valueProp = _ref.value,\n onChange = _ref.onChange,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n _ref$trimValueOnBlur = _ref.trimValueOnBlur,\n trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur
|
1
|
+
{"version":3,"file":"use-input.js","sources":["../../../../../../../input/lib/esm/use-input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { useCallback, useState, useMemo } from 'react';\nimport { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';\nimport { useLatestCallback } from '@hi-ui/use-latest';\nimport { setAttrStatus } from '@hi-ui/dom-utils';\nimport { pure, format, formatAmount } from './utils/index.js';\n\nvar useInput = function useInput(_ref) {\n var name = _ref.name,\n _ref$autoFocus = _ref.autoFocus,\n autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n maxLength = _ref.maxLength,\n placeholder = _ref.placeholder,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,\n valueProp = _ref.value,\n onChange = _ref.onChange,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n _ref$trimValueOnBlur = _ref.trimValueOnBlur,\n trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'text' : _ref$type,\n clearElementRef = _ref.clearElementRef; // Object.is 避免 trimValueOnBlur 和 点击 clearIcon 触发 2 次相同的 onCHange\n\n var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange, Object.is),\n value = _useUncontrolledState[0],\n tryChangeValue = _useUncontrolledState[1];\n\n var handleChange = useCallback(function (evt, trim) {\n if (trim === void 0) {\n trim = false;\n }\n\n evt.persist();\n var nextValue = evt.target.value;\n var valueTrue = pure(nextValue, type); // 防溢出,保证 onChange 拿到的是值是最新的 formatted value\n\n var value = format(nextValue, type);\n\n if (trim) {\n valueTrue = valueTrue.trim();\n value = value.trim();\n }\n\n evt.target.value = value;\n tryChangeValue(valueTrue, evt);\n }, [tryChangeValue, type]);\n\n var _useState = useState(autoFocus),\n focused = _useState[0],\n setFocused = _useState[1];\n\n var handleFocus = useLatestCallback(function (evt) {\n setFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);\n });\n var handleBlur = useLatestCallback(function (event) {\n var relatedTarget = event.relatedTarget; // 拦截 clear 情况 触发 input 失焦\n\n if (clearElementRef.current && clearElementRef.current === relatedTarget) {\n return;\n }\n\n setFocused(false); // amount 自动添加小数\n\n if (type === 'amount') {\n event.target.value = formatAmount(value, true);\n handleChange(event, trimValueOnBlur);\n } else if (trimValueOnBlur) {\n handleChange(event, true);\n }\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n });\n var nativeInputProps = useMemo(function () {\n return {\n name: name,\n disabled: disabled,\n readOnly: readOnly,\n autoFocus: autoFocus,\n placeholder: placeholder,\n maxLength: maxLength,\n 'data-focused': setAttrStatus(focused)\n };\n }, [disabled, readOnly, autoFocus, placeholder, maxLength, name, focused]);\n var getInputProps = useCallback(function () {\n return Object.assign(Object.assign({}, nativeInputProps), {\n value: format(value, type),\n onChange: handleChange,\n onFocus: handleFocus,\n onBlur: handleBlur\n });\n }, [value, type, handleChange, handleFocus, handleBlur, nativeInputProps]);\n return {\n focused: focused,\n value: value,\n tryChangeValue: tryChangeValue,\n getInputProps: getInputProps\n };\n};\n\nexport { useInput };\n//# sourceMappingURL=use-input.js.map\n"],"names":["useInput","_ref","name","autoFocus","_ref$autoFocus","disabled","_ref$disabled","readOnly","_ref$readOnly","maxLength","placeholder","defaultValue","_ref$defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","_ref$trimValueOnBlur","type","_ref$type","clearElementRef","useUncontrolledState","Object","is","_useUncontrolledState","tryChangeValue","handleChange","useCallback","evt","trim","nextValue","valueTrue","pure","format","useState","focused","_useState","setFocused","handleFocus","useLatestCallback","handleBlur","event","relatedTarget","formatAmount","nativeInputProps","useMemo","setAttrStatus","getInputProps"],"mappings":"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"}
|
@@ -0,0 +1,202 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tree-select
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tree-select#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
|
+
/** @LICENSE
|
16
|
+
* @hi-ui/input
|
17
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
|
18
|
+
*
|
19
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
20
|
+
*
|
21
|
+
* This source code is licensed under the MIT license found in the
|
22
|
+
* LICENSE file in the root directory of this source tree.
|
23
|
+
*/
|
24
|
+
|
25
|
+
/**
|
26
|
+
* 格式化身份证
|
27
|
+
*/
|
28
|
+
|
29
|
+
var formatId = function formatId(val) {
|
30
|
+
val = val.replace(/[^a-zA-Z0-9]/g, '');
|
31
|
+
var len = val.length;
|
32
|
+
|
33
|
+
if (val === '' || len < 7) {
|
34
|
+
return val;
|
35
|
+
}
|
36
|
+
|
37
|
+
if (len < 11) {
|
38
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10);
|
39
|
+
} else if (len < 15) {
|
40
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14);
|
41
|
+
} else {
|
42
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14) + ' ' + val.slice(14, 18);
|
43
|
+
}
|
44
|
+
};
|
45
|
+
|
46
|
+
var pureId = function pureId(val) {
|
47
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
48
|
+
return tmp.slice(0, 18);
|
49
|
+
};
|
50
|
+
/**
|
51
|
+
* 格式化手机号
|
52
|
+
*/
|
53
|
+
|
54
|
+
|
55
|
+
var formatTel = function formatTel(val) {
|
56
|
+
val = val.replace(/\D/g, '');
|
57
|
+
var len = val.length;
|
58
|
+
|
59
|
+
if (val === '' || len < 4) {
|
60
|
+
return val;
|
61
|
+
}
|
62
|
+
|
63
|
+
if (len < 8) {
|
64
|
+
return val.slice(0, 3) + ' ' + val.slice(3, 7);
|
65
|
+
} else {
|
66
|
+
return val.slice(0, 3) + ' ' + val.slice(3, 7) + ' ' + val.slice(7, 11);
|
67
|
+
}
|
68
|
+
};
|
69
|
+
|
70
|
+
var pureTel = function pureTel(val) {
|
71
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
72
|
+
return tmp.slice(0, 11);
|
73
|
+
};
|
74
|
+
/**
|
75
|
+
* 格式化银行卡号
|
76
|
+
*/
|
77
|
+
|
78
|
+
|
79
|
+
var formatCard = function formatCard(val) {
|
80
|
+
val = val.replace(/\D/g, '');
|
81
|
+
var len = val.length;
|
82
|
+
|
83
|
+
if (val === '' || val.length < 5) {
|
84
|
+
return val;
|
85
|
+
}
|
86
|
+
|
87
|
+
if (len < 9) {
|
88
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8);
|
89
|
+
} else if (len < 13) {
|
90
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12);
|
91
|
+
} else if (len < 17) {
|
92
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16);
|
93
|
+
} else {
|
94
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16) + ' ' + val.slice(16, 19);
|
95
|
+
}
|
96
|
+
};
|
97
|
+
|
98
|
+
var pureCard = function pureCard(val) {
|
99
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
100
|
+
return tmp.slice(0, 19);
|
101
|
+
};
|
102
|
+
/**
|
103
|
+
* 金额自动生成小数
|
104
|
+
* @param {string} val 需要处理的值
|
105
|
+
*/
|
106
|
+
|
107
|
+
|
108
|
+
var formatAmount = function formatAmount(val, fill) {
|
109
|
+
if (fill === void 0) {
|
110
|
+
fill = false;
|
111
|
+
}
|
112
|
+
|
113
|
+
val = val.replace(/[^\d|.|,]/g, '').replace(/(\.\d*?)(\.|,).*/, function (_, $1) {
|
114
|
+
return $1;
|
115
|
+
});
|
116
|
+
|
117
|
+
if (fill) {
|
118
|
+
if (!val) return val;
|
119
|
+
return val.indexOf('.') > -1 ? val : val + '.00';
|
120
|
+
}
|
121
|
+
|
122
|
+
return val;
|
123
|
+
};
|
124
|
+
|
125
|
+
var pureAmount = function pureAmount(val) {
|
126
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
127
|
+
return tmp;
|
128
|
+
};
|
129
|
+
|
130
|
+
var formatEmail = function formatEmail(val) {
|
131
|
+
return val.replace(/\W/g, '');
|
132
|
+
};
|
133
|
+
|
134
|
+
var pureEmail = function pureEmail(val) {
|
135
|
+
return val;
|
136
|
+
};
|
137
|
+
/**
|
138
|
+
* 输入规则
|
139
|
+
*/
|
140
|
+
|
141
|
+
|
142
|
+
var format = function format(val, type) {
|
143
|
+
switch (type) {
|
144
|
+
case 'id':
|
145
|
+
return formatId(val);
|
146
|
+
|
147
|
+
case 'tel':
|
148
|
+
return formatTel(val);
|
149
|
+
|
150
|
+
case 'card':
|
151
|
+
return formatCard(val);
|
152
|
+
|
153
|
+
case 'email':
|
154
|
+
return formatEmail(val);
|
155
|
+
|
156
|
+
case 'amount':
|
157
|
+
return formatAmount(val);
|
158
|
+
|
159
|
+
default:
|
160
|
+
return val;
|
161
|
+
}
|
162
|
+
};
|
163
|
+
/**
|
164
|
+
* 净化规则
|
165
|
+
*/
|
166
|
+
|
167
|
+
|
168
|
+
var pure = function pure(val, type) {
|
169
|
+
switch (type) {
|
170
|
+
case 'id':
|
171
|
+
return pureId(val);
|
172
|
+
|
173
|
+
case 'tel':
|
174
|
+
return pureTel(val);
|
175
|
+
|
176
|
+
case 'card':
|
177
|
+
return pureCard(val);
|
178
|
+
|
179
|
+
case 'email':
|
180
|
+
return pureEmail(val);
|
181
|
+
|
182
|
+
case 'amount':
|
183
|
+
return pureAmount(val);
|
184
|
+
|
185
|
+
default:
|
186
|
+
return val;
|
187
|
+
}
|
188
|
+
};
|
189
|
+
|
190
|
+
exports.format = format;
|
191
|
+
exports.formatAmount = formatAmount;
|
192
|
+
exports.formatCard = formatCard;
|
193
|
+
exports.formatEmail = formatEmail;
|
194
|
+
exports.formatId = formatId;
|
195
|
+
exports.formatTel = formatTel;
|
196
|
+
exports.pure = pure;
|
197
|
+
exports.pureAmount = pureAmount;
|
198
|
+
exports.pureCard = pureCard;
|
199
|
+
exports.pureEmail = pureEmail;
|
200
|
+
exports.pureId = pureId;
|
201
|
+
exports.pureTel = pureTel;
|
202
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../input/lib/esm/utils/index.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * 格式化身份证\n */\nvar formatId = function formatId(val) {\n val = val.replace(/[^a-zA-Z0-9]/g, '');\n var len = val.length;\n\n if (val === '' || len < 7) {\n return val;\n }\n\n if (len < 11) {\n return val.slice(0, 6) + ' ' + val.slice(6, 10);\n } else if (len < 15) {\n return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14);\n } else {\n return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14) + ' ' + val.slice(14, 18);\n }\n};\n\nvar pureId = function pureId(val) {\n var tmp = val.replace(/[^\\d|.]/g, '');\n return tmp.slice(0, 18);\n};\n/**\n * 格式化手机号\n */\n\n\nvar formatTel = function formatTel(val) {\n val = val.replace(/\\D/g, '');\n var len = val.length;\n\n if (val === '' || len < 4) {\n return val;\n }\n\n if (len < 8) {\n return val.slice(0, 3) + ' ' + val.slice(3, 7);\n } else {\n return val.slice(0, 3) + ' ' + val.slice(3, 7) + ' ' + val.slice(7, 11);\n }\n};\n\nvar pureTel = function pureTel(val) {\n var tmp = val.replace(/[^\\d|.]/g, '');\n return tmp.slice(0, 11);\n};\n/**\n * 格式化银行卡号\n */\n\n\nvar formatCard = function formatCard(val) {\n val = val.replace(/\\D/g, '');\n var len = val.length;\n\n if (val === '' || val.length < 5) {\n return val;\n }\n\n if (len < 9) {\n return val.slice(0, 4) + ' ' + val.slice(4, 8);\n } else if (len < 13) {\n return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12);\n } else if (len < 17) {\n return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16);\n } else {\n return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16) + ' ' + val.slice(16, 19);\n }\n};\n\nvar pureCard = function pureCard(val) {\n var tmp = val.replace(/[^\\d|.]/g, '');\n return tmp.slice(0, 19);\n};\n/**\n * 金额自动生成小数\n * @param {string} val 需要处理的值\n */\n\n\nvar formatAmount = function formatAmount(val, fill) {\n if (fill === void 0) {\n fill = false;\n }\n\n val = val.replace(/[^\\d|.|,]/g, '').replace(/(\\.\\d*?)(\\.|,).*/, function (_, $1) {\n return $1;\n });\n\n if (fill) {\n if (!val) return val;\n return val.indexOf('.') > -1 ? val : val + '.00';\n }\n\n return val;\n};\n\nvar pureAmount = function pureAmount(val) {\n var tmp = val.replace(/[^\\d|.]/g, '');\n return tmp;\n};\n\nvar formatEmail = function formatEmail(val) {\n return val.replace(/\\W/g, '');\n};\n\nvar pureEmail = function pureEmail(val) {\n return val;\n};\n/**\n * 输入规则\n */\n\n\nvar format = function format(val, type) {\n switch (type) {\n case 'id':\n return formatId(val);\n\n case 'tel':\n return formatTel(val);\n\n case 'card':\n return formatCard(val);\n\n case 'email':\n return formatEmail(val);\n\n case 'amount':\n return formatAmount(val);\n\n default:\n return val;\n }\n};\n/**\n * 净化规则\n */\n\n\nvar pure = function pure(val, type) {\n switch (type) {\n case 'id':\n return pureId(val);\n\n case 'tel':\n return pureTel(val);\n\n case 'card':\n return pureCard(val);\n\n case 'email':\n return pureEmail(val);\n\n case 'amount':\n return pureAmount(val);\n\n default:\n return val;\n }\n};\n\nexport { format, formatAmount, formatCard, formatEmail, formatId, formatTel, pure, pureAmount, pureCard, pureEmail, pureId, pureTel };\n//# sourceMappingURL=index.js.map\n"],"names":["formatId","val","len","length","pureId","tmp","formatTel","pureTel","formatCard","pureCard","formatAmount","fill","replace","_","$1","pureAmount","formatEmail","pureEmail","format","type","pure"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;IAGaA,QAAQ,GAAG,SAAXA,QAAW,CAAAC,GAAA,EAAA;AACtBA,EAAAA,GAAG,GAAGA,GAAG,CAAHA,OAAAA,CAAAA,eAAAA,EAANA,EAAMA,CAANA;MACMC,GAAG,GAAGD,GAAG,CAACE;;MAEZF,GAAG,KAAHA,EAAAA,IAAcC,GAAG,GAAG,GAAG;WAClBD;;;MAGLC,GAAG,GAAG,IAAI;WACLD,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAAwBA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,EAAAA;SAC1B,IAAIC,GAAG,GAAP,EAAA,EAAc;WACZD,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAAwBA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAxBA,EAAwBA,CAAxBA,GAAAA,GAAAA,GAAiDA,GAAG,CAAHA,KAAAA,CAAAA,EAAAA,EAAAA,EAAAA;AADnD,GAAA,MAEA;WAEHA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAAwBA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAxBA,EAAwBA,CAAxBA,GAAAA,GAAAA,GAAiDA,GAAG,CAAHA,KAAAA,CAAAA,EAAAA,EAAjDA,EAAiDA,CAAjDA,GAAAA,GAAAA,GAA2EA,GAAG,CAAHA,KAAAA,CAAAA,EAAAA,EAAAA,EAAAA;;;;IAKpEG,MAAM,GAAG,SAATA,MAAS,CAAAH,GAAA,EAAA;MACdI,GAAG,GAAGJ,GAAG,CAAHA,OAAAA,CAAAA,UAAAA,EAAAA,EAAAA;SACLI,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,EAAAA;;AAGT;;;;;IAGaC,SAAS,GAAG,SAAZA,SAAY,CAAAL,GAAA,EAAA;AACvBA,EAAAA,GAAG,GAAGA,GAAG,CAAHA,OAAAA,CAAAA,KAAAA,EAANA,EAAMA,CAANA;MACMC,GAAG,GAAGD,GAAG,CAACE;;MAEZF,GAAG,KAAHA,EAAAA,IAAcC,GAAG,GAAG,GAAG;WAClBD;;;MAGLC,GAAG,GAAG,GAAG;WACJD,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAAwBA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA;SAC1B;WACEA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAAwBA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAxBA,CAAwBA,CAAxBA,GAAAA,GAAAA,GAAgDA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,EAAAA;;;;IAI9CM,OAAO,GAAG,SAAVA,OAAU,CAAAN,GAAA,EAAA;MACfI,GAAG,GAAGJ,GAAG,CAAHA,OAAAA,CAAAA,UAAAA,EAAAA,EAAAA;SACLI,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,EAAAA;;AAGT;;;;;IAGaG,UAAU,GAAG,SAAbA,UAAa,CAAAP,GAAA,EAAA;AACxBA,EAAAA,GAAG,GAAGA,GAAG,CAAHA,OAAAA,CAAAA,KAAAA,EAANA,EAAMA,CAANA;MACMC,GAAG,GAAGD,GAAG,CAACE;;MAEZF,GAAG,KAAHA,EAAAA,IAAcA,GAAG,CAAHA,MAAAA,GAAa,GAAG;WACzBA;;;MAGLC,GAAG,GAAG,GAAG;WACJD,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAAwBA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA;SAC1B,IAAIC,GAAG,GAAP,EAAA,EAAc;WACZD,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAAwBA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAxBA,CAAwBA,CAAxBA,GAAAA,GAAAA,GAAgDA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,EAAAA;AADlD,GAAA,MAEA,IAAIC,GAAG,GAAP,EAAA,EAAc;WAEjBD,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAAwBA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAxBA,CAAwBA,CAAxBA,GAAAA,GAAAA,GAAgDA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAhDA,EAAgDA,CAAhDA,GAAAA,GAAAA,GAAyEA,GAAG,CAAHA,KAAAA,CAAAA,EAAAA,EAAAA,EAAAA;AAFtE,GAAA,MAIA;WAEHA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAAAA,GAAAA,GAEAA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAFAA,CAEAA,CAFAA,GAAAA,GAAAA,GAIAA,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAJAA,EAIAA,CAJAA,GAAAA,GAAAA,GAMAA,GAAG,CAAHA,KAAAA,CAAAA,EAAAA,EANAA,EAMAA,CANAA,GAAAA,GAAAA,GAQAA,GAAG,CAAHA,KAAAA,CAAAA,EAAAA,EAAAA,EAAAA;;;;IAKOQ,QAAQ,GAAG,SAAXA,QAAW,CAAAR,GAAA,EAAA;MAChBI,GAAG,GAAGJ,GAAG,CAAHA,OAAAA,CAAAA,UAAAA,EAAAA,EAAAA;SACLI,GAAG,CAAHA,KAAAA,CAAAA,CAAAA,EAAAA,EAAAA;;AAGT;;;;;;IAIaK,YAAY,GAAG,SAAfA,YAAe,CAAAT,GAAA,EAAAU,IAAA,EAAA;MAAcA,IAAAA,KAAAA,KAAAA,GAAAA;AAAAA,IAAAA,IAAAA,GAAAA,KAAAA;;;AACxCV,EAAAA,GAAG,GAAGA,GAAG,CAAHW,OAAA,CAAA,YAAA,EAAA,EAAA,EAAAA,OAAA,CAAA,kBAAA,EAA0D,UAAAC,CAAA,EAAAC,EAAA,EAAA;WAAWA;AAArE,GAAA,CAANb;;MAEIU,MAAM;QACJ,CAACV,KAAK,OAAAA,GAAA;WACHA,GAAG,CAAHA,OAAAA,CAAAA,GAAAA,IAAmB,CAAnBA,CAAAA,GAAAA,GAAAA,GAA8BA,GAAG,GAAG;;;SAGtCA;;;IAGIc,UAAU,GAAG,SAAbA,UAAa,CAAAd,GAAA,EAAA;MAClBI,GAAG,GAAGJ,GAAG,CAAHA,OAAAA,CAAAA,UAAAA,EAAAA,EAAAA;SACLI;;;IAGIW,WAAW,GAAG,SAAdA,WAAc,CAAAf,GAAA,EAAA;SAClBA,GAAG,CAAHA,OAAAA,CAAAA,KAAAA,EAAAA,EAAAA;;;IAGIgB,SAAS,GAAG,SAAZA,SAAY,CAAAhB,GAAA,EAAA;SAChBA;;AAGT;;;;;IAGaiB,MAAM,GAAG,SAATA,MAAS,CAAAjB,GAAA,EAAAkB,IAAA,EAAA;UACZA;SACD;aACInB,QAAQ,CAAAC,GAAA;;SACZ;aACIK,SAAS,CAAAL,GAAA;;SACb;aACIO,UAAU,CAAAP,GAAA;;SACd;aACIe,WAAW,CAAAf,GAAA;;SACf;aACIS,YAAY,CAAAT,GAAA;;;aAEZA;;;AAIb;;;;;IAGamB,IAAI,GAAG,SAAPA,IAAO,CAAAnB,GAAA,EAAAkB,IAAA,EAAA;UACVA;SACD;aACIf,MAAM,CAAAH,GAAA;;SACV;aACIM,OAAO,CAAAN,GAAA;;SACX;aACIQ,QAAQ,CAAAR,GAAA;;SACZ;aACIgB,SAAS,CAAAhB,GAAA;;SACb;aACIc,UAAU,CAAAd,GAAA;;;aAEVA;;;;;;;;;;;;;;;"}
|
@@ -37,8 +37,6 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
37
37
|
role = _a$role === void 0 ? 'input' : _a$role,
|
38
38
|
className = _a.className,
|
39
39
|
style = _a.style,
|
40
|
-
_a$type = _a.type,
|
41
|
-
type = _a$type === void 0 ? 'text' : _a$type,
|
42
40
|
_a$size = _a.size,
|
43
41
|
size = _a$size === void 0 ? 'md' : _a$size,
|
44
42
|
_a$appearance = _a.appearance,
|
@@ -65,7 +63,8 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
65
63
|
onFocus = _a.onFocus,
|
66
64
|
onBlur = _a.onBlur,
|
67
65
|
trimValueOnBlur = _a.trimValueOnBlur,
|
68
|
-
|
66
|
+
type = _a.type,
|
67
|
+
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
|
69
68
|
|
70
69
|
|
71
70
|
var _useMemo = useMemo(function () {
|
@@ -100,8 +99,10 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
100
99
|
if (!onChange) return;
|
101
100
|
onChangeMock(onChange, evt, inputElementRef.current, value);
|
102
101
|
}, [onChange]);
|
102
|
+
var clearElementRef = useRef(null);
|
103
103
|
|
104
104
|
var _useInput = useInput({
|
105
|
+
clearElementRef: clearElementRef,
|
105
106
|
name: name,
|
106
107
|
autoFocus: autoFocus,
|
107
108
|
disabled: disabled,
|
@@ -113,7 +114,8 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
113
114
|
onChange: proxyOnChange,
|
114
115
|
onFocus: onFocus,
|
115
116
|
onBlur: onBlur,
|
116
|
-
trimValueOnBlur: trimValueOnBlur
|
117
|
+
trimValueOnBlur: trimValueOnBlur,
|
118
|
+
type: type
|
117
119
|
}),
|
118
120
|
tryChangeValue = _useInput.tryChangeValue,
|
119
121
|
focused = _useInput.focused,
|
@@ -162,6 +164,7 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
162
164
|
}, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement("span", {
|
163
165
|
className: prefixCls + "__suffix"
|
164
166
|
}, showClearableIcon ? /*#__PURE__*/React.createElement("span", {
|
167
|
+
ref: clearElementRef,
|
165
168
|
className: cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
|
166
169
|
role: "button",
|
167
170
|
tabIndex: -1,
|
@@ -195,13 +198,13 @@ function onChangeMock(onChange, evt, target, targetValue) {
|
|
195
198
|
event.target = target;
|
196
199
|
event.currentTarget = target;
|
197
200
|
target.value = targetValue;
|
198
|
-
onChange(event); // 重置为之前值
|
201
|
+
onChange(event, targetValue); // 重置为之前值
|
199
202
|
|
200
203
|
target.value = originalTargetValue;
|
201
204
|
return;
|
202
205
|
}
|
203
206
|
|
204
|
-
onChange(event);
|
207
|
+
onChange(event, targetValue);
|
205
208
|
}
|
206
209
|
|
207
210
|
export { Input, onChangeMock };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../../../../../input/lib/esm/Input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { __rest } from 'tslib';\nimport React, { forwardRef, useMemo, isValidElement, useRef, useCallback, useState } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useMergeRefs } from '@hi-ui/use-merge-refs';\nimport { CloseCircleFilled } from '@hi-ui/icons';\nimport { useInput } from './use-input.js';\n\nvar _prefix = getPrefixCls('input');\n/**\n * TODO: What is Input\n */\n\n\nvar Input = /*#__PURE__*/forwardRef(function (_a, ref) {\n var _a$prefixCls = _a.prefixCls,\n prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,\n _a$role = _a.role,\n role = _a$role === void 0 ? 'input' : _a$role,\n className = _a.className,\n style = _a.style,\n _a$type = _a.type,\n type = _a$type === void 0 ? 'text' : _a$type,\n _a$size = _a.size,\n size = _a$size === void 0 ? 'md' : _a$size,\n _a$appearance = _a.appearance,\n appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,\n prepend = _a.prepend,\n append = _a.append,\n prefix = _a.prefix,\n suffix = _a.suffix,\n _a$clearableTrigger = _a.clearableTrigger,\n clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,\n _a$clearable = _a.clearable,\n clearable = _a$clearable === void 0 ? false : _a$clearable,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n name = _a.name,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n maxLength = _a.maxLength,\n placeholder = _a.placeholder,\n defaultValue = _a.defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n trimValueOnBlur = _a.trimValueOnBlur,\n 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\n\n\n var _useMemo = useMemo(function () {\n var shouldUnset = [false, false]; // @ts-ignore\n // @ts-ignore\n\n if ( /*#__PURE__*/isValidElement(prepend) && ['Select', 'Button'].includes(prepend.type.HiName)) {\n shouldUnset[0] = true;\n } // @ts-ignore\n // @ts-ignore\n\n\n if ( /*#__PURE__*/isValidElement(append) && ['Select', 'Button'].includes(append.type.HiName)) {\n shouldUnset[1] = true;\n }\n\n return shouldUnset;\n }, [prepend, append]),\n unsetPrepend = _useMemo[0],\n unsetAppend = _useMemo[1];\n\n var inputElementRef = useRef(null);\n var proxyOnChange = useCallback(function (value, evt) {\n if (!onChange) return;\n onChangeMock(onChange, evt, inputElementRef.current, value);\n }, [onChange]);\n\n var _useInput = useInput({\n name: name,\n autoFocus: autoFocus,\n disabled: disabled,\n readOnly: readOnly,\n maxLength: maxLength,\n placeholder: placeholder,\n defaultValue: defaultValue,\n value: valueProp,\n onChange: proxyOnChange,\n onFocus: onFocus,\n onBlur: onBlur,\n trimValueOnBlur: trimValueOnBlur\n }),\n tryChangeValue = _useInput.tryChangeValue,\n focused = _useInput.focused,\n value = _useInput.value,\n getInputProps = _useInput.getInputProps;\n\n var focus = useCallback(function () {\n var _a;\n\n (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }, []);\n var handleReset = useCallback(function (evt) {\n tryChangeValue('', evt);\n focus();\n }, [tryChangeValue, focus]);\n\n var _useState = useState(false),\n hover = _useState[0],\n setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚\n\n\n var showClearableIcon = clearable && !!value && !disabled;\n var mergedRef = useMergeRefs(ref, inputElementRef);\n var cls = cx(className, prefixCls + \"__outer\", prepend && prefixCls + \"__outer--prepend\", prepend && unsetPrepend && prefixCls + \"__outer--prepend-unset\", append && prefixCls + \"__outer--append\", append && unsetAppend && prefixCls + \"__outer--append-unset\", prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size);\n return /*#__PURE__*/React.createElement(\"div\", {\n role: role,\n className: cls,\n style: style\n }, prepend ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__prepend\"\n }, prepend) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: cx(prefixCls + \"__inner\", prefix && prefixCls + \"__inner--prefix\", suffix && prefixCls + \"__inner--suffix\", // TODO: bem规范统一\n focused && \"focused\", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),\n onMouseOver: function onMouseOver(e) {\n setHover(true);\n },\n onMouseLeave: function onMouseLeave(e) {\n setHover(false);\n }\n }, prefix ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__prefix\"\n }, prefix) : null, /*#__PURE__*/React.createElement(\"input\", Object.assign({\n ref: mergedRef,\n className: cx(prefixCls, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly'),\n type: type\n }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__suffix\"\n }, showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: cx(prefixCls + \"__clear\", (clearableTrigger === 'always' || hover) && 'active'),\n role: \"button\",\n tabIndex: -1,\n onClick: handleReset\n }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__append\"\n }, append) : null);\n});\n\nif (__DEV__) {\n Input.displayName = 'Input';\n}\n/**\n * 模拟伪装目标事件 target\n *\n * @param target\n * @param evt\n * @param onChange\n * @param targetValue\n * @returns\n */\n\n\nfunction onChangeMock(onChange, evt, target, targetValue) {\n var event = evt; // 点击 clearIcon 或者 失焦 trim 时,都会代理 onChange 的事件对象 target 指向 input.target\n\n if (evt.type !== 'change') {\n if (!target) return;\n var originalTargetValue = target.value;\n event = Object.create(evt);\n event.target = target;\n event.currentTarget = target;\n target.value = targetValue;\n onChange(event); // 重置为之前值\n\n target.value = originalTargetValue;\n return;\n }\n\n onChange(event);\n}\n\nexport { Input, onChangeMock };\n//# sourceMappingURL=Input.js.map\n"],"names":["_prefix","getPrefixCls","Input","forwardRef","_a","ref","prefixCls","role","_a$role","className","style","type","_a$type","size","_a$size","appearance","_a$appearance","prepend","append","prefix","suffix","clearableTrigger","_a$clearableTrigger","clearable","_a$clearable","invalid","_a$invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","_useMemo","unsetAppend","inputElementRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","useInput","tryChangeValue","_useInput","focused","getInputProps","focus","handleReset","useState","hover","_useState","setHover","showClearableIcon","mergedRef","useMergeRefs","cls","cx","React","onMouseOver","e","onMouseLeave","tabIndex","onClick","__DEV__","target","targetValue","event","originalTargetValue","Object"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../../../../../input/lib/esm/Input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { __rest } from 'tslib';\nimport React, { forwardRef, useMemo, isValidElement, useRef, useCallback, useState } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useMergeRefs } from '@hi-ui/use-merge-refs';\nimport { CloseCircleFilled } from '@hi-ui/icons';\nimport { useInput } from './use-input.js';\n\nvar _prefix = getPrefixCls('input');\n/**\n * TODO: What is Input\n */\n\n\nvar Input = /*#__PURE__*/forwardRef(function (_a, ref) {\n var _a$prefixCls = _a.prefixCls,\n prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,\n _a$role = _a.role,\n role = _a$role === void 0 ? 'input' : _a$role,\n className = _a.className,\n style = _a.style,\n _a$size = _a.size,\n size = _a$size === void 0 ? 'md' : _a$size,\n _a$appearance = _a.appearance,\n appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,\n prepend = _a.prepend,\n append = _a.append,\n prefix = _a.prefix,\n suffix = _a.suffix,\n _a$clearableTrigger = _a.clearableTrigger,\n clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,\n _a$clearable = _a.clearable,\n clearable = _a$clearable === void 0 ? false : _a$clearable,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n name = _a.name,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n maxLength = _a.maxLength,\n placeholder = _a.placeholder,\n defaultValue = _a.defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n trimValueOnBlur = _a.trimValueOnBlur,\n type = _a.type,\n 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\n\n\n var _useMemo = useMemo(function () {\n var shouldUnset = [false, false]; // @ts-ignore\n // @ts-ignore\n\n if ( /*#__PURE__*/isValidElement(prepend) && ['Select', 'Button'].includes(prepend.type.HiName)) {\n shouldUnset[0] = true;\n } // @ts-ignore\n // @ts-ignore\n\n\n if ( /*#__PURE__*/isValidElement(append) && ['Select', 'Button'].includes(append.type.HiName)) {\n shouldUnset[1] = true;\n }\n\n return shouldUnset;\n }, [prepend, append]),\n unsetPrepend = _useMemo[0],\n unsetAppend = _useMemo[1];\n\n var inputElementRef = useRef(null);\n var proxyOnChange = useCallback(function (value, evt) {\n if (!onChange) return;\n onChangeMock(onChange, evt, inputElementRef.current, value);\n }, [onChange]);\n var clearElementRef = useRef(null);\n\n var _useInput = useInput({\n clearElementRef: clearElementRef,\n name: name,\n autoFocus: autoFocus,\n disabled: disabled,\n readOnly: readOnly,\n maxLength: maxLength,\n placeholder: placeholder,\n defaultValue: defaultValue,\n value: valueProp,\n onChange: proxyOnChange,\n onFocus: onFocus,\n onBlur: onBlur,\n trimValueOnBlur: trimValueOnBlur,\n type: type\n }),\n tryChangeValue = _useInput.tryChangeValue,\n focused = _useInput.focused,\n value = _useInput.value,\n getInputProps = _useInput.getInputProps;\n\n var focus = useCallback(function () {\n var _a;\n\n (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }, []);\n var handleReset = useCallback(function (evt) {\n tryChangeValue('', evt);\n focus();\n }, [tryChangeValue, focus]);\n\n var _useState = useState(false),\n hover = _useState[0],\n setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚\n\n\n var showClearableIcon = clearable && !!value && !disabled;\n var mergedRef = useMergeRefs(ref, inputElementRef);\n var cls = cx(className, prefixCls + \"__outer\", prepend && prefixCls + \"__outer--prepend\", prepend && unsetPrepend && prefixCls + \"__outer--prepend-unset\", append && prefixCls + \"__outer--append\", append && unsetAppend && prefixCls + \"__outer--append-unset\", prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size);\n return /*#__PURE__*/React.createElement(\"div\", {\n role: role,\n className: cls,\n style: style\n }, prepend ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__prepend\"\n }, prepend) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: cx(prefixCls + \"__inner\", prefix && prefixCls + \"__inner--prefix\", suffix && prefixCls + \"__inner--suffix\", // TODO: bem规范统一\n focused && \"focused\", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),\n onMouseOver: function onMouseOver(e) {\n setHover(true);\n },\n onMouseLeave: function onMouseLeave(e) {\n setHover(false);\n }\n }, prefix ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__prefix\"\n }, prefix) : null, /*#__PURE__*/React.createElement(\"input\", Object.assign({\n ref: mergedRef,\n className: cx(prefixCls, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly'),\n type: type\n }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__suffix\"\n }, showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n ref: clearElementRef,\n className: cx(prefixCls + \"__clear\", (clearableTrigger === 'always' || hover) && 'active'),\n role: \"button\",\n tabIndex: -1,\n onClick: handleReset\n }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"__append\"\n }, append) : null);\n});\n\nif (__DEV__) {\n Input.displayName = 'Input';\n}\n/**\n * 模拟伪装目标事件 target\n *\n * @param target\n * @param evt\n * @param onChange\n * @param targetValue\n * @returns\n */\n\n\nfunction onChangeMock(onChange, evt, target, targetValue) {\n var event = evt; // 点击 clearIcon 或者 失焦 trim 时,都会代理 onChange 的事件对象 target 指向 input.target\n\n if (evt.type !== 'change') {\n if (!target) return;\n var originalTargetValue = target.value;\n event = Object.create(evt);\n event.target = target;\n event.currentTarget = target;\n target.value = targetValue;\n onChange(event, targetValue); // 重置为之前值\n\n target.value = originalTargetValue;\n return;\n }\n\n onChange(event, targetValue);\n}\n\nexport { Input, onChangeMock };\n//# sourceMappingURL=Input.js.map\n"],"names":["_prefix","getPrefixCls","Input","forwardRef","_a","ref","prefixCls","role","_a$role","className","style","size","_a$size","appearance","_a$appearance","prepend","append","prefix","suffix","clearableTrigger","_a$clearableTrigger","clearable","_a$clearable","invalid","_a$invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","type","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","_useMemo","unsetAppend","inputElementRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","clearElementRef","useInput","tryChangeValue","_useInput","focused","getInputProps","focus","handleReset","useState","hover","_useState","setHover","showClearableIcon","mergedRef","useMergeRefs","cls","cx","React","onMouseOver","e","onMouseLeave","tabIndex","onClick","__DEV__","target","targetValue","event","originalTargetValue","Object"],"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 '../../../../hooks/use-latest/lib/esm/index.js';
|
13
13
|
import { setAttrStatus } from '../../../../utils/dom-utils/lib/esm/index.js';
|
14
|
+
import { pure, format, formatAmount } from './utils/index.js';
|
14
15
|
/** @LICENSE
|
15
16
|
* @hi-ui/input
|
16
17
|
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
|
@@ -38,16 +39,34 @@ var useInput = function useInput(_ref) {
|
|
38
39
|
onFocus = _ref.onFocus,
|
39
40
|
onBlur = _ref.onBlur,
|
40
41
|
_ref$trimValueOnBlur = _ref.trimValueOnBlur,
|
41
|
-
trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur
|
42
|
+
trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur,
|
43
|
+
_ref$type = _ref.type,
|
44
|
+
type = _ref$type === void 0 ? 'text' : _ref$type,
|
45
|
+
clearElementRef = _ref.clearElementRef; // Object.is 避免 trimValueOnBlur 和 点击 clearIcon 触发 2 次相同的 onCHange
|
42
46
|
|
43
|
-
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),
|
47
|
+
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange, Object.is),
|
44
48
|
value = _useUncontrolledState[0],
|
45
49
|
tryChangeValue = _useUncontrolledState[1];
|
46
50
|
|
47
|
-
var handleChange = useCallback(function (evt) {
|
51
|
+
var handleChange = useCallback(function (evt, trim) {
|
52
|
+
if (trim === void 0) {
|
53
|
+
trim = false;
|
54
|
+
}
|
55
|
+
|
56
|
+
evt.persist();
|
48
57
|
var nextValue = evt.target.value;
|
49
|
-
|
50
|
-
|
58
|
+
var valueTrue = pure(nextValue, type); // 防溢出,保证 onChange 拿到的是值是最新的 formatted value
|
59
|
+
|
60
|
+
var value = format(nextValue, type);
|
61
|
+
|
62
|
+
if (trim) {
|
63
|
+
valueTrue = valueTrue.trim();
|
64
|
+
value = value.trim();
|
65
|
+
}
|
66
|
+
|
67
|
+
evt.target.value = value;
|
68
|
+
tryChangeValue(valueTrue, evt);
|
69
|
+
}, [tryChangeValue, type]);
|
51
70
|
|
52
71
|
var _useState = useState(autoFocus),
|
53
72
|
focused = _useState[0],
|
@@ -58,11 +77,19 @@ var useInput = function useInput(_ref) {
|
|
58
77
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);
|
59
78
|
});
|
60
79
|
var handleBlur = useLatestCallback(function (event) {
|
61
|
-
|
80
|
+
var relatedTarget = event.relatedTarget; // 拦截 clear 情况 触发 input 失焦
|
81
|
+
|
82
|
+
if (clearElementRef.current && clearElementRef.current === relatedTarget) {
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
|
86
|
+
setFocused(false); // amount 自动添加小数
|
62
87
|
|
63
|
-
if (
|
64
|
-
|
65
|
-
|
88
|
+
if (type === 'amount') {
|
89
|
+
event.target.value = formatAmount(value, true);
|
90
|
+
handleChange(event, trimValueOnBlur);
|
91
|
+
} else if (trimValueOnBlur) {
|
92
|
+
handleChange(event, true);
|
66
93
|
}
|
67
94
|
|
68
95
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
@@ -80,12 +107,12 @@ var useInput = function useInput(_ref) {
|
|
80
107
|
}, [disabled, readOnly, autoFocus, placeholder, maxLength, name, focused]);
|
81
108
|
var getInputProps = useCallback(function () {
|
82
109
|
return Object.assign(Object.assign({}, nativeInputProps), {
|
83
|
-
value: value,
|
110
|
+
value: format(value, type),
|
84
111
|
onChange: handleChange,
|
85
112
|
onFocus: handleFocus,
|
86
113
|
onBlur: handleBlur
|
87
114
|
});
|
88
|
-
}, [value, handleChange, handleFocus, handleBlur, nativeInputProps]);
|
115
|
+
}, [value, type, handleChange, handleFocus, handleBlur, nativeInputProps]);
|
89
116
|
return {
|
90
117
|
focused: focused,
|
91
118
|
value: value,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-input.js","sources":["../../../../../../../input/lib/esm/use-input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { useCallback, useState, useMemo } from 'react';\nimport { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';\nimport { useLatestCallback } from '@hi-ui/use-latest';\nimport { setAttrStatus } from '@hi-ui/dom-utils';\n\nvar useInput = function useInput(_ref) {\n var name = _ref.name,\n _ref$autoFocus = _ref.autoFocus,\n autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n maxLength = _ref.maxLength,\n placeholder = _ref.placeholder,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,\n valueProp = _ref.value,\n onChange = _ref.onChange,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n _ref$trimValueOnBlur = _ref.trimValueOnBlur,\n trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur
|
1
|
+
{"version":3,"file":"use-input.js","sources":["../../../../../../../input/lib/esm/use-input.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { useCallback, useState, useMemo } from 'react';\nimport { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';\nimport { useLatestCallback } from '@hi-ui/use-latest';\nimport { setAttrStatus } from '@hi-ui/dom-utils';\nimport { pure, format, formatAmount } from './utils/index.js';\n\nvar useInput = function useInput(_ref) {\n var name = _ref.name,\n _ref$autoFocus = _ref.autoFocus,\n autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n maxLength = _ref.maxLength,\n placeholder = _ref.placeholder,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,\n valueProp = _ref.value,\n onChange = _ref.onChange,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n _ref$trimValueOnBlur = _ref.trimValueOnBlur,\n trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'text' : _ref$type,\n clearElementRef = _ref.clearElementRef; // Object.is 避免 trimValueOnBlur 和 点击 clearIcon 触发 2 次相同的 onCHange\n\n var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange, Object.is),\n value = _useUncontrolledState[0],\n tryChangeValue = _useUncontrolledState[1];\n\n var handleChange = useCallback(function (evt, trim) {\n if (trim === void 0) {\n trim = false;\n }\n\n evt.persist();\n var nextValue = evt.target.value;\n var valueTrue = pure(nextValue, type); // 防溢出,保证 onChange 拿到的是值是最新的 formatted value\n\n var value = format(nextValue, type);\n\n if (trim) {\n valueTrue = valueTrue.trim();\n value = value.trim();\n }\n\n evt.target.value = value;\n tryChangeValue(valueTrue, evt);\n }, [tryChangeValue, type]);\n\n var _useState = useState(autoFocus),\n focused = _useState[0],\n setFocused = _useState[1];\n\n var handleFocus = useLatestCallback(function (evt) {\n setFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);\n });\n var handleBlur = useLatestCallback(function (event) {\n var relatedTarget = event.relatedTarget; // 拦截 clear 情况 触发 input 失焦\n\n if (clearElementRef.current && clearElementRef.current === relatedTarget) {\n return;\n }\n\n setFocused(false); // amount 自动添加小数\n\n if (type === 'amount') {\n event.target.value = formatAmount(value, true);\n handleChange(event, trimValueOnBlur);\n } else if (trimValueOnBlur) {\n handleChange(event, true);\n }\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n });\n var nativeInputProps = useMemo(function () {\n return {\n name: name,\n disabled: disabled,\n readOnly: readOnly,\n autoFocus: autoFocus,\n placeholder: placeholder,\n maxLength: maxLength,\n 'data-focused': setAttrStatus(focused)\n };\n }, [disabled, readOnly, autoFocus, placeholder, maxLength, name, focused]);\n var getInputProps = useCallback(function () {\n return Object.assign(Object.assign({}, nativeInputProps), {\n value: format(value, type),\n onChange: handleChange,\n onFocus: handleFocus,\n onBlur: handleBlur\n });\n }, [value, type, handleChange, handleFocus, handleBlur, nativeInputProps]);\n return {\n focused: focused,\n value: value,\n tryChangeValue: tryChangeValue,\n getInputProps: getInputProps\n };\n};\n\nexport { useInput };\n//# sourceMappingURL=use-input.js.map\n"],"names":["useInput","_ref","name","autoFocus","_ref$autoFocus","disabled","_ref$disabled","readOnly","_ref$readOnly","maxLength","placeholder","defaultValue","_ref$defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","_ref$trimValueOnBlur","type","_ref$type","clearElementRef","useUncontrolledState","Object","is","_useUncontrolledState","tryChangeValue","handleChange","useCallback","evt","trim","nextValue","valueTrue","pure","format","useState","focused","_useState","setFocused","handleFocus","useLatestCallback","handleBlur","event","relatedTarget","formatAmount","nativeInputProps","useMemo","setAttrStatus","getInputProps"],"mappings":"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"}
|
@@ -0,0 +1,186 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/tree-select
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/tree-select#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
|
+
/** @LICENSE
|
12
|
+
* @hi-ui/input
|
13
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
|
14
|
+
*
|
15
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
16
|
+
*
|
17
|
+
* This source code is licensed under the MIT license found in the
|
18
|
+
* LICENSE file in the root directory of this source tree.
|
19
|
+
*/
|
20
|
+
|
21
|
+
/**
|
22
|
+
* 格式化身份证
|
23
|
+
*/
|
24
|
+
var formatId = function formatId(val) {
|
25
|
+
val = val.replace(/[^a-zA-Z0-9]/g, '');
|
26
|
+
var len = val.length;
|
27
|
+
|
28
|
+
if (val === '' || len < 7) {
|
29
|
+
return val;
|
30
|
+
}
|
31
|
+
|
32
|
+
if (len < 11) {
|
33
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10);
|
34
|
+
} else if (len < 15) {
|
35
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14);
|
36
|
+
} else {
|
37
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14) + ' ' + val.slice(14, 18);
|
38
|
+
}
|
39
|
+
};
|
40
|
+
|
41
|
+
var pureId = function pureId(val) {
|
42
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
43
|
+
return tmp.slice(0, 18);
|
44
|
+
};
|
45
|
+
/**
|
46
|
+
* 格式化手机号
|
47
|
+
*/
|
48
|
+
|
49
|
+
|
50
|
+
var formatTel = function formatTel(val) {
|
51
|
+
val = val.replace(/\D/g, '');
|
52
|
+
var len = val.length;
|
53
|
+
|
54
|
+
if (val === '' || len < 4) {
|
55
|
+
return val;
|
56
|
+
}
|
57
|
+
|
58
|
+
if (len < 8) {
|
59
|
+
return val.slice(0, 3) + ' ' + val.slice(3, 7);
|
60
|
+
} else {
|
61
|
+
return val.slice(0, 3) + ' ' + val.slice(3, 7) + ' ' + val.slice(7, 11);
|
62
|
+
}
|
63
|
+
};
|
64
|
+
|
65
|
+
var pureTel = function pureTel(val) {
|
66
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
67
|
+
return tmp.slice(0, 11);
|
68
|
+
};
|
69
|
+
/**
|
70
|
+
* 格式化银行卡号
|
71
|
+
*/
|
72
|
+
|
73
|
+
|
74
|
+
var formatCard = function formatCard(val) {
|
75
|
+
val = val.replace(/\D/g, '');
|
76
|
+
var len = val.length;
|
77
|
+
|
78
|
+
if (val === '' || val.length < 5) {
|
79
|
+
return val;
|
80
|
+
}
|
81
|
+
|
82
|
+
if (len < 9) {
|
83
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8);
|
84
|
+
} else if (len < 13) {
|
85
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12);
|
86
|
+
} else if (len < 17) {
|
87
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16);
|
88
|
+
} else {
|
89
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16) + ' ' + val.slice(16, 19);
|
90
|
+
}
|
91
|
+
};
|
92
|
+
|
93
|
+
var pureCard = function pureCard(val) {
|
94
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
95
|
+
return tmp.slice(0, 19);
|
96
|
+
};
|
97
|
+
/**
|
98
|
+
* 金额自动生成小数
|
99
|
+
* @param {string} val 需要处理的值
|
100
|
+
*/
|
101
|
+
|
102
|
+
|
103
|
+
var formatAmount = function formatAmount(val, fill) {
|
104
|
+
if (fill === void 0) {
|
105
|
+
fill = false;
|
106
|
+
}
|
107
|
+
|
108
|
+
val = val.replace(/[^\d|.|,]/g, '').replace(/(\.\d*?)(\.|,).*/, function (_, $1) {
|
109
|
+
return $1;
|
110
|
+
});
|
111
|
+
|
112
|
+
if (fill) {
|
113
|
+
if (!val) return val;
|
114
|
+
return val.indexOf('.') > -1 ? val : val + '.00';
|
115
|
+
}
|
116
|
+
|
117
|
+
return val;
|
118
|
+
};
|
119
|
+
|
120
|
+
var pureAmount = function pureAmount(val) {
|
121
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
122
|
+
return tmp;
|
123
|
+
};
|
124
|
+
|
125
|
+
var formatEmail = function formatEmail(val) {
|
126
|
+
return val.replace(/\W/g, '');
|
127
|
+
};
|
128
|
+
|
129
|
+
var pureEmail = function pureEmail(val) {
|
130
|
+
return val;
|
131
|
+
};
|
132
|
+
/**
|
133
|
+
* 输入规则
|
134
|
+
*/
|
135
|
+
|
136
|
+
|
137
|
+
var format = function format(val, type) {
|
138
|
+
switch (type) {
|
139
|
+
case 'id':
|
140
|
+
return formatId(val);
|
141
|
+
|
142
|
+
case 'tel':
|
143
|
+
return formatTel(val);
|
144
|
+
|
145
|
+
case 'card':
|
146
|
+
return formatCard(val);
|
147
|
+
|
148
|
+
case 'email':
|
149
|
+
return formatEmail(val);
|
150
|
+
|
151
|
+
case 'amount':
|
152
|
+
return formatAmount(val);
|
153
|
+
|
154
|
+
default:
|
155
|
+
return val;
|
156
|
+
}
|
157
|
+
};
|
158
|
+
/**
|
159
|
+
* 净化规则
|
160
|
+
*/
|
161
|
+
|
162
|
+
|
163
|
+
var pure = function pure(val, type) {
|
164
|
+
switch (type) {
|
165
|
+
case 'id':
|
166
|
+
return pureId(val);
|
167
|
+
|
168
|
+
case 'tel':
|
169
|
+
return pureTel(val);
|
170
|
+
|
171
|
+
case 'card':
|
172
|
+
return pureCard(val);
|
173
|
+
|
174
|
+
case 'email':
|
175
|
+
return pureEmail(val);
|
176
|
+
|
177
|
+
case 'amount':
|
178
|
+
return pureAmount(val);
|
179
|
+
|
180
|
+
default:
|
181
|
+
return val;
|
182
|
+
}
|
183
|
+
};
|
184
|
+
|
185
|
+
export { format, formatAmount, formatCard, formatEmail, formatId, formatTel, pure, pureAmount, pureCard, pureEmail, pureId, pureTel };
|
186
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../input/lib/esm/utils/index.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/input\n * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * 格式化身份证\n */\nvar formatId = function formatId(val) {\n val = val.replace(/[^a-zA-Z0-9]/g, '');\n var len = val.length;\n\n if (val === '' || len < 7) {\n return val;\n }\n\n if (len < 11) {\n return val.slice(0, 6) + ' ' + val.slice(6, 10);\n } else if (len < 15) {\n return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14);\n } else {\n return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14) + ' ' + val.slice(14, 18);\n }\n};\n\nvar pureId = function pureId(val) {\n var tmp = val.replace(/[^\\d|.]/g, '');\n return tmp.slice(0, 18);\n};\n/**\n * 格式化手机号\n */\n\n\nvar formatTel = function formatTel(val) {\n val = val.replace(/\\D/g, '');\n var len = val.length;\n\n if (val === '' || len < 4) {\n return val;\n }\n\n if (len < 8) {\n return val.slice(0, 3) + ' ' + val.slice(3, 7);\n } else {\n return val.slice(0, 3) + ' ' + val.slice(3, 7) + ' ' + val.slice(7, 11);\n }\n};\n\nvar pureTel = function pureTel(val) {\n var tmp = val.replace(/[^\\d|.]/g, '');\n return tmp.slice(0, 11);\n};\n/**\n * 格式化银行卡号\n */\n\n\nvar formatCard = function formatCard(val) {\n val = val.replace(/\\D/g, '');\n var len = val.length;\n\n if (val === '' || val.length < 5) {\n return val;\n }\n\n if (len < 9) {\n return val.slice(0, 4) + ' ' + val.slice(4, 8);\n } else if (len < 13) {\n return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12);\n } else if (len < 17) {\n return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16);\n } else {\n return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16) + ' ' + val.slice(16, 19);\n }\n};\n\nvar pureCard = function pureCard(val) {\n var tmp = val.replace(/[^\\d|.]/g, '');\n return tmp.slice(0, 19);\n};\n/**\n * 金额自动生成小数\n * @param {string} val 需要处理的值\n */\n\n\nvar formatAmount = function formatAmount(val, fill) {\n if (fill === void 0) {\n fill = false;\n }\n\n val = val.replace(/[^\\d|.|,]/g, '').replace(/(\\.\\d*?)(\\.|,).*/, function (_, $1) {\n return $1;\n });\n\n if (fill) {\n if (!val) return val;\n return val.indexOf('.') > -1 ? val : val + '.00';\n }\n\n return val;\n};\n\nvar pureAmount = function pureAmount(val) {\n var tmp = val.replace(/[^\\d|.]/g, '');\n return tmp;\n};\n\nvar formatEmail = function formatEmail(val) {\n return val.replace(/\\W/g, '');\n};\n\nvar pureEmail = function pureEmail(val) {\n return val;\n};\n/**\n * 输入规则\n */\n\n\nvar format = function format(val, type) {\n switch (type) {\n case 'id':\n return formatId(val);\n\n case 'tel':\n return formatTel(val);\n\n case 'card':\n return formatCard(val);\n\n case 'email':\n return formatEmail(val);\n\n case 'amount':\n return formatAmount(val);\n\n default:\n return val;\n }\n};\n/**\n * 净化规则\n */\n\n\nvar pure = function pure(val, type) {\n switch (type) {\n case 'id':\n return pureId(val);\n\n case 'tel':\n return pureTel(val);\n\n case 'card':\n return pureCard(val);\n\n case 'email':\n return pureEmail(val);\n\n case 'amount':\n return pureAmount(val);\n\n default:\n return val;\n }\n};\n\nexport { format, formatAmount, formatCard, formatEmail, formatId, formatTel, pure, pureAmount, pureCard, pureEmail, pureId, pureTel };\n//# sourceMappingURL=index.js.map\n"],"names":["formatId","val","len","length","pureId","tmp","formatTel","pureTel","formatCard","pureCard","formatAmount","fill","replace","_","$1","pureAmount","formatEmail","pureEmail","format","type","pure"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hi-ui/tree-select",
|
3
|
-
"version": "4.0.0-alpha.
|
3
|
+
"version": "4.0.0-alpha.12",
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
5
5
|
"keywords": [],
|
6
6
|
"author": "HIUI <mi-hiui@xiaomi.com>",
|
@@ -48,11 +48,11 @@
|
|
48
48
|
"@hi-ui/core-css": "^4.0.0-alpha.10",
|
49
49
|
"@hi-ui/env": "^4.0.0-alpha.5",
|
50
50
|
"@hi-ui/highlighter": "^4.0.0-alpha.6",
|
51
|
-
"@hi-ui/icons": "^4.0.0-alpha.
|
52
|
-
"@hi-ui/picker": "^4.0.0-alpha.
|
51
|
+
"@hi-ui/icons": "^4.0.0-alpha.21",
|
52
|
+
"@hi-ui/picker": "^4.0.0-alpha.9",
|
53
53
|
"@hi-ui/popper": "^4.0.0-alpha.17",
|
54
|
-
"@hi-ui/tag-input": "^4.0.0-alpha.
|
55
|
-
"@hi-ui/tree": "^4.0.0-alpha.
|
54
|
+
"@hi-ui/tag-input": "^4.0.0-alpha.16",
|
55
|
+
"@hi-ui/tree": "^4.0.0-alpha.31",
|
56
56
|
"@hi-ui/tree-utils": "^4.0.0-alpha.8",
|
57
57
|
"@hi-ui/type-assertion": "^4.0.0-alpha.13",
|
58
58
|
"@hi-ui/use-search-mode": "^4.0.0-alpha.7",
|
@@ -69,5 +69,5 @@
|
|
69
69
|
"react": "^17.0.1",
|
70
70
|
"react-dom": "^17.0.1"
|
71
71
|
},
|
72
|
-
"gitHead": "
|
72
|
+
"gitHead": "209a1d91256b476c9d42e50d66da57709579e215"
|
73
73
|
}
|