@hi-ui/tree-select 4.0.0-alpha.5 → 4.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +87 -7
  2. package/lib/cjs/TreeSelect.js +29 -17
  3. package/lib/cjs/TreeSelect.js.map +1 -1
  4. package/lib/cjs/hooks/use-latest/lib/esm/index.js +65 -0
  5. package/lib/cjs/hooks/use-latest/lib/esm/index.js.map +1 -0
  6. package/lib/cjs/hooks/use-merge-refs/lib/esm/index.js +26 -10
  7. package/lib/cjs/hooks/use-merge-refs/lib/esm/index.js.map +1 -1
  8. package/lib/cjs/ui/input/lib/esm/Input.js +68 -83
  9. package/lib/cjs/ui/input/lib/esm/Input.js.map +1 -1
  10. package/lib/cjs/ui/input/lib/esm/MockInput.js +9 -6
  11. package/lib/cjs/ui/input/lib/esm/MockInput.js.map +1 -1
  12. package/lib/cjs/ui/input/lib/esm/styles/index.scss.js +1 -1
  13. package/lib/cjs/ui/input/lib/esm/use-input.js +139 -0
  14. package/lib/cjs/ui/input/lib/esm/use-input.js.map +1 -0
  15. package/lib/cjs/ui/input/lib/esm/utils/index.js +202 -0
  16. package/lib/cjs/ui/input/lib/esm/utils/index.js.map +1 -0
  17. package/lib/cjs/utils/dom-utils/lib/esm/index.js +34 -0
  18. package/lib/cjs/utils/dom-utils/lib/esm/index.js.map +1 -0
  19. package/lib/esm/TreeSelect.js +29 -18
  20. package/lib/esm/TreeSelect.js.map +1 -1
  21. package/lib/esm/hooks/use-latest/lib/esm/index.js +57 -0
  22. package/lib/esm/hooks/use-latest/lib/esm/index.js.map +1 -0
  23. package/lib/esm/hooks/use-merge-refs/lib/esm/index.js +26 -11
  24. package/lib/esm/hooks/use-merge-refs/lib/esm/index.js.map +1 -1
  25. package/lib/esm/ui/input/lib/esm/Input.js +67 -82
  26. package/lib/esm/ui/input/lib/esm/Input.js.map +1 -1
  27. package/lib/esm/ui/input/lib/esm/MockInput.js +9 -6
  28. package/lib/esm/ui/input/lib/esm/MockInput.js.map +1 -1
  29. package/lib/esm/ui/input/lib/esm/styles/index.scss.js +1 -1
  30. package/lib/esm/ui/input/lib/esm/use-input.js +128 -0
  31. package/lib/esm/ui/input/lib/esm/use-input.js.map +1 -0
  32. package/lib/esm/ui/input/lib/esm/utils/index.js +186 -0
  33. package/lib/esm/ui/input/lib/esm/utils/index.js.map +1 -0
  34. package/lib/esm/utils/dom-utils/lib/esm/index.js +29 -0
  35. package/lib/esm/utils/dom-utils/lib/esm/index.js.map +1 -0
  36. package/lib/types/TreeSelect.d.ts +6 -18
  37. package/package.json +21 -20
@@ -19,7 +19,7 @@ import { useMemo } from 'react';
19
19
  */
20
20
 
21
21
  /**
22
- * Merges multiple refs into a single function ref.
22
+ * A hook to merge multiple refs into a single function ref.
23
23
  *
24
24
  * @param refs
25
25
  */
@@ -30,17 +30,32 @@ var useMergeRefs = function useMergeRefs() {
30
30
  }
31
31
 
32
32
  return useMemo(function () {
33
- // Empty check
34
- if (refs.some(function (ref) {
35
- return ref;
36
- }) === false) return null;
37
- return function (value) {
38
- refs.forEach(function (ref) {
39
- setRef(ref, value);
40
- });
41
- }; // every ref will be dependent
33
+ return mergeRefs.apply(void 0, refs);
42
34
  }, refs);
43
35
  };
36
+ /**
37
+ * Merges multiple refs into a single function ref.
38
+ *
39
+ * @param refs
40
+ * @returns
41
+ */
42
+
43
+
44
+ function mergeRefs() {
45
+ for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
46
+ refs[_key2] = arguments[_key2];
47
+ } // Empty check
48
+
49
+
50
+ if (refs.some(function (ref) {
51
+ return ref;
52
+ }) === false) return null;
53
+ return function (value) {
54
+ refs.forEach(function (ref) {
55
+ setRef(ref, value);
56
+ });
57
+ };
58
+ }
44
59
 
45
60
  function setRef(ref, value) {
46
61
  if (typeof ref === 'function') {
@@ -50,5 +65,5 @@ function setRef(ref, value) {
50
65
  }
51
66
  }
52
67
 
53
- export { useMergeRefs };
68
+ export { mergeRefs, useMergeRefs };
54
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../../hooks/use-merge-refs/lib/esm/index.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/use-merge-refs\n * https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-merge-refs#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 { useMemo } from 'react';\n/**\n * Merges multiple refs into a single function ref.\n *\n * @param refs\n */\n\nvar useMergeRefs = function useMergeRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(function () {\n // Empty check\n if (refs.some(function (ref) {\n return ref;\n }) === false) return null;\n return function (value) {\n refs.forEach(function (ref) {\n setRef(ref, value);\n });\n }; // every ref will be dependent\n }, refs);\n};\n\nfunction setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport { useMergeRefs };\n//# sourceMappingURL=index.js.map\n"],"names":["useMergeRefs","refs","useMemo","some","ref","value","setRef"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA;;;;;;IAKaA,YAAY,GAAG,SAAfA,YAAe,GAAA;oCAAOC,IAAAA,GAAAA,IAAAA,KAAAA,CAAAA,IAAAA,GAAAA,IAAAA,GAAAA,GAAAA,IAAAA,GAAAA,MAAAA,IAAAA,IAAAA;AAAAA,IAAAA,IAAAA,CAAAA,IAAAA,CAAAA,GAAAA,SAAAA,CAAAA,IAAAA,CAAAA;;;SAC1BC,OAAO,CAAC,YAAA;;QAETD,IAAI,CAAJE,IAAA,CAAU,UAAAC,GAAA,EAAA;aAASA;AAAnB,KAAA,MAA4B,OAAO,OAAA,IAAA;WAEhC,UAAAC,KAAA,EAAA;AACLJ,MAAAA,IAAI,CAAJA,OAAAA,CAAa,UAAAG,GAAA,EAAA;AACXE,QAAAA,MAAM,CAAAF,GAAA,EAANE,KAAM,CAANA;AADFL,OAAAA;MALW;AAAD,GAAA,EAAAA,IAAA;;;AAahB,SAAAK,MAAA,CAAAF,GAAA,EAAAC,KAAA,EAAA;MACM,OAAAD,GAAA,KAAe,YAAY;AAC7BA,IAAAA,GAAG,CAAHA,KAAG,CAAHA;SACK,IAAAA,GAAA,EAAS;AACdA,IAAAA,GAAG,CAAHA,OAAAA,GAAAA,KAAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../hooks/use-merge-refs/lib/esm/index.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/use-merge-refs\n * https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-merge-refs#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 { useMemo } from 'react';\n/**\n * A hook to merge multiple refs into a single function ref.\n *\n * @param refs\n */\n\nvar useMergeRefs = function useMergeRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(function () {\n return mergeRefs.apply(void 0, refs);\n }, refs);\n};\n/**\n * Merges multiple refs into a single function ref.\n *\n * @param refs\n * @returns\n */\n\n\nfunction mergeRefs() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n } // Empty check\n\n\n if (refs.some(function (ref) {\n return ref;\n }) === false) return null;\n return function (value) {\n refs.forEach(function (ref) {\n setRef(ref, value);\n });\n };\n}\n\nfunction setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport { mergeRefs, useMergeRefs };\n//# sourceMappingURL=index.js.map\n"],"names":["useMergeRefs","refs","useMemo","mergeRefs","some","ref","value","setRef"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA;;;;;;IAKaA,YAAY,GAAG,SAAfA,YAAe,GAAA;oCAAOC,IAAAA,GAAAA,IAAAA,KAAAA,CAAAA,IAAAA,GAAAA,IAAAA,GAAAA,GAAAA,IAAAA,GAAAA,MAAAA,IAAAA,IAAAA;AAAAA,IAAAA,IAAAA,CAAAA,IAAAA,CAAAA,GAAAA,SAAAA,CAAAA,IAAAA,CAAAA;;;SAC1BC,OAAO,CAAC,YAAA;WAAMC,SAAS,CAATA,KAAAA,CAAAA,KAAAA,CAAAA,EAAAA,IAAAA;AAAP,GAAA,EAAAF,IAAA;;AAGhB;;;;;;;;SAMgBE,YAAAA;qCAAgBF,IAAAA,GAAAA,IAAAA,KAAAA,CAAAA,KAAAA,GAAAA,KAAAA,GAAAA,GAAAA,KAAAA,GAAAA,OAAAA,KAAAA,IAAAA;AAAAA,IAAAA,IAAAA,CAAAA,KAAAA,CAAAA,GAAAA,SAAAA,CAAAA,KAAAA,CAAAA;AAAhBE,GAAAA;;;MAEVF,IAAI,CAAJG,IAAA,CAAU,UAAAC,GAAA,EAAA;WAASA;AAAnB,GAAA,MAA4B,OAAO,OAAA,IAAA;SAEhC,UAAAC,KAAA,EAAA;AACLL,IAAAA,IAAI,CAAJA,OAAAA,CAAa,UAAAI,GAAA,EAAA;AACXE,MAAAA,MAAM,CAAAF,GAAA,EAANE,KAAM,CAANA;AADFN,KAAAA;;;;AAMJ,SAAAM,MAAA,CAAAF,GAAA,EAAAC,KAAA,EAAA;MACM,OAAAD,GAAA,KAAe,YAAY;AAC7BA,IAAAA,GAAG,CAAHA,KAAG,CAAHA;SACK,IAAAA,GAAA,EAAS;AACdA,IAAAA,GAAG,CAAHA,OAAAA,GAAAA,KAAAA;;;;"}
@@ -11,9 +11,9 @@ import { __rest } from 'tslib';
11
11
  import React, { forwardRef, useMemo, isValidElement, useRef, useCallback, useState } from 'react';
12
12
  import { getPrefixCls, cx } from '@hi-ui/classname';
13
13
  import { __DEV__ } from '@hi-ui/env';
14
- import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
15
14
  import { useMergeRefs } from '../../../../hooks/use-merge-refs/lib/esm/index.js';
16
15
  import { CloseCircleFilled } from '@hi-ui/icons';
16
+ import { useInput } from './use-input.js';
17
17
  /** @LICENSE
18
18
  * @hi-ui/input
19
19
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
@@ -26,7 +26,14 @@ import { CloseCircleFilled } from '@hi-ui/icons';
26
26
 
27
27
  var _prefix = getPrefixCls('input');
28
28
  /**
29
- * TODO: What is Input
29
+ * 输入框
30
+ *
31
+ * @TODO:
32
+ * 1. size api 确认
33
+ * 2. 修改类名结构
34
+ * 3. 支持带数字展示
35
+ * 4. InputGroup 模式支持
36
+ * 5. 手动聚焦支持额外配置
30
37
  */
31
38
 
32
39
 
@@ -37,40 +44,34 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
37
44
  role = _a$role === void 0 ? 'input' : _a$role,
38
45
  className = _a.className,
39
46
  style = _a.style,
40
- _a$autoFocus = _a.autoFocus,
41
- autoFocus = _a$autoFocus === void 0 ? false : _a$autoFocus,
42
- _a$disabled = _a.disabled,
43
- disabled = _a$disabled === void 0 ? false : _a$disabled,
44
- _a$readOnly = _a.readOnly,
45
- readOnly = _a$readOnly === void 0 ? false : _a$readOnly,
46
- name = _a.name,
47
- maxLength = _a.maxLength,
48
- _a$type = _a.type,
49
- type = _a$type === void 0 ? 'text' : _a$type,
50
47
  _a$size = _a.size,
51
48
  size = _a$size === void 0 ? 'md' : _a$size,
52
49
  _a$appearance = _a.appearance,
53
- appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
54
- placeholder = _a.placeholder,
50
+ appearance = _a$appearance === void 0 ? 'line' : _a$appearance,
55
51
  prepend = _a.prepend,
56
52
  append = _a.append,
57
53
  prefix = _a.prefix,
58
54
  suffix = _a.suffix,
59
- _a$defaultValue = _a.defaultValue,
60
- defaultValue = _a$defaultValue === void 0 ? '' : _a$defaultValue,
61
- valueProp = _a.value,
62
- onChange = _a.onChange,
63
- onFocus = _a.onFocus,
64
- onBlur = _a.onBlur,
65
55
  _a$clearableTrigger = _a.clearableTrigger,
66
56
  clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
67
57
  _a$clearable = _a.clearable,
68
58
  clearable = _a$clearable === void 0 ? false : _a$clearable,
69
- _a$trimValueOnBlur = _a.trimValueOnBlur,
70
- trimValueOnBlur = _a$trimValueOnBlur === void 0 ? false : _a$trimValueOnBlur,
71
59
  _a$invalid = _a.invalid,
72
60
  invalid = _a$invalid === void 0 ? false : _a$invalid,
73
- rest = __rest(_a, ["prefixCls", "role", "className", "style", "autoFocus", "disabled", "readOnly", "name", "maxLength", "type", "size", "appearance", "floatLabel", "placeholder", "prepend", "append", "prefix", "suffix", "defaultValue", "value", "onChange", "onFocus", "onBlur", "clearableTrigger", "clearable", "trimValueOnBlur", "invalid"]); // @TODO: 临时方案,后面迁移至 InputGroup
61
+ name = _a.name,
62
+ autoFocus = _a.autoFocus,
63
+ disabled = _a.disabled,
64
+ readOnly = _a.readOnly,
65
+ maxLength = _a.maxLength,
66
+ placeholder = _a.placeholder,
67
+ defaultValue = _a.defaultValue,
68
+ valueProp = _a.value,
69
+ onChange = _a.onChange,
70
+ onFocus = _a.onFocus,
71
+ onBlur = _a.onBlur,
72
+ trimValueOnBlur = _a.trimValueOnBlur,
73
+ type = _a.type,
74
+ 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
74
75
 
75
76
 
76
77
  var _useMemo = useMemo(function () {
@@ -100,75 +101,63 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
100
101
  unsetPrepend = _useMemo[0],
101
102
  unsetAppend = _useMemo[1];
102
103
 
103
- var inputRef = useRef(null);
104
+ var inputElementRef = useRef(null);
104
105
  var proxyOnChange = useCallback(function (value, evt) {
105
106
  if (!onChange) return;
106
- onChangeMock(onChange, evt, inputRef.current, value);
107
+ onChangeMock(onChange, evt, inputElementRef.current, value);
107
108
  }, [onChange]);
109
+ var clearElementRef = useRef(null);
110
+
111
+ var _useInput = useInput({
112
+ clearElementRef: clearElementRef,
113
+ name: name,
114
+ autoFocus: autoFocus,
115
+ disabled: disabled,
116
+ readOnly: readOnly,
117
+ maxLength: maxLength,
118
+ placeholder: placeholder,
119
+ defaultValue: defaultValue,
120
+ value: valueProp,
121
+ onChange: proxyOnChange,
122
+ onFocus: onFocus,
123
+ onBlur: onBlur,
124
+ trimValueOnBlur: trimValueOnBlur,
125
+ type: type
126
+ }),
127
+ tryChangeValue = _useInput.tryChangeValue,
128
+ focused = _useInput.focused,
129
+ value = _useInput.value,
130
+ getInputProps = _useInput.getInputProps;
108
131
 
109
- var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, proxyOnChange),
110
- value = _useUncontrolledState[0],
111
- tryChangeValue = _useUncontrolledState[1];
112
-
113
- var handleChange = useCallback(function (evt) {
114
- var nextValue = evt.target.value;
115
- tryChangeValue(nextValue, evt);
116
- }, [tryChangeValue]);
117
-
118
- var _useState = useState(autoFocus),
119
- focused = _useState[0],
120
- setFocused = _useState[1];
121
-
122
- var handleFocus = useCallback(function (evt) {
123
- setFocused(true);
124
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);
125
- }, [onFocus]);
126
- var handleBlur = useCallback(function (event) {
127
- setFocused(false);
128
-
129
- if (trimValueOnBlur) {
130
- var nextValue = event.target.value;
131
- tryChangeValue(nextValue.trim(), event);
132
- }
133
-
134
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
135
- }, [onBlur, tryChangeValue, trimValueOnBlur]);
136
132
  var focus = useCallback(function () {
137
133
  var _a;
138
134
 
139
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
135
+ (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();
140
136
  }, []);
141
137
  var handleReset = useCallback(function (evt) {
142
138
  tryChangeValue('', evt);
143
139
  focus();
144
140
  }, [tryChangeValue, focus]);
145
- var nativeInputProps = useMemo(function () {
146
- return {
147
- name: name,
148
- disabled: disabled,
149
- readOnly: readOnly,
150
- autoFocus: autoFocus,
151
- placeholder: placeholder,
152
- maxLength: maxLength
153
- };
154
- }, [disabled, readOnly, autoFocus, placeholder, maxLength, name]);
155
-
156
- var _useState2 = useState(false),
157
- hover = _useState2[0],
158
- setHover = _useState2[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
141
+
142
+ var _useState = useState(false),
143
+ hover = _useState[0],
144
+ setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
159
145
 
160
146
 
161
147
  var showClearableIcon = clearable && !!value && !disabled;
162
- 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);
148
+ var mergedRef = useMergeRefs(ref, inputElementRef);
149
+ var cls = cx(prefixCls, className, prefixCls + "--size-" + size, prefixCls + "--appearance-" + appearance);
150
+ var outerCls = cx(prefixCls + "__outer", prepend && prefixCls + "__outer--prepend", prepend && unsetPrepend && prefixCls + "__outer--prepend-unset", append && prefixCls + "__outer--append", append && unsetAppend && prefixCls + "__outer--append-unset");
163
151
  return /*#__PURE__*/React.createElement("div", {
164
152
  role: role,
165
153
  className: cls,
166
154
  style: style
155
+ }, /*#__PURE__*/React.createElement("div", {
156
+ className: outerCls
167
157
  }, prepend ? /*#__PURE__*/React.createElement("div", {
168
158
  className: prefixCls + "__prepend"
169
159
  }, prepend) : null, /*#__PURE__*/React.createElement("div", {
170
- className: cx(prefixCls + "__inner", prefix && prefixCls + "__inner--prefix", suffix && prefixCls + "__inner--suffix", // TODO: bem规范统一
171
- focused && "focused", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),
160
+ className: cx(prefixCls + "__inner", prefix && prefixCls + "__inner--prefix", suffix && prefixCls + "__inner--suffix", focused && prefixCls + "__inner--focused", disabled && prefixCls + "-__inner-disabled", readOnly && prefixCls + "-__inner-readonly", invalid && prefixCls + "__inner--invalid"),
172
161
  onMouseOver: function onMouseOver(e) {
173
162
  setHover(true);
174
163
  },
@@ -178,23 +167,19 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
178
167
  }, prefix ? /*#__PURE__*/React.createElement("span", {
179
168
  className: prefixCls + "__prefix"
180
169
  }, prefix) : null, /*#__PURE__*/React.createElement("input", Object.assign({
181
- ref: useMergeRefs(ref, inputRef),
182
- className: cx(prefixCls, focused && "focused", disabled && 'disabled', readOnly && 'readonly'),
183
- type: type,
184
- value: value,
185
- onChange: handleChange,
186
- onFocus: handleFocus,
187
- onBlur: handleBlur
188
- }, rest, nativeInputProps)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement("span", {
170
+ ref: mergedRef,
171
+ className: prefixCls + "__text"
172
+ }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement("span", {
189
173
  className: prefixCls + "__suffix"
190
174
  }, showClearableIcon ? /*#__PURE__*/React.createElement("span", {
191
- className: cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
175
+ ref: clearElementRef,
176
+ className: cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && prefixCls + "__clear--active"),
192
177
  role: "button",
193
178
  tabIndex: -1,
194
179
  onClick: handleReset
195
180
  }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React.createElement("div", {
196
181
  className: prefixCls + "__append"
197
- }, append) : null);
182
+ }, append) : null));
198
183
  });
199
184
 
200
185
  if (__DEV__) {
@@ -221,13 +206,13 @@ function onChangeMock(onChange, evt, target, targetValue) {
221
206
  event.target = target;
222
207
  event.currentTarget = target;
223
208
  target.value = targetValue;
224
- onChange(event); // 重置为之前值
209
+ onChange(event, targetValue); // 重置为之前值
225
210
 
226
211
  target.value = originalTargetValue;
227
212
  return;
228
213
  }
229
214
 
230
- onChange(event);
215
+ onChange(event, targetValue);
231
216
  }
232
217
 
233
218
  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 { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';\nimport { useMergeRefs } from '@hi-ui/use-merge-refs';\nimport { CloseCircleFilled } from '@hi-ui/icons';\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$autoFocus = _a.autoFocus,\n autoFocus = _a$autoFocus === void 0 ? false : _a$autoFocus,\n _a$disabled = _a.disabled,\n disabled = _a$disabled === void 0 ? false : _a$disabled,\n _a$readOnly = _a.readOnly,\n readOnly = _a$readOnly === void 0 ? false : _a$readOnly,\n name = _a.name,\n maxLength = _a.maxLength,\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 placeholder = _a.placeholder,\n prepend = _a.prepend,\n append = _a.append,\n prefix = _a.prefix,\n suffix = _a.suffix,\n _a$defaultValue = _a.defaultValue,\n defaultValue = _a$defaultValue === void 0 ? '' : _a$defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\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$trimValueOnBlur = _a.trimValueOnBlur,\n trimValueOnBlur = _a$trimValueOnBlur === void 0 ? false : _a$trimValueOnBlur,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n rest = __rest(_a, [\"prefixCls\", \"role\", \"className\", \"style\", \"autoFocus\", \"disabled\", \"readOnly\", \"name\", \"maxLength\", \"type\", \"size\", \"appearance\", \"floatLabel\", \"placeholder\", \"prepend\", \"append\", \"prefix\", \"suffix\", \"defaultValue\", \"value\", \"onChange\", \"onFocus\", \"onBlur\", \"clearableTrigger\", \"clearable\", \"trimValueOnBlur\", \"invalid\"]); // @TODO: 临时方案,后面迁移至 InputGroup\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 inputRef = useRef(null);\n var proxyOnChange = useCallback(function (value, evt) {\n if (!onChange) return;\n onChangeMock(onChange, evt, inputRef.current, value);\n }, [onChange]);\n\n var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, proxyOnChange),\n value = _useUncontrolledState[0],\n tryChangeValue = _useUncontrolledState[1];\n\n var handleChange = useCallback(function (evt) {\n var nextValue = evt.target.value;\n tryChangeValue(nextValue, evt);\n }, [tryChangeValue]);\n\n var _useState = useState(autoFocus),\n focused = _useState[0],\n setFocused = _useState[1];\n\n var handleFocus = useCallback(function (evt) {\n setFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);\n }, [onFocus]);\n var handleBlur = useCallback(function (event) {\n setFocused(false);\n\n if (trimValueOnBlur) {\n var nextValue = event.target.value;\n tryChangeValue(nextValue.trim(), event);\n }\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n }, [onBlur, tryChangeValue, trimValueOnBlur]);\n var focus = useCallback(function () {\n var _a;\n\n (_a = inputRef.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 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 };\n }, [disabled, readOnly, autoFocus, placeholder, maxLength, name]);\n\n var _useState2 = useState(false),\n hover = _useState2[0],\n setHover = _useState2[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚\n\n\n var showClearableIcon = clearable && !!value && !disabled;\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: useMergeRefs(ref, inputRef),\n className: cx(prefixCls, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly'),\n type: type,\n value: value,\n onChange: handleChange,\n onFocus: handleFocus,\n onBlur: handleBlur\n }, rest, nativeInputProps)), 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","autoFocus","_a$autoFocus","disabled","_a$disabled","readOnly","_a$readOnly","name","maxLength","type","_a$type","size","_a$size","appearance","_a$appearance","placeholder","prepend","append","prefix","suffix","defaultValue","_a$defaultValue","valueProp","value","onChange","onFocus","onBlur","clearableTrigger","_a$clearableTrigger","clearable","_a$clearable","trimValueOnBlur","_a$trimValueOnBlur","invalid","_a$invalid","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","_useMemo","unsetAppend","inputRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","useUncontrolledState","_useUncontrolledState","tryChangeValue","handleChange","nextValue","useState","focused","_useState","setFocused","handleFocus","handleBlur","event","trim","focus","handleReset","nativeInputProps","hover","_useState2","setHover","showClearableIcon","cls","cx","React","onMouseOver","e","onMouseLeave","useMergeRefs","tabIndex","onClick","__DEV__","target","targetValue","originalTargetValue","Object"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,OAAO,GAAGC,YAAY,CAA5B,OAA4B,CAA5B;AAEA;;;;;IAGaC,KAAK,gBAAGC,UAAU,CAC7B,UAAAC,EAAA,EAAAC,GAAA,EAAA;wBAEIC;MAAAA,SAAAA,GAAAA,YAAAA,KAAAA,KAAAA,CAAAA,GAAYN,OAAZM,GAAYN;mBACZO;MAAAA,IAAAA,GAAAA,OAAAA,KAAAA,KAAAA,CAAAA,GAAO,OAAPA,GAAOC;MACPC,SAAAA,GAAAA,EAAAA,CAAAA;MACAC,KAAAA,GAAAA,EAAAA,CAAAA;wBACAC;MAAAA,SAAAA,GAAAA,YAAAA,KAAAA,KAAAA,CAAAA,GAAY,KAAZA,GAAYC;uBACZC;MAAAA,QAAAA,GAAAA,WAAAA,KAAAA,KAAAA,CAAAA,GAAW,KAAXA,GAAWC;uBACXC;MAAAA,QAAAA,GAAAA,WAAAA,KAAAA,KAAAA,CAAAA,GAAW,KAAXA,GAAWC;MACXC,IAAAA,GAAAA,EAAAA,CAAAA;MACAC,SAAAA,GAAAA,EAAAA,CAAAA;mBACAC;MAAAA,IAAAA,GAAAA,OAAAA,KAAAA,KAAAA,CAAAA,GAAO,MAAPA,GAAOC;mBACPC;MAAAA,IAAAA,GAAAA,OAAAA,KAAAA,KAAAA,CAAAA,GAAO,IAAPA,GAAOC;yBACPC;MAAAA,UAAAA,GAAAA,aAAAA,KAAAA,KAAAA,CAAAA,GAAa,SAAbA,GAAaC;MAEbC,WAAAA,GAAAA,EAAAA,CAAAA;MACAC,OAAAA,GAAAA,EAAAA,CAAAA;MACAC,MAAAA,GAAAA,EAAAA,CAAAA;MACAC,MAAAA,GAAAA,EAAAA,CAAAA;MACAC,MAAAA,GAAAA,EAAAA,CAAAA;2BACAC;MAAAA,YAAAA,GAAAA,eAAAA,KAAAA,KAAAA,CAAAA,GAAe,EAAfA,GAAeC;MACRC,SAAAA,GAAAA,EAAAA,CAAPC;MACAC,QAAAA,GAAAA,EAAAA,CAAAA;MACAC,OAAAA,GAAAA,EAAAA,CAAAA;MACAC,MAAAA,GAAAA,EAAAA,CAAAA;+BACAC;MAAAA,gBAAAA,GAAAA,mBAAAA,KAAAA,KAAAA,CAAAA,GAAmB,OAAnBA,GAAmBC;wBACnBC;MAAAA,SAAAA,GAAAA,YAAAA,KAAAA,KAAAA,CAAAA,GAAY,KAAZA,GAAYC;8BACZC;MAAAA,eAAAA,GAAAA,kBAAAA,KAAAA,KAAAA,CAAAA,GAAkB,KAAlBA,GAAkBC;sBAClBC;MAAAA,OAAAA,GAAAA,UAAAA,KAAAA,KAAAA,CAAAA,GAAU,KAAVA,GAAUC;MACPC,IAAAA,GAAAA,MAAAA,CAAAA,EAAAA,EA5BL,CAAA,WAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,SAAA,CA4BKA,EA7BP;;;iBAkCsCC,OAAO,CAAC,YAAA;QACpCC,WAAW,GAAG,CAAA,KAAA,EAAA,KAAA,EADsB;;;;;;;AAGtCC,IAAAA,cAAc,CAAdA,OAAc,CAAdA,IAA2B,CAAA,QAAA,EAAA,QAAA,EAAAC,QAAA,CAA8BvB,OAAO,CAAPA,IAAAA,CAA9BwB,MAAA,GAAoD;AACjFH,MAAAA,WAAW,CAAXA,CAAW,CAAXA,GAAAA,IAAAA;AAJwC,KAAA;;;;;;;;AAQtCC,IAAAA,cAAc,CAAdA,MAAc,CAAdA,IAA0B,CAAA,QAAA,EAAA,QAAA,EAAAC,QAAA,CAA8BtB,MAAM,CAANA,IAAAA,CAA9BuB,MAAA,GAAmD;AAC/EH,MAAAA,WAAW,CAAXA,CAAW,CAAXA,GAAAA,IAAAA;;;WAEKA;AAXkC,GAAA,EAYxC,CAAArB,OAAA,EAZwCC,MAYxC,CAZwC;MAApCwB,YAAP,GAAAC,QAAA,CAAA,CAAA;MAAqBC,WAArB,GAAAD,QAAA,CAAA,CAAA;;MAcME,QAAQ,GAAGC,MAAM,CAAA,IAAA;MAEjBC,aAAa,GAAGC,WAAW,CAC/B,UAAAxB,KAAA,EAAAyB,GAAA,EAAA;QACM,CAACxB,UAAU;AACfyB,IAAAA,YAAY,CAAAzB,QAAA,EAAAwB,GAAA,EAAgBJ,QAAQ,CAAxBM,OAAA,EAAZD,KAAY,CAAZA;AAH6B,GAAA,EAK/B,CAL+BzB,QAK/B,CAL+B;;8BAQD2B,oBAAoB,CAAA/B,YAAA,EAAAE,SAAA,EAAAwB,aAAA;MAA7CvB,KAAP,GAAA6B,qBAAA,CAAA,CAAA;MAAcC,cAAd,GAAAD,qBAAA,CAAA,CAAA;;MAEME,YAAY,GAAGP,WAAW,CAC9B,UAAAC,GAAA,EAAA;QACQO,SAAS,GAAGP,GAAG,CAAHA,MAAAA,CAAWzB;AAC7B8B,IAAAA,cAAc,CAAAE,SAAA,EAAdF,GAAc,CAAdA;AAH4B,GAAA,EAK9B,CAL8BA,cAK9B,CAL8B;;kBAQFG,QAAQ,CAAAvD,SAAA;MAA/BwD,OAAP,GAAAC,SAAA,CAAA,CAAA;MAAgBC,UAAhB,GAAAD,SAAA,CAAA,CAAA;;MAEME,WAAW,GAAGb,WAAW,CAC7B,UAAAC,GAAA,EAAA;AACEW,IAAAA,UAAU,CAAVA,IAAU,CAAVA;AACAlC,IAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAA,KAAPA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAPA,GAAO,CAAPA;AAH2B,GAAA,EAK7B,CAL6BA,OAK7B,CAL6B;MAQzBoC,UAAU,GAAGd,WAAW,CAC5B,UAAAe,KAAA,EAAA;AACEH,IAAAA,UAAU,CAAVA,KAAU,CAAVA;;QAEI5B,iBAAiB;UACbwB,SAAS,GAAGO,KAAK,CAALA,MAAAA,CAAavC;AAC/B8B,MAAAA,cAAc,CAACE,SAAS,CAAVQ,IAACR,EAAD,EAAdF,KAAc,CAAdA;;;AAEF3B,IAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAAA,KAANA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAANA,KAAM,CAANA;AAR0B,GAAA,EAU5B,CAAAA,MAAA,EAAA2B,cAAA,EAV4BtB,eAU5B,CAV4B;MAaxBiC,KAAK,GAAGjB,WAAW,CAAC,YAAA;;;UACxBH,QAAQ,CAACM,aAAAA,QAAAA,EAAAA,KAAAA,KAAAA,IAAAA,KAAAA,IAAAA,EAAAA,CAASc,KAATd;AADc,GAAA,EAAA,EAAA;MAInBe,WAAW,GAAGlB,WAAW,CAC7B,UAAAC,GAAA,EAAA;AACEK,IAAAA,cAAc,CAAA,EAAA,EAAdA,GAAc,CAAdA;AACAW,IAAAA,KAAK;AAHsB,GAAA,EAK7B,CAAAX,cAAA,EAL6BW,KAK7B,CAL6B;MAQzBE,gBAAgB,GAAG9B,OAAO,CAC9B,YAAA;WAAO;AACL7B,MAAAA,IAAI,EADCA,IAAA;AAELJ,MAAAA,QAAQ,EAFHA,QAAA;AAGLE,MAAAA,QAAQ,EAHHA,QAAA;AAILJ,MAAAA,SAAS,EAJJA,SAAA;AAKLc,MAAAA,WAAW,EALNA,WAAA;AAMLP,MAAAA,SAAS,EAATA;AANK;AADuB,GAAA,EAS9B,CAAAL,QAAA,EAAAE,QAAA,EAAAJ,SAAA,EAAAc,WAAA,EAAAP,SAAA,EAT8BD,IAS9B,CAT8B;;mBAYNiD,QAAQ,CAAA,KAAA;MAA3BW,KAAP,GAAAC,UAAA,CAAA,CAAA;MAAcC,QAAd,GAAAD,UAAA,CAAA,CAAA,EAnHF;;;MAqHQE,iBAAiB,GAAGzC,SAAS,IAAI,CAAC,CAAdA,KAAAA,IAAwB,CAAC1B;MAE7CoE,GAAG,GAAGC,EAAE,CAAAzE,SAAA,EAETH,SAFS,GAAA,SAAA,EAGZoB,OAAO,IAAOpB,SAAP,GAHK,kBAAA,EAIZoB,OAAO,IAAPA,YAAAA,IAA8BpB,SAA9BoB,GAJY,wBAAA,EAKZC,MAAM,IAAOrB,SAAP,GALM,iBAAA,EAMZqB,MAAM,IAANA,WAAAA,IAA4BrB,SAA5BqB,GANY,uBAAA,EAOTrB,SAPS,GAAA,eAOTA,GAPSiB,UAAA,EAQTjB,SARS,GAAA,SAQTA,GARSe,IAAA;sBAYZ8D,KAAAA,CAAAA,aAAAA,CAAAA,KAAAA,EAAAA;AAAK5E,IAAAA,IAAI,EAAEA,IAAX4E;AAAiB1E,IAAAA,SAAS,EAAEwE,GAA5BE;AAAiCzE,IAAAA,KAAK,EAAEA;AAAxCyE,GAAAA,EACGzD,OAAO,gBAAGyD,KAAAA,CAAAA,aAAAA,CAAAA,KAAAA,EAAAA;AAAK1E,IAAAA,SAAS,EAAKH,SAAL,GAAA;AAAd6E,GAAAA,EAAHzD,OAAGyD,CAAH,GADVA,IAAAA,eAEEA,KAAAA,CAAAA,aAAAA,CAAAA,KAAAA,EAAAA;AACE1E,IAAAA,SAAS,EAAEyE,EAAE,CACR5E,SADQ,GAAA,SAAA,EAEXsB,MAAM,IAAOtB,SAAP,GAFK,iBAAA,EAGXuB,MAAM,IAAOvB,SAAP,GAHK,iBAAA;AAKX6D,IAAAA,OAAO,IALI,SAAA,EAMXtD,QAAQ,IANG,UAAA,EAOXE,QAAQ,IAPG,UAAA,EAQX4B,OAAO,IARI,SAAA,CADfwC;AAWEC,IAAAA,WAAW,EAAE,SAAAA,WAAA,CAAAC,CAAA,EAAA;AACXN,MAAAA,QAAQ,CAARA,IAAQ,CAARA;AAZJI,KAAAA;AAcEG,IAAAA,YAAY,EAAE,SAAAA,YAAA,CAAAD,CAAA,EAAA;AACZN,MAAAA,QAAQ,CAARA,KAAQ,CAARA;;AAfJI,GAAAA,EAkBGvD,MAAM,gBAAGuD,KAAAA,CAAAA,aAAAA,CAAAA,MAAAA,EAAAA;AAAM1E,IAAAA,SAAS,EAAKH,SAAL,GAAA;AAAf6E,GAAAA,EAAHvD,MAAGuD,CAAH,GAlBTA,IAAAA,eAoBEA,KAAAA,CAAAA,aAAAA,CAAAA,OAAAA,EAAAA,MAAAA,CAAAA,MAAAA,CAAAA;AACE9E,IAAAA,GAAG,EAAEkF,YAAY,CAAAlF,GAAA,EAAAiD,QAAA,CADnB6B;AAEE1E,IAAAA,SAAS,EAAEyE,EAAE,CAAA5E,SAAA,EAEX6D,OAAO,IAFI,SAAA,EAGXtD,QAAQ,IAHG,UAAA,EAIXE,QAAQ,IAJG,UAAA,CAFfoE;AAQEhE,IAAAA,IAAI,EAAEA,IARRgE;AASElD,IAAAA,KAAK,EAAEA,KATTkD;AAUEjD,IAAAA,QAAQ,EAAE8B,YAVZmB;AAWEhD,IAAAA,OAAO,EAAEmC,WAXXa;AAYE/C,IAAAA,MAAM,EAAEmC;AAZVY,GAAAA,EAaMtC,IAbNsC,EApBFA,gBAoBEA,CAAAA,CApBFA,EAqCGtD,MAAM,IAANA,iBAAAA,gBACCsD,KAAAA,CAAAA,aAAAA,CAAAA,MAAAA,EAAAA;AAAM1E,IAAAA,SAAS,EAAKH,SAAL,GAAA;AAAf6E,GAAAA,EACGH,iBAAiB,gBAChBG,KAAAA,CAAAA,aAAAA,CAAAA,MAAAA,EAAAA;AACE1E,IAAAA,SAAS,EAAEyE,EAAE,CACR5E,SADQ,GAAA,SAAA,EAEX,CAAC+B,gBAAgB,KAAhBA,QAAAA,IAADwC,KAAA,KAFW,QAAA,CADfM;AAKE5E,IAAAA,IAAI,EAAC,QALP4E;AAMEK,IAAAA,QAAQ,EAAE,CAAC,CANbL;AAOEM,IAAAA,OAAO,EAAEd;AAPXQ,GAAAA,eASEA,KAAAA,CAAAA,aAAAA,CAAAA,iBAAAA,EAVc,IAUdA,CATFA,CADgB,GADpBA,IAAAA,EADDtD,MACCsD,CADDtD,GAvCLsD,IAEEA,CAFFA,EA0DGxD,MAAM,gBAAGwD,KAAAA,CAAAA,aAAAA,CAAAA,KAAAA,EAAAA;AAAK1E,IAAAA,SAAS,EAAKH,SAAL,GAAA;AAAd6E,GAAAA,EAAHxD,MAAGwD,CAAH,GA1DTA,IAAAA;AApIyB,CAAA;;AAwR/B,IAAAO,OAAA,EAAa;AACXxF,EAAAA,KAAK,CAALA,WAAAA,GAAAA,OAAAA;;AAGF;;;;;;;;;;;SASgByD,aACdzB,UACAwB,KACAiC,QACAC,aAAAA;MAEIpB,KAAK,GAAGd,IAFZkC;;MAKIlC,GAAG,CAAHA,IAAAA,KAAa,UAAU;QACrB,CAACiC,QAAQ;QAEPE,mBAAmB,GAAGF,MAAM,CAAC1D;AACnCuC,IAAAA,KAAK,GAAGsB,MAAM,CAANA,MAAAA,CAARtB,GAAQsB,CAARtB;AAEAA,IAAAA,KAAK,CAALA,MAAAA,GAAAA,MAAAA;AACAA,IAAAA,KAAK,CAALA,aAAAA,GAAAA,MAAAA;AACAmB,IAAAA,MAAM,CAANA,KAAAA,GAAAA,WAAAA;AACAzD,IAAAA,QAAQ,CATiBsC,KASjB,CAARtC,CATyB;;AAWzByD,IAAAA,MAAM,CAANA,KAAAA,GAAAA,mBAAAA;;;;AAIFzD,EAAAA,QAAQ,CAARA,KAAQ,CAARA;;;"}
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 * 输入框\n *\n * @TODO:\n * 1. size api 确认\n * 2. 修改类名结构\n * 3. 支持带数字展示\n * 4. InputGroup 模式支持\n * 5. 手动聚焦支持额外配置\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 ? 'line' : _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(prefixCls, className, prefixCls + \"--size-\" + size, prefixCls + \"--appearance-\" + appearance);\n var outerCls = cx(prefixCls + \"__outer\", prepend && prefixCls + \"__outer--prepend\", prepend && unsetPrepend && prefixCls + \"__outer--prepend-unset\", append && prefixCls + \"__outer--append\", append && unsetAppend && prefixCls + \"__outer--append-unset\");\n return /*#__PURE__*/React.createElement(\"div\", {\n role: role,\n className: cls,\n style: style\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: outerCls\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\", focused && prefixCls + \"__inner--focused\", disabled && prefixCls + \"-__inner-disabled\", readOnly && prefixCls + \"-__inner-readonly\", invalid && prefixCls + \"__inner--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: prefixCls + \"__text\"\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) && prefixCls + \"__clear--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","outerCls","React","onMouseOver","e","onMouseLeave","tabIndex","onClick","__DEV__","target","targetValue","event","originalTargetValue","Object"],"mappings":"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"}
@@ -59,7 +59,7 @@ var MockInput = /*#__PURE__*/forwardRef(function (_a, ref) {
59
59
  _a$size = _a.size,
60
60
  size = _a$size === void 0 ? 'md' : _a$size,
61
61
  _a$appearance = _a.appearance,
62
- appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
62
+ appearance = _a$appearance === void 0 ? 'line' : _a$appearance,
63
63
  _a$clearableTrigger = _a.clearableTrigger,
64
64
  clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
65
65
  displayRender = _a.displayRender,
@@ -72,24 +72,27 @@ var MockInput = /*#__PURE__*/forwardRef(function (_a, ref) {
72
72
  value = _useUncontrolledState[0],
73
73
  tryChangeValue = _useUncontrolledState[1];
74
74
 
75
- var displayValue = useMemo(function () {
75
+ var displayItem = useMemo(function () {
76
76
  if (value === '') return null;
77
77
  var displayItem = data.find(function (item) {
78
78
  return item.id === value;
79
79
  });
80
- if (!displayItem) return null;
80
+ return displayItem || null;
81
+ }, [value, data]);
82
+ var displayValue = useMemo(function () {
83
+ if (!displayItem) return '';
81
84
 
82
85
  if (displayRender) {
83
86
  return displayRender(displayItem);
84
87
  }
85
88
 
86
89
  return displayItem.title;
87
- }, [data, value, displayRender]);
90
+ }, [displayItem, displayRender]);
88
91
  var handleClear = useCallback(function (evt) {
89
92
  if (disabled) return;
90
93
  evt.stopPropagation();
91
- tryChangeValue(NOOP_VALUE);
92
- }, [tryChangeValue, disabled]);
94
+ tryChangeValue(NOOP_VALUE, displayItem);
95
+ }, [tryChangeValue, disabled, displayItem]);
93
96
 
94
97
  var _useState = useState(false),
95
98
  hover = _useState[0],
@@ -1 +1 @@
1
- {"version":3,"file":"MockInput.js","sources":["../../../../../../../input/lib/esm/MockInput.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, useCallback, useState } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';\nimport { CloseCircleFilled } from '@hi-ui/icons';\nvar _role = 'mock-input';\n\nvar _prefix = getPrefixCls(_role);\n\nvar NOOP_VALUE = '';\nvar NOOP_ARRAY = [];\n/**\n * 支持自定义渲染输入框内容,暂时仅供内部 Picker 类组件使用,不对外提供\n */\n\nvar MockInput = /*#__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 ? _role : _a$role,\n className = _a.className,\n _a$data = _a.data,\n data = _a$data === void 0 ? NOOP_ARRAY : _a$data,\n _a$defaultValue = _a.defaultValue,\n defaultValue = _a$defaultValue === void 0 ? NOOP_VALUE : _a$defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n placeholder = _a.placeholder,\n _a$disabled = _a.disabled,\n disabled = _a$disabled === void 0 ? false : _a$disabled,\n _a$clearable = _a.clearable,\n clearable = _a$clearable === void 0 ? false : _a$clearable,\n _a$focused = _a.focused,\n focused = _a$focused === void 0 ? false : _a$focused,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n _a$readOnly = _a.readOnly,\n readOnly = _a$readOnly === void 0 ? false : _a$readOnly,\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 _a$clearableTrigger = _a.clearableTrigger,\n clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,\n displayRender = _a.displayRender,\n suffix = _a.suffix,\n _onMouseOver = _a.onMouseOver,\n _onMouseLeave = _a.onMouseLeave,\n rest = __rest(_a, [\"prefixCls\", \"role\", \"className\", \"data\", \"defaultValue\", \"value\", \"onChange\", \"placeholder\", \"disabled\", \"clearable\", \"focused\", \"invalid\", \"readOnly\", \"size\", \"appearance\", \"clearableTrigger\", \"displayRender\", \"suffix\", \"onMouseOver\", \"onMouseLeave\"]);\n\n var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),\n value = _useUncontrolledState[0],\n tryChangeValue = _useUncontrolledState[1];\n\n var displayValue = useMemo(function () {\n if (value === '') return null;\n var displayItem = data.find(function (item) {\n return item.id === value;\n });\n if (!displayItem) return null;\n\n if (displayRender) {\n return displayRender(displayItem);\n }\n\n return displayItem.title;\n }, [data, value, displayRender]);\n var handleClear = useCallback(function (evt) {\n if (disabled) return;\n evt.stopPropagation();\n tryChangeValue(NOOP_VALUE);\n }, [tryChangeValue, disabled]);\n\n var _useState = useState(false),\n hover = _useState[0],\n setHover = _useState[1];\n\n var trySetHover = useCallback(function (hovered) {\n if (disabled) return;\n setHover(hovered);\n }, [disabled]);\n var hasValue = !!displayValue; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清除\n\n var showClearableIcon = useMemo(function () {\n return clearable && hasValue && !disabled && (clearableTrigger === 'always' || hover);\n }, [clearable, hasValue, disabled, clearableTrigger, hover]);\n var cls = cx(prefixCls, className, prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid');\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n role: role,\n className: cls,\n onMouseOver: function onMouseOver(evt) {\n trySetHover(true);\n _onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver(evt);\n },\n onMouseLeave: function onMouseLeave(evt) {\n trySetHover(false);\n _onMouseLeave === null || _onMouseLeave === void 0 ? void 0 : _onMouseLeave(evt);\n }\n }, rest), hasValue ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__value\"\n }, displayValue) : /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__placeholder\"\n }, placeholder), suffix || showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__suffix\"\n }, showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n tabIndex: -1,\n className: cx(prefixCls + \"__clear\", 'active'),\n onClick: handleClear\n }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : suffix) : null);\n});\n\nif (__DEV__) {\n MockInput.displayName = 'MockInput';\n}\n\nexport { MockInput };\n//# sourceMappingURL=MockInput.js.map\n"],"names":["_role","_prefix","getPrefixCls","NOOP_VALUE","NOOP_ARRAY","MockInput","forwardRef","_a","ref","prefixCls","role","className","data","defaultValue","valueProp","value","onChange","placeholder","disabled","_a$disabled","clearable","_a$clearable","focused","_a$focused","invalid","_a$invalid","readOnly","_a$readOnly","size","_a$size","appearance","_a$appearance","clearableTrigger","_a$clearableTrigger","displayRender","suffix","onMouseOver","onMouseLeave","rest","useUncontrolledState","_useUncontrolledState","tryChangeValue","displayValue","useMemo","displayItem","find","item","title","handleClear","useCallback","evt","useState","hover","_useState","setHover","trySetHover","hovered","hasValue","showClearableIcon","cls","cx","React","tabIndex","onClick","__DEV__"],"mappings":"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"}
1
+ {"version":3,"file":"MockInput.js","sources":["../../../../../../../input/lib/esm/MockInput.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, useCallback, useState } from 'react';\nimport { getPrefixCls, cx } from '@hi-ui/classname';\nimport { __DEV__ } from '@hi-ui/env';\nimport { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';\nimport { CloseCircleFilled } from '@hi-ui/icons';\nvar _role = 'mock-input';\n\nvar _prefix = getPrefixCls(_role);\n\nvar NOOP_VALUE = '';\nvar NOOP_ARRAY = [];\n/**\n * 支持自定义渲染输入框内容,暂时仅供内部 Picker 类组件使用,不对外提供\n */\n\nvar MockInput = /*#__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 ? _role : _a$role,\n className = _a.className,\n _a$data = _a.data,\n data = _a$data === void 0 ? NOOP_ARRAY : _a$data,\n _a$defaultValue = _a.defaultValue,\n defaultValue = _a$defaultValue === void 0 ? NOOP_VALUE : _a$defaultValue,\n valueProp = _a.value,\n onChange = _a.onChange,\n placeholder = _a.placeholder,\n _a$disabled = _a.disabled,\n disabled = _a$disabled === void 0 ? false : _a$disabled,\n _a$clearable = _a.clearable,\n clearable = _a$clearable === void 0 ? false : _a$clearable,\n _a$focused = _a.focused,\n focused = _a$focused === void 0 ? false : _a$focused,\n _a$invalid = _a.invalid,\n invalid = _a$invalid === void 0 ? false : _a$invalid,\n _a$readOnly = _a.readOnly,\n readOnly = _a$readOnly === void 0 ? false : _a$readOnly,\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 ? 'line' : _a$appearance,\n _a$clearableTrigger = _a.clearableTrigger,\n clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,\n displayRender = _a.displayRender,\n suffix = _a.suffix,\n _onMouseOver = _a.onMouseOver,\n _onMouseLeave = _a.onMouseLeave,\n rest = __rest(_a, [\"prefixCls\", \"role\", \"className\", \"data\", \"defaultValue\", \"value\", \"onChange\", \"placeholder\", \"disabled\", \"clearable\", \"focused\", \"invalid\", \"readOnly\", \"size\", \"appearance\", \"clearableTrigger\", \"displayRender\", \"suffix\", \"onMouseOver\", \"onMouseLeave\"]);\n\n var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),\n value = _useUncontrolledState[0],\n tryChangeValue = _useUncontrolledState[1];\n\n var displayItem = useMemo(function () {\n if (value === '') return null;\n var displayItem = data.find(function (item) {\n return item.id === value;\n });\n return displayItem || null;\n }, [value, data]);\n var displayValue = useMemo(function () {\n if (!displayItem) return '';\n\n if (displayRender) {\n return displayRender(displayItem);\n }\n\n return displayItem.title;\n }, [displayItem, displayRender]);\n var handleClear = useCallback(function (evt) {\n if (disabled) return;\n evt.stopPropagation();\n tryChangeValue(NOOP_VALUE, displayItem);\n }, [tryChangeValue, disabled, displayItem]);\n\n var _useState = useState(false),\n hover = _useState[0],\n setHover = _useState[1];\n\n var trySetHover = useCallback(function (hovered) {\n if (disabled) return;\n setHover(hovered);\n }, [disabled]);\n var hasValue = !!displayValue; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清除\n\n var showClearableIcon = useMemo(function () {\n return clearable && hasValue && !disabled && (clearableTrigger === 'always' || hover);\n }, [clearable, hasValue, disabled, clearableTrigger, hover]);\n var cls = cx(prefixCls, className, prefixCls + \"--appearance-\" + appearance, prefixCls + \"--size-\" + size, focused && \"focused\", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid');\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n role: role,\n className: cls,\n onMouseOver: function onMouseOver(evt) {\n trySetHover(true);\n _onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver(evt);\n },\n onMouseLeave: function onMouseLeave(evt) {\n trySetHover(false);\n _onMouseLeave === null || _onMouseLeave === void 0 ? void 0 : _onMouseLeave(evt);\n }\n }, rest), hasValue ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__value\"\n }, displayValue) : /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__placeholder\"\n }, placeholder), suffix || showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"__suffix\"\n }, showClearableIcon ? /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n tabIndex: -1,\n className: cx(prefixCls + \"__clear\", 'active'),\n onClick: handleClear\n }, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : suffix) : null);\n});\n\nif (__DEV__) {\n MockInput.displayName = 'MockInput';\n}\n\nexport { MockInput };\n//# sourceMappingURL=MockInput.js.map\n"],"names":["_role","_prefix","getPrefixCls","NOOP_VALUE","NOOP_ARRAY","MockInput","forwardRef","_a","ref","prefixCls","role","className","data","defaultValue","valueProp","value","onChange","placeholder","disabled","_a$disabled","clearable","_a$clearable","focused","_a$focused","invalid","_a$invalid","readOnly","_a$readOnly","size","_a$size","appearance","_a$appearance","clearableTrigger","_a$clearableTrigger","displayRender","suffix","onMouseOver","onMouseLeave","rest","useUncontrolledState","_useUncontrolledState","tryChangeValue","displayItem","useMemo","find","item","displayValue","title","handleClear","useCallback","evt","useState","hover","_useState","setHover","trySetHover","hovered","hasValue","showClearableIcon","cls","cx","React","tabIndex","onClick","__DEV__"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,KAAK,GAAX,YAAA;;AACA,IAAMC,OAAO,GAAGC,YAAY,CAA5BF,KAA4B,CAA5B;;AAEA,IAAMG,UAAU,GAAhB,EAAA;AACA,IAAMC,UAAU,GAAhB,EAAA;AAEA;;;;IAGaC,SAAS,gBAAGC,UAAU,CACjC,UAAAC,EAAA,EAAAC,GAAA,EAAA;wBAEIC;MAAAA,SAAAA,GAAAA,YAAAA,KAAAA,KAAAA,CAAAA,GAAYR,OAAZQ,GAAYR;mBACZS;MAAAA,IAAAA,GAAAA,OAAAA,KAAAA,KAAAA,CAAAA,GAAOV,KAAPU,GAAOV;MACPW,SAAAA,GAAAA,EAAAA,CAAAA;mBACAC;MAAAA,IAAAA,GAAAA,OAAAA,KAAAA,KAAAA,CAAAA,GAAOR,UAAPQ,GAAOR;2BACPS;MAAAA,YAAAA,GAAAA,eAAAA,KAAAA,KAAAA,CAAAA,GAAeV,UAAfU,GAAeV;MACRW,SAAAA,GAAAA,EAAAA,CAAPC;MACAC,QAAAA,GAAAA,EAAAA,CAAAA;MACAC,WAAAA,GAAAA,EAAAA,CAAAA;uBACAC;MAAAA,QAAAA,GAAAA,WAAAA,KAAAA,KAAAA,CAAAA,GAAW,KAAXA,GAAWC;wBACXC;MAAAA,SAAAA,GAAAA,YAAAA,KAAAA,KAAAA,CAAAA,GAAY,KAAZA,GAAYC;sBACZC;MAAAA,OAAAA,GAAAA,UAAAA,KAAAA,KAAAA,CAAAA,GAAU,KAAVA,GAAUC;sBACVC;MAAAA,OAAAA,GAAAA,UAAAA,KAAAA,KAAAA,CAAAA,GAAU,KAAVA,GAAUC;uBACVC;MAAAA,QAAAA,GAAAA,WAAAA,KAAAA,KAAAA,CAAAA,GAAW,KAAXA,GAAWC;mBACXC;MAAAA,IAAAA,GAAAA,OAAAA,KAAAA,KAAAA,CAAAA,GAAO,IAAPA,GAAOC;yBACPC;MAAAA,UAAAA,GAAAA,aAAAA,KAAAA,KAAAA,CAAAA,GAAa,MAAbA,GAAaC;+BACbC;MAAAA,gBAAAA,GAAAA,mBAAAA,KAAAA,KAAAA,CAAAA,GAAmB,OAAnBA,GAAmBC;MACnBC,aAAAA,GAAAA,EAAAA,CAAAA;MACAC,MAAAA,GAAAA,EAAAA,CAAAA;MACAC,YAAAA,GAAAA,EAAAA,CAAAA;MACAC,aAAAA,GAAAA,EAAAA,CAAAA;MACGC,IAAAA,GAAAA,MAAAA,CAAAA,EAAAA,EArBL,CAAA,WAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,cAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,aAAA,EAAA,cAAA,CAqBKA;;8BAI2BC,oBAAoB,CAAA1B,YAAA,EAAAC,SAAA,EAAAE,QAAA;MAA7CD,KAAP,GAAAyB,qBAAA,CAAA,CAAA;MAAcC,cAAd,GAAAD,qBAAA,CAAA,CAAA;;MAEME,WAAW,GAAGC,OAAO,CAAC,YAAA;QACtB5B,KAAK,KAAK,IAAI,OAAA,IAAA;QAEZ2B,WAAW,GAAG9B,IAAI,CAAJgC,IAAA,CAAU,UAAAC,IAAA,EAAA;aAAUA,IAAI,CAAJA,EAAAA,KAAY9B;AAAhC,KAAA;WAEb2B,WAAW,IAAI;AALG,GAAA,EAMxB,CAAA3B,KAAA,EANwBH,IAMxB,CANwB;MAQrBkC,YAAY,GAAGH,OAAO,CAAC,YAAA;QACvB,CAACD,aAAa,OAAA,EAAA;;QAEdR,eAAe;aACVA,aAAa,CAAAQ,WAAA;;;WAGfA,WAAW,CAACK;AAPO,GAAA,EAQzB,CAAAL,WAAA,EARyBR,aAQzB,CARyB;MAUtBc,WAAW,GAAGC,WAAW,CAC7B,UAAAC,GAAA,EAAA;QACMhC,UAAU;AAEdgC,IAAAA,GAAG,CAAHA,eAAAA;AAEAT,IAAAA,cAAc,CAAAtC,UAAA,EAAdsC,WAAc,CAAdA;AAN2B,GAAA,EAQ7B,CAAAA,cAAA,EAAAvB,QAAA,EAR6BwB,WAQ7B,CAR6B;;kBAWLS,QAAQ,CAAA,KAAA;MAA3BC,KAAP,GAAAC,SAAA,CAAA,CAAA;MAAcC,QAAd,GAAAD,SAAA,CAAA,CAAA;;MACME,WAAW,GAAGN,WAAW,CAC7B,UAAAO,OAAA,EAAA;QACMtC,UAAU;AACdoC,IAAAA,QAAQ,CAARA,OAAQ,CAARA;AAH2B,GAAA,EAK7B,CAL6BpC,QAK7B,CAL6B;MAQzBuC,QAAQ,GAAG,CAAC,CAACX,aAlErB;;MAqEQY,iBAAiB,GAAGf,OAAO,CAAC,YAAA;WACzBvB,SAAS,IAATA,QAAAA,IAAyB,CAAzBA,QAAAA,KAAuCY,gBAAgB,KAAhBA,QAAAA,IAAvCZ,KAAAA;AADwB,GAAA,EAE9B,CAAAA,SAAA,EAAAqC,QAAA,EAAAvC,QAAA,EAAAc,gBAAA,EAF8BoB,KAE9B,CAF8B;MAI3BO,GAAG,GAAGC,EAAE,CAAAnD,SAAA,EAAAE,SAAA,EAGTF,SAHS,GAAA,eAGTA,GAHSqB,UAAA,EAITrB,SAJS,GAAA,SAITA,GAJSmB,IAAA,EAKZN,OAAO,IALK,SAAA,EAMZJ,QAAQ,IANI,UAAA,EAOZQ,QAAQ,IAPI,UAAA,EAQZF,OAAO,IARK,SAAA;sBAYZqC,KAAAA,CAAAA,aAAAA,CAAAA,KAAAA,EAAAA,MAAAA,CAAAA,MAAAA,CAAAA;AACErD,IAAAA,GAAG,EAAEA,GADPqD;AAEEnD,IAAAA,IAAI,EAAEA,IAFRmD;AAGElD,IAAAA,SAAS,EAAEgD,GAHbE;AAIEzB,IAAAA,WAAW,EAAE,SAAAA,WAAA,CAAAc,GAAA,EAAA;AACXK,MAAAA,WAAW,CAAXA,IAAW,CAAXA;AACAnB,MAAAA,YAAW,KAAXA,IAAAA,IAAAA,YAAW,KAAA,KAAXA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAW,CAAXA,GAAW,CAAXA;AANJyB,KAAAA;AAQExB,IAAAA,YAAY,EAAE,SAAAA,YAAA,CAAAa,GAAA,EAAA;AACZK,MAAAA,WAAW,CAAXA,KAAW,CAAXA;AACAlB,MAAAA,aAAY,KAAZA,IAAAA,IAAAA,aAAY,KAAA,KAAZA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAY,CAAZA,GAAY,CAAZA;;AAVJwB,GAAAA,EAAAA,IAAAA,CAAAA,EAcGJ,QAAQ,gBACPI,KAAAA,CAAAA,aAAAA,CAAAA,MAAAA,EAAAA;AAAMlD,IAAAA,SAAS,EAAKF,SAAL,GAAA;AAAfoD,GAAAA,EADOf,YACPe,CADO,gBAGPA,KAAAA,CAAAA,aAAAA,CAAAA,MAAAA,EAAAA;AAAMlD,IAAAA,SAAS,EAAKF,SAAL,GAAA;AAAfoD,GAAAA,EAjBJA,WAiBIA,CAjBJA,EAmBG1B,MAAM,IAANA,iBAAAA,gBACC0B,KAAAA,CAAAA,aAAAA,CAAAA,MAAAA,EAAAA;AAAMlD,IAAAA,SAAS,EAAKF,SAAL,GAAA;AAAfoD,GAAAA,EACGH,iBAAiB,gBAChBG,KAAAA,CAAAA,aAAAA,CAAAA,MAAAA,EAAAA;AACEnD,IAAAA,IAAI,EAAC,QADPmD;AAEEC,IAAAA,QAAQ,EAAE,CAAC,CAFbD;AAGElD,IAAAA,SAAS,EAAEiD,EAAE,CAAInD,SAAJ,GAAA,SAAA,EAAA,QAAA,CAHfoD;AAIEE,IAAAA,OAAO,EAAEf;AAJXa,GAAAA,eAMEA,KAAAA,CAAAA,aAAAA,CAAAA,iBAAAA,EAPc,IAOdA,CANFA,CADgB,GAFrB1B,MACC0B,CADD1B,GAnBH0B,IAAAA;AAtF6B,CAAA;;AAgMnC,IAAAG,OAAA,EAAa;AACX3D,EAAAA,SAAS,CAATA,WAAAA,GAAAA,WAAAA;;;"}