@hi-ui/tree-select 4.0.0-alpha.9 → 4.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,11 +1,91 @@
1
- # `@hi-ui/tree-select`
1
+ # TreeSelect 树形多项选择器
2
2
 
3
- > TODO: description
3
+ 一种接收树形数据结构的选择器,为用户提供复杂数据展示的能力
4
4
 
5
- ## Usage
5
+ ## 何时使用
6
6
 
7
- ```
8
- const TreeSelect = require('@hi-ui/tree-select');
7
+ - 选择部门的组织结构、部门等
8
+ - 选择商品目录等
9
9
 
10
- // TODO: DEMONSTRATE API
11
- ```
10
+ ## 使用示例
11
+
12
+ <!-- Inject Stories -->
13
+
14
+ ## Props
15
+
16
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
17
+ | ------------------ | ---------------------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
18
+ | data | 展示数据 | DataItem [] | - | - |
19
+ | fieldNames | 设置 data 中 id, title, disabled, children 对应的 key (3.0 新增) | object | - | { title: 'title', id: 'id',disabled:'disabled', children: 'children'} |
20
+ | checkedMode | 数据回显模式 | string | ALL: 所有被选中节点,不区分父子节点 <br/>PARENT: 当所有子节点被选中时将只保留父节点<br/>CHILD:仅显示子节点 | ALL |
21
+ | disabled | 是否禁用 | boolean | true \| false | false |
22
+ | defaultExpandAll | 是否默认展开所有树节点 | boolean | true \| false | false |
23
+ | expandedIds | 展开的节点(受控) | ReactText[] | - | - |
24
+ | defaultExpandedIds | 默认展开的节点(非受控) | ReactText[] | - | - |
25
+ | defaultValue | 默认选中项 (非受控) | ReactText | - | - |
26
+ | value | 默认选中项 (受控) | ReactText | - | - |
27
+ | displayRender | 自定义渲染 Input 中展示内容 | (valueItem: checkedNode) => ReactNode | - | - |
28
+ | placeholder | 输入框占位 | string | - | 请选择 |
29
+ | searchPlaceholder | 搜索输入框占位 | string | - | 搜索 |
30
+ | loadingContent | 加载中文字提示 | string | - | 数据加载中... |
31
+ | searchMode | 节点搜索模式 | string | 'highlight' \| 'filter' | - |
32
+ | dataSource | 异步加载数据 | (key: string) => DataSource \| DataSource \| Promise | - | - |
33
+ | emptyContent | 没有选项时的提示 | ReactNode | - | 无内容 |
34
+ | optionWidth | 自定义下拉选项宽度 | number | - | |
35
+ | overlayClassName | 下拉根元素的类名称 | string | - | - |
36
+ | popper | 自定义控制弹出层 popper 行为 | Omit<PopperProps, 'visible' \| 'attachEl'> | - | - |
37
+
38
+ ## Events
39
+
40
+ | 名称 | 说明 | 类型 | 参数 | 返回值 |
41
+ | -------- | ---------- | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------ |
42
+ | onChange | 选中时触发 | (checkedIds: ReactText[], checkedNodes: DataItem[], targetNode: DataItem, shouldChecked: boolean) => void | checkedIds: 选中项 ID 集合 <br/> checkedNodes: 选中项数据项集合 <br/> targetNode: 当前操作节点 <br/> shouldChecked: 是否要被选中 | - |
43
+
44
+ ### DataItem
45
+
46
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
47
+ | -------- | --------------- | ---------------- | ------ | ------ |
48
+ | title | 下拉选项标题 | string | - | - |
49
+ | id | 下拉选项唯一 id | string \| number | - | - |
50
+ | disabled | 是否禁用 | boolean | - | false |
51
+ | children | 子级数据 | DataItem[] | - | - |
52
+
53
+ ### DataSource
54
+
55
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
56
+ | ----------------- | ---------------------------------- | -------------------------------- | -------------------------------------------------- | ------------- |
57
+ | url | 请求的 url | string | - | - |
58
+ | type | 请求方法 | string | get \| post | get |
59
+ | data | post 请求时请求体参数 | object | - | - |
60
+ | params | url 查询参数 | object | - | - |
61
+ | headers | 请求头 | object | - | - |
62
+ | mode | 请求模式 | string | 'same-origin' \| 'cors' \| 'no-cors' \| 'navigate' | 'same-origin' |
63
+ | transformResponse | 成功时的回调,用于对数据进行预处理 | (response: object) => DataItem[] | - | - |
64
+
65
+ ## CHANGELOG
66
+
67
+ > 从原 TreeSelect 组件抽离单选模式出来,作为为单独单选的 TreeSelect 组件。
68
+
69
+ | 参数 | 变更类型 | 变更内容 | 解决的问题 |
70
+ | ------------------ | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
71
+ | propName | feature \| deprecated \| update | 变更了什么 | 之前是什么样子,解决什么问题 |
72
+ | ---- | ---- | ---- | ---- |
73
+ | value | update | 类型 DataItem[] \| string[] \| string -> <string \| number> | 对于表单控件 id 值的控制,均使用 React.ReactText(即 string 和 number 都支持) |
74
+ | defaultValue | update | 类型 DataItem[] \| string[] \| string -> <string \| number> | 对于表单控件 id 值的控制,均使用 React.ReactText(即 string 和 number 都支持) |
75
+ | id | update | 类型 string -> string \| number | 对于表单控件 id 值的控制,均使用 React.ReactText(即 string 和 number 都支持) |
76
+ | bordered | deprecated | 字段 `bordered` -> `appearance` | 对于 Picker 类型的组件,统一使用 appearance 设置外形(线\面\无边框)值 |
77
+ | searchPlaceholder | feature | - | Picker 类型组件统一支持 |
78
+ | loadingContent | feature | - | Picker 类型组件统一支持,适配新 UI |
79
+ | popper | feature | - | Picker 类型组件统一支持,聚合管理。比如: placement,之前有的加了有的没加 |
80
+ | render | feature | - | 统一支持自定义渲染每一项 |
81
+ | virtual | feature | - | 支持虚拟列表 |
82
+ | height | feature | - | 支持虚拟列表 |
83
+ | itemHeight | feature | - | 支持虚拟列表 |
84
+ | type | deprecated | - | 拆分单选多选组件单独维护 |
85
+ | autoload | deprecated | - | 页面级首次渲染执行数据加载操作,取消内置 |
86
+ | mode | deprecated | - | 面包屑模式可以使用 checkCascade 组件替代,交互形式更为优雅。 |
87
+ | appearance | feature | - | 统一支持:线性\面性\无边框 |
88
+ | valueRender | update | valueRender(items: DataItem[]) -> displayRender(item: DataItem) | 统一字段命名及其含义 |
89
+ | expandedIds | update | 字段:expandIds -> expandedIds | 统一字段命名及其含义 |
90
+ | defaultExpandedIds | update | defaultExpandIds -> defaultExpandedIds | 统一字段命名及其含义 |
91
+ | onChange | update | 类型:`(checkedIds \| checkedId, checkedNodes \| checkedNode, currentNode) => void` -> `(checkedIds: ReactText[], checkedNodes: DataItem[], targetNode: DataItem, shouldChecked: boolean) => void` | 1. 移除数组结构,方便用户获取;2. 暴露 shouldSelected 执行相应拦截之类的操作; 3. 点击清空时触发 onChange |
@@ -35,7 +35,7 @@ var treeUtils = require('@hi-ui/tree-utils');
35
35
 
36
36
  var typeAssertion = require('@hi-ui/type-assertion');
37
37
 
38
- var lodash = require('lodash');
38
+ var arrayUtils = require('@hi-ui/array-utils');
39
39
 
40
40
  var highlighter = require('@hi-ui/highlighter');
41
41
 
@@ -43,12 +43,14 @@ require('./ui/input/lib/esm/styles/index.scss.js');
43
43
 
44
44
  require('./ui/input/lib/esm/Input.js');
45
45
 
46
- require('./ui/input/lib/esm/TextArea.js');
47
-
48
46
  var MockInput = require('./ui/input/lib/esm/MockInput.js');
49
47
 
50
48
  var icons = require('@hi-ui/icons');
51
49
 
50
+ var localeContext = require('@hi-ui/locale-context');
51
+
52
+ var funcUtils = require('@hi-ui/func-utils');
53
+
52
54
  var useSearchMode = require('@hi-ui/use-search-mode');
53
55
 
54
56
  function _interopDefaultLegacy(e) {
@@ -92,15 +94,18 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
92
94
  searchableProp = _a.searchable,
93
95
  searchModeProp = _a.searchMode,
94
96
  onLoadChildren = _a.onLoadChildren,
95
- titleRender = _a.titleRender,
97
+ titleRender = _a.render,
96
98
  filterOption = _a.filterOption,
99
+ onSearchProp = _a.onSearch,
97
100
  clearable = _a.clearable,
98
101
  invalid = _a.invalid,
99
- displayRender = _a.displayRender,
100
- _a$placeholder = _a.placeholder,
101
- placeholder = _a$placeholder === void 0 ? '请选择' : _a$placeholder,
102
+ displayRenderProp = _a.displayRender,
103
+ placeholderProp = _a.placeholder,
102
104
  appearance = _a.appearance,
103
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "fieldNames", "showCheckedMode", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "titleRender", "filterOption", "clearable", "invalid", "displayRender", "placeholder", "appearance"]);
105
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "fieldNames", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "onSearch", "clearable", "invalid", "displayRender", "placeholder", "appearance"]);
106
+
107
+ var i18n = localeContext.useLocaleContext();
108
+ var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('treeSelect.placeholder') : placeholderProp;
104
109
 
105
110
  var _useToggle = useToggle.useToggle(),
106
111
  menuVisible = _useToggle[0],
@@ -114,11 +119,22 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
114
119
  return node[fieldNames[key] || key];
115
120
  }, [fieldNames]);
116
121
  var flattedData = React.useMemo(function () {
117
- return treeUtils.flattenTree(data, function (node) {
118
- node.id = getKeyFields(node.raw, 'id'); // @ts-ignore
119
-
120
- node.title = getKeyFields(node.raw, 'title');
121
- return node;
122
+ return treeUtils.baseFlattenTree({
123
+ tree: data,
124
+ childrenFieldName: function childrenFieldName(node) {
125
+ return getKeyFields(node, 'children');
126
+ },
127
+ transform: function transform(node) {
128
+ var _a, _b;
129
+
130
+ var flattedNode = node;
131
+ var raw = node.raw;
132
+ flattedNode.id = getKeyFields(raw, 'id');
133
+ flattedNode.title = getKeyFields(raw, 'title');
134
+ flattedNode.disabled = (_a = getKeyFields(raw, 'disabled')) !== null && _a !== void 0 ? _a : false;
135
+ flattedNode.isLeaf = (_b = getKeyFields(raw, 'isLeaf')) !== null && _b !== void 0 ? _b : false;
136
+ return flattedNode;
137
+ }
122
138
  });
123
139
  }, [data, getKeyFields]); // TODO: 抽离展开hook
124
140
  // TODO: onLoadChildren 和 defaultExpandAll 共存时
@@ -141,6 +157,7 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
141
157
  tryChangeValue = _useUncontrolledState2[1];
142
158
 
143
159
  var onSelect = React.useCallback(function (selectedId, selectedNode) {
160
+ // 关闭反选功能
144
161
  if (selectedId) {
145
162
  tryChangeValue(selectedId, selectedNode);
146
163
  setSelectedItem(selectedNode);
@@ -168,9 +185,9 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
168
185
  filterOption: filterOption
169
186
  });
170
187
  var filterSearchStrategy = useSearchMode.useFilterSearch({
188
+ enabled: searchModeProp === 'filter',
171
189
  data: data,
172
- flattedData: flattedData,
173
- searchMode: searchModeProp
190
+ flattedData: flattedData
174
191
  });
175
192
  var highlightSearchStrategy = useSearchMode.useHighlightSearch({
176
193
  data: data,
@@ -215,13 +232,13 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
215
232
  });
216
233
  });
217
234
  } : tryChangeExpandedIds,
218
- titleRender: proxyTitleRender
235
+ render: proxyTitleRender
219
236
  }; // 下拉菜单不能合并(因为树形数据,不知道是第几级)
220
237
 
221
238
  var mergedData = React.useMemo(function () {
222
239
  if (selectedItem) {
223
240
  var nextData = [selectedItem].concat(flattedData);
224
- return lodash.uniqBy(nextData, 'id');
241
+ return arrayUtils.uniqBy(nextData, 'id');
225
242
  }
226
243
 
227
244
  return flattedData;
@@ -239,18 +256,14 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
239
256
  // onChange={tryChangeValue}
240
257
  // data={mergedData}
241
258
  searchable: searchable,
242
- onSearch: onSearch,
259
+ onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
243
260
  loading: loading,
244
- trigger: /*#__PURE__*/React__default['default'].createElement(MockInput.MockInput // ref={targetElementRef}
245
- // onClick={openMenu}
246
- // disabled={disabled}
261
+ trigger: /*#__PURE__*/React__default['default'].createElement(MockInput.MockInput // disabled={disabled}
247
262
  , {
248
- // ref={targetElementRef}
249
- // onClick={openMenu}
250
263
  // disabled={disabled}
251
264
  clearable: clearable,
252
265
  placeholder: placeholder,
253
- displayRender: displayRender,
266
+ displayRender: displayRenderProp,
254
267
  suffix: menuVisible ? /*#__PURE__*/React__default['default'].createElement(icons.UpOutlined, null) : /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, null),
255
268
  focused: menuVisible,
256
269
  value: value,
@@ -1 +1 @@
1
- {"version":3,"file":"TreeSelect.js","sources":["../../src/TreeSelect.tsx"],"sourcesContent":[null],"names":["TREE_SELECT_PREFIX","getPrefixCls","DEFAULT_DATA","DEFAULT_FIELD_NAMES","DEFAULT_EXPANDED_IDS","TreeSelect","forwardRef","_a","ref","prefixCls","className","data","dataSource","disabled","fieldNames","defaultExpandAll","expandedIdsProp","expandedIds","defaultExpandedIds","onExpand","defaultValue","valueProp","value","onChange","searchableProp","searchable","searchModeProp","searchMode","onLoadChildren","titleRender","filterOption","clearable","invalid","displayRender","placeholder","appearance","rest","useToggle","menuVisible","menuVisibleAction","getKeyFields","useCallback","node","key","flattedData","useMemo","flattenTree","id","raw","title","useUncontrolledState","getDefaultExpandedIds","map","tryChangeExpandedIds","tryChangeValue","onSelect","selectedId","selectedNode","setSelectedItem","off","useState","selectedItem","_b","useAsyncSearch","loading","hasError","dataSourceStrategy","customSearchStrategy","useTreeCustomSearch","filterSearchStrategy","useFilterSearch","highlightSearchStrategy","useHighlightSearch","useSearchMode","strategies","stateInSearch","state","setStateInSearch","onSearch","searchValue","keyword","proxyTitleRender","ret","highlight","React","Highlighter","shouldUseSearch","treeProps","ids","prev","mergedData","nextData","concat","uniqBy","cls","cx","Picker","visible","onOpen","on","onClose","trigger","MockInput","suffix","UpOutlined","DownOutlined","focused","isArrayNonEmpty","Tree","selectable","__DEV__","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"TreeSelect.js","sources":["../../src/TreeSelect.tsx"],"sourcesContent":[null],"names":["TREE_SELECT_PREFIX","getPrefixCls","DEFAULT_DATA","DEFAULT_FIELD_NAMES","DEFAULT_EXPANDED_IDS","TreeSelect","forwardRef","_a","ref","prefixCls","className","data","dataSource","disabled","fieldNames","defaultExpandAll","expandedIdsProp","expandedIds","defaultExpandedIds","onExpand","defaultValue","valueProp","value","onChange","searchableProp","searchable","searchModeProp","searchMode","onLoadChildren","titleRender","render","filterOption","onSearchProp","onSearch","clearable","invalid","displayRenderProp","displayRender","placeholderProp","placeholder","appearance","rest","i18n","useLocaleContext","isUndef","get","useToggle","menuVisible","menuVisibleAction","getKeyFields","useCallback","node","key","flattedData","useMemo","baseFlattenTree","tree","childrenFieldName","transform","flattedNode","raw","id","title","isLeaf","useUncontrolledState","getDefaultExpandedIds","map","tryChangeExpandedIds","tryChangeValue","onSelect","selectedId","selectedNode","setSelectedItem","off","useState","selectedItem","_b","useAsyncSearch","loading","hasError","dataSourceStrategy","customSearchStrategy","useTreeCustomSearch","filterSearchStrategy","useFilterSearch","enabled","highlightSearchStrategy","useHighlightSearch","useSearchMode","strategies","stateInSearch","state","setStateInSearch","searchValue","keyword","proxyTitleRender","ret","highlight","React","Highlighter","shouldUseSearch","treeProps","ids","prev","mergedData","nextData","concat","uniqBy","cls","cx","Picker","visible","onOpen","on","onClose","callAllFuncs","trigger","MockInput","suffix","UpOutlined","DownOutlined","focused","isArrayNonEmpty","Tree","selectable","__DEV__","displayName"],"mappings":"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"}
@@ -49,7 +49,14 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
49
49
 
50
50
  var _prefix = classname.getPrefixCls('input');
51
51
  /**
52
- * TODO: What is Input
52
+ * 输入框
53
+ *
54
+ * @TODO:
55
+ * 1. size api 确认
56
+ * 2. 修改类名结构
57
+ * 3. 支持带数字展示
58
+ * 4. InputGroup 模式支持
59
+ * 5. 手动聚焦支持额外配置
53
60
  */
54
61
 
55
62
 
@@ -60,12 +67,10 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
60
67
  role = _a$role === void 0 ? 'input' : _a$role,
61
68
  className = _a.className,
62
69
  style = _a.style,
63
- _a$type = _a.type,
64
- type = _a$type === void 0 ? 'text' : _a$type,
65
70
  _a$size = _a.size,
66
71
  size = _a$size === void 0 ? 'md' : _a$size,
67
72
  _a$appearance = _a.appearance,
68
- appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
73
+ appearance = _a$appearance === void 0 ? 'line' : _a$appearance,
69
74
  prepend = _a.prepend,
70
75
  append = _a.append,
71
76
  prefix = _a.prefix,
@@ -88,7 +93,10 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
88
93
  onFocus = _a.onFocus,
89
94
  onBlur = _a.onBlur,
90
95
  trimValueOnBlur = _a.trimValueOnBlur,
91
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "style", "type", "size", "appearance", "prepend", "append", "prefix", "suffix", "clearableTrigger", "clearable", "invalid", "name", "autoFocus", "disabled", "readOnly", "maxLength", "placeholder", "defaultValue", "value", "onChange", "onFocus", "onBlur", "trimValueOnBlur"]); // @TODO: 临时方案,后面迁移至 InputGroup
96
+ onClear = _a.onClear,
97
+ type = _a.type,
98
+ containerRef = _a.containerRef,
99
+ 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", "onClear", "type", "containerRef"]); // @TODO: 临时方案,后面迁移至 InputGroup
92
100
 
93
101
 
94
102
  var _useMemo = React.useMemo(function () {
@@ -123,8 +131,10 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
123
131
  if (!onChange) return;
124
132
  onChangeMock(onChange, evt, inputElementRef.current, value);
125
133
  }, [onChange]);
134
+ var clearElementRef = React.useRef(null);
126
135
 
127
136
  var _useInput = useInput.useInput({
137
+ clearElementRef: clearElementRef,
128
138
  name: name,
129
139
  autoFocus: autoFocus,
130
140
  disabled: disabled,
@@ -136,7 +146,8 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
136
146
  onChange: proxyOnChange,
137
147
  onFocus: onFocus,
138
148
  onBlur: onBlur,
139
- trimValueOnBlur: trimValueOnBlur
149
+ trimValueOnBlur: trimValueOnBlur,
150
+ type: type
140
151
  }),
141
152
  tryChangeValue = _useInput.tryChangeValue,
142
153
  focused = _useInput.focused,
@@ -148,10 +159,6 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
148
159
 
149
160
  (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();
150
161
  }, []);
151
- var handleReset = React.useCallback(function (evt) {
152
- tryChangeValue('', evt);
153
- focus();
154
- }, [tryChangeValue, focus]);
155
162
 
156
163
  var _useState = React.useState(false),
157
164
  hover = _useState[0],
@@ -160,16 +167,19 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
160
167
 
161
168
  var showClearableIcon = clearable && !!value && !disabled;
162
169
  var mergedRef = index.useMergeRefs(ref, inputElementRef);
163
- var cls = classname.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);
170
+ var cls = classname.cx(prefixCls, className, prefixCls + "--size-" + size, prefixCls + "--appearance-" + appearance);
171
+ var outerCls = classname.cx(prefixCls + "__outer", prepend && prefixCls + "__outer--prepend", prepend && unsetPrepend && prefixCls + "__outer--prepend-unset", append && prefixCls + "__outer--append", append && unsetAppend && prefixCls + "__outer--append-unset");
164
172
  return /*#__PURE__*/React__default['default'].createElement("div", {
165
173
  role: role,
166
174
  className: cls,
167
- style: style
175
+ style: style,
176
+ ref: containerRef
177
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
178
+ className: outerCls
168
179
  }, prepend ? /*#__PURE__*/React__default['default'].createElement("div", {
169
180
  className: prefixCls + "__prepend"
170
181
  }, prepend) : null, /*#__PURE__*/React__default['default'].createElement("div", {
171
- className: classname.cx(prefixCls + "__inner", prefix && prefixCls + "__inner--prefix", suffix && prefixCls + "__inner--suffix", // TODO: bem规范统一
172
- focused && "focused", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),
182
+ className: classname.cx(prefixCls + "__inner", prefix && prefixCls + "__inner--prefix", suffix && prefixCls + "__inner--suffix", focused && prefixCls + "__inner--focused", disabled && prefixCls + "-__inner-disabled", readOnly && prefixCls + "-__inner-readonly", invalid && prefixCls + "__inner--invalid"),
173
183
  onMouseOver: function onMouseOver(e) {
174
184
  setHover(true);
175
185
  },
@@ -180,18 +190,22 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
180
190
  className: prefixCls + "__prefix"
181
191
  }, prefix) : null, /*#__PURE__*/React__default['default'].createElement("input", Object.assign({
182
192
  ref: mergedRef,
183
- className: classname.cx(prefixCls, focused && "focused", disabled && 'disabled', readOnly && 'readonly'),
184
- type: type
193
+ className: prefixCls + "__text"
185
194
  }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
186
195
  className: prefixCls + "__suffix"
187
196
  }, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
188
- className: classname.cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
197
+ ref: clearElementRef,
198
+ className: classname.cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && prefixCls + "__clear--active"),
189
199
  role: "button",
190
200
  tabIndex: -1,
191
- onClick: handleReset
201
+ onClick: function onClick(evt) {
202
+ tryChangeValue('', evt);
203
+ onClear === null || onClear === void 0 ? void 0 : onClear();
204
+ focus();
205
+ }
192
206
  }, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React__default['default'].createElement("div", {
193
207
  className: prefixCls + "__append"
194
- }, append) : null);
208
+ }, append) : null));
195
209
  });
196
210
 
197
211
  if (env.__DEV__) {
@@ -218,13 +232,13 @@ function onChangeMock(onChange, evt, target, targetValue) {
218
232
  event.target = target;
219
233
  event.currentTarget = target;
220
234
  target.value = targetValue;
221
- onChange(event); // 重置为之前值
235
+ onChange(event, targetValue); // 重置为之前值
222
236
 
223
237
  target.value = originalTargetValue;
224
238
  return;
225
239
  }
226
240
 
227
- onChange(event);
241
+ onChange(event, targetValue);
228
242
  }
229
243
 
230
244
  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 * 输入框\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 onClear = _a.onClear,\n type = _a.type,\n containerRef = _a.containerRef,\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\", \"onClear\", \"type\", \"containerRef\"]); // @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\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 ref: containerRef\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: function onClick(evt) {\n tryChangeValue('', evt);\n onClear === null || onClear === void 0 ? void 0 : onClear();\n focus();\n }\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","onClear","type","containerRef","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","_useMemo","unsetAppend","inputElementRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","clearElementRef","useInput","tryChangeValue","_useInput","focused","getInputProps","focus","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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"}
@@ -81,7 +81,7 @@ var MockInput = /*#__PURE__*/React.forwardRef(function (_a, ref) {
81
81
  _a$size = _a.size,
82
82
  size = _a$size === void 0 ? 'md' : _a$size,
83
83
  _a$appearance = _a.appearance,
84
- appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
84
+ appearance = _a$appearance === void 0 ? 'line' : _a$appearance,
85
85
  _a$clearableTrigger = _a.clearableTrigger,
86
86
  clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
87
87
  displayRender = _a.displayRender,
@@ -94,24 +94,27 @@ var MockInput = /*#__PURE__*/React.forwardRef(function (_a, ref) {
94
94
  value = _useUncontrolledState[0],
95
95
  tryChangeValue = _useUncontrolledState[1];
96
96
 
97
- var displayValue = React.useMemo(function () {
97
+ var displayItem = React.useMemo(function () {
98
98
  if (value === '') return null;
99
99
  var displayItem = data.find(function (item) {
100
100
  return item.id === value;
101
101
  });
102
- if (!displayItem) return null;
102
+ return displayItem || null;
103
+ }, [value, data]);
104
+ var displayValue = React.useMemo(function () {
105
+ if (!displayItem) return '';
103
106
 
104
107
  if (displayRender) {
105
108
  return displayRender(displayItem);
106
109
  }
107
110
 
108
111
  return displayItem.title;
109
- }, [data, value, displayRender]);
112
+ }, [displayItem, displayRender]);
110
113
  var handleClear = React.useCallback(function (evt) {
111
114
  if (disabled) return;
112
115
  evt.stopPropagation();
113
- tryChangeValue(NOOP_VALUE);
114
- }, [tryChangeValue, disabled]);
116
+ tryChangeValue(NOOP_VALUE, displayItem);
117
+ }, [tryChangeValue, disabled, displayItem]);
115
118
 
116
119
  var _useState = React.useState(false),
117
120
  hover = _useState[0],