@kdcloudjs/kdesign 1.6.39 → 1.7.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 (69) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/kdesign-complete.less +478 -0
  3. package/dist/kdesign.css +504 -1
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +775 -85
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +2 -2
  8. package/dist/kdesign.min.js +6 -6
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/button/button.js +2 -2
  11. package/es/cascader/cascader.js +14 -3
  12. package/es/cascader/util.js +13 -4
  13. package/es/config-provider/compDefaultProps.d.ts +13 -0
  14. package/es/config-provider/compDefaultProps.js +17 -0
  15. package/es/index.d.ts +1 -0
  16. package/es/index.js +2 -1
  17. package/es/input/ClearableLabeledInput.js +9 -3
  18. package/es/input/input.js +1 -5
  19. package/es/select/interface.d.ts +1 -1
  20. package/es/select/select.js +18 -5
  21. package/es/tree/tree.d.ts +2 -1
  22. package/es/tree/tree.js +4 -3
  23. package/es/tree/utils/treeUtils.js +11 -13
  24. package/es/tree-select/index.d.ts +3 -0
  25. package/es/tree-select/index.js +3 -0
  26. package/es/tree-select/interface.d.ts +68 -0
  27. package/es/tree-select/interface.js +4 -0
  28. package/es/tree-select/style/css.js +2 -0
  29. package/es/tree-select/style/index.css +502 -0
  30. package/es/tree-select/style/index.d.ts +2 -0
  31. package/es/tree-select/style/index.js +2 -0
  32. package/es/tree-select/style/index.less +392 -0
  33. package/es/tree-select/style/mixin.less +29 -0
  34. package/es/tree-select/style/token.less +54 -0
  35. package/es/tree-select/tree-select.d.ts +4 -0
  36. package/es/tree-select/tree-select.js +506 -0
  37. package/es/upload/upload.d.ts +1 -1
  38. package/es/upload/upload.js +4 -3
  39. package/lib/button/button.js +2 -2
  40. package/lib/cascader/cascader.js +14 -3
  41. package/lib/cascader/util.js +13 -4
  42. package/lib/config-provider/compDefaultProps.d.ts +13 -0
  43. package/lib/config-provider/compDefaultProps.js +17 -0
  44. package/lib/index.d.ts +1 -0
  45. package/lib/index.js +7 -0
  46. package/lib/input/ClearableLabeledInput.js +9 -3
  47. package/lib/input/input.js +1 -5
  48. package/lib/select/interface.d.ts +1 -1
  49. package/lib/select/select.js +18 -5
  50. package/lib/style/components.less +1 -0
  51. package/lib/tree/tree.d.ts +2 -1
  52. package/lib/tree/tree.js +4 -3
  53. package/lib/tree/utils/treeUtils.js +11 -13
  54. package/lib/tree-select/index.d.ts +3 -0
  55. package/lib/tree-select/index.js +27 -0
  56. package/lib/tree-select/interface.d.ts +68 -0
  57. package/lib/tree-select/interface.js +13 -0
  58. package/lib/tree-select/style/css.js +4 -0
  59. package/lib/tree-select/style/index.css +502 -0
  60. package/lib/tree-select/style/index.d.ts +2 -0
  61. package/lib/tree-select/style/index.js +4 -0
  62. package/lib/tree-select/style/index.less +392 -0
  63. package/lib/tree-select/style/mixin.less +29 -0
  64. package/lib/tree-select/style/token.less +54 -0
  65. package/lib/tree-select/tree-select.d.ts +4 -0
  66. package/lib/tree-select/tree-select.js +519 -0
  67. package/lib/upload/upload.d.ts +1 -1
  68. package/lib/upload/upload.js +41 -40
  69. package/package.json +3 -4
@@ -0,0 +1,519 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
13
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
15
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
16
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
17
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
18
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
19
+ var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
20
+ var _react = _interopRequireWildcard(require("react"));
21
+ var _hooks = require("../_utils/hooks");
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+ var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
24
+ var _utils = require("../_utils");
25
+ var _index = require("../index");
26
+ var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
27
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+ var INPUT_MIN_WIDTH = 4; // 输入框最小宽度
30
+ function flattenTreeData(treeData) {
31
+ var map = new _map.default();
32
+ function flatten(node) {
33
+ var parentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
34
+ var _a;
35
+ var key = node.key;
36
+ var data = (0, _extends2.default)((0, _extends2.default)({}, node), {
37
+ childrenKeys: [],
38
+ parentKeys: parentKeys
39
+ });
40
+ map.set(key, data);
41
+ if (node.children) {
42
+ var keys = [];
43
+ (_a = node.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
44
+ var _context, _data$childrenKeys, _context2;
45
+ var childKey = flatten(child, (0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)(parentKeys), [key]));
46
+ keys.push(childKey);
47
+ var grandchildrenKeys = map.get(childKey).childrenKeys;
48
+ (_data$childrenKeys = data.childrenKeys).push.apply(_data$childrenKeys, (0, _concat.default)(_context2 = [childKey]).call(_context2, (0, _toConsumableArray2.default)(grandchildrenKeys)));
49
+ });
50
+ }
51
+ return key;
52
+ }
53
+ treeData.forEach(function (node) {
54
+ flatten(node);
55
+ });
56
+ return map;
57
+ }
58
+ var InternalTreeSelect = function InternalTreeSelect(props, ref) {
59
+ var _context3, _classNames4, _classNames10;
60
+ var _useContext = (0, _react.useContext)(_ConfigContext.default),
61
+ getPrefixCls = _useContext.getPrefixCls,
62
+ prefixCls = _useContext.prefixCls,
63
+ userDefaultProps = _useContext.compDefaultProps;
64
+ var treeSelectProps = (0, _utils.getCompProps)('TreeSelect', userDefaultProps, props);
65
+ var size = treeSelectProps.size,
66
+ value = treeSelectProps.value,
67
+ autoFocus = treeSelectProps.autoFocus,
68
+ className = treeSelectProps.className,
69
+ defaultOpen = treeSelectProps.defaultOpen,
70
+ dropdownClassName = treeSelectProps.dropdownClassName,
71
+ disabled = treeSelectProps.disabled,
72
+ borderType = treeSelectProps.borderType,
73
+ _treeSelectProps$show = treeSelectProps.showArrow,
74
+ showArrow = _treeSelectProps$show === void 0 ? true : _treeSelectProps$show,
75
+ allowClear = treeSelectProps.allowClear,
76
+ customPrefixcls = treeSelectProps.prefixCls,
77
+ onFocus = treeSelectProps.onFocus,
78
+ onBlur = treeSelectProps.onBlur,
79
+ onClear = treeSelectProps.onClear,
80
+ onVisibleChange = treeSelectProps.onVisibleChange,
81
+ mode = treeSelectProps.mode,
82
+ showSearch = treeSelectProps.showSearch,
83
+ onChange = treeSelectProps.onChange,
84
+ onSearch = treeSelectProps.onSearch,
85
+ defaultValue = treeSelectProps.defaultValue,
86
+ placeholder = treeSelectProps.placeholder,
87
+ dropdownStyle = treeSelectProps.dropdownStyle,
88
+ style = treeSelectProps.style,
89
+ clearIcon = treeSelectProps.clearIcon,
90
+ filterTreeNode = treeSelectProps.filterTreeNode,
91
+ treeNodeFilterProp = treeSelectProps.treeNodeFilterProp,
92
+ treeNodeLabelProp = treeSelectProps.treeNodeLabelProp,
93
+ _treeSelectProps$popp = treeSelectProps.popperStyle,
94
+ popperStyle = _treeSelectProps$popp === void 0 ? {} : _treeSelectProps$popp,
95
+ tagRender = treeSelectProps.tagRender,
96
+ treeData = treeSelectProps.treeData,
97
+ virtual = treeSelectProps.virtual,
98
+ treeIcon = treeSelectProps.treeIcon,
99
+ showTreeIcon = treeSelectProps.showTreeIcon,
100
+ switcherIcon = treeSelectProps.switcherIcon,
101
+ treeDefaultExpandAll = treeSelectProps.treeDefaultExpandAll,
102
+ treeDefaultExpandedKeys = treeSelectProps.treeDefaultExpandedKeys,
103
+ treeCheckStrictly = treeSelectProps.treeCheckStrictly,
104
+ treeExpandedKeys = treeSelectProps.treeExpandedKeys,
105
+ treeExpandOnClickNode = treeSelectProps.treeExpandOnClickNode,
106
+ treeLoadData = treeSelectProps.treeLoadData,
107
+ onTreeExpand = treeSelectProps.onTreeExpand,
108
+ onSelect = treeSelectProps.onSelect,
109
+ onCheck = treeSelectProps.onCheck;
110
+ var isMultiple = mode === 'multiple'; // 是否多选
111
+ var _useMergedState = (0, _hooks.useMergedState)(isMultiple ? [] : undefined, {
112
+ value: value,
113
+ defaultValue: defaultValue
114
+ }),
115
+ _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
116
+ initValue = _useMergedState2[0],
117
+ setInitValue = _useMergedState2[1];
118
+ var _useState = (0, _react.useState)(treeExpandedKeys),
119
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
120
+ expandedKeys = _useState2[0],
121
+ setExpandedKeys = _useState2[1];
122
+ var _useState3 = (0, _react.useState)([]),
123
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
124
+ selectedKeys = _useState4[0],
125
+ setSelectedKeys = _useState4[1];
126
+ var innerRef = (0, _react.useRef)();
127
+ var selectRef = ref || innerRef;
128
+ var searchRef = (0, _react.useRef)(null); // 搜索框ref
129
+ var selectionRef = (0, _react.useRef)(null);
130
+ var dropDownRef = (0, _react.useRef)(null);
131
+ var measureRef = (0, _react.useRef)(null);
132
+ var _useState5 = (0, _react.useState)(!!props.visible || defaultOpen),
133
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
134
+ optionShow = _useState6[0],
135
+ setOptionShow = _useState6[1]; // 下拉列表是否展示
136
+ var _useState7 = (0, _react.useState)(''),
137
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
138
+ searchValue = _useState8[0],
139
+ setSearchValue = _useState8[1]; // 搜索框定时器
140
+ var _useState9 = (0, _react.useState)(INPUT_MIN_WIDTH),
141
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
142
+ inputWidth = _useState10[0],
143
+ setInputWidth = _useState10[1]; // 输入框宽度
144
+ var _useState11 = (0, _react.useState)(autoFocus),
145
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
146
+ focusd = _useState12[0],
147
+ setFocusd = _useState12[1];
148
+ var _useState13 = (0, _react.useState)([]),
149
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
150
+ selectTreeNodes = _useState14[0],
151
+ setSelectTreeNodes = _useState14[1];
152
+ var TreeMap = (0, _react.useMemo)(function () {
153
+ return flattenTreeData(treeData);
154
+ }, [treeData]);
155
+ var isSelected = (0, _react.useMemo)(function () {
156
+ return !!(selectTreeNodes === null || selectTreeNodes === void 0 ? void 0 : selectTreeNodes.length);
157
+ }, [selectTreeNodes]);
158
+ var selectPrefixCls = getPrefixCls(prefixCls, 'tree-select', customPrefixcls);
159
+ // 选择器样式
160
+ var selectCls = (0, _classnames.default)(selectPrefixCls, className, (0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-visible"), optionShow));
161
+ var selectionCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-selector"), true));
162
+ // 下拉列表框样式
163
+ var dropDownCls = (0, _classnames.default)(dropdownClassName, (0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-dropdown"), true));
164
+ // 多选,单选公共样式
165
+ var commCls = (0, _classnames.default)((_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), (0, _defineProperty2.default)(_classNames4, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), (0, _defineProperty2.default)(_classNames4, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), (0, _defineProperty2.default)(_classNames4, (0, _concat.default)(_context3 = "".concat(selectPrefixCls, "-size-")).call(_context3, size), size), (0, _defineProperty2.default)(_classNames4, "".concat(selectPrefixCls, "-wrapper"), true), _classNames4));
166
+ (0, _react.useEffect)(function () {
167
+ var arr = [];
168
+ if (isMultiple && (initValue === null || initValue === void 0 ? void 0 : initValue.length)) {
169
+ for (var index = 0; index < initValue.length; index++) {
170
+ var key = initValue[index];
171
+ if (TreeMap.has(key)) {
172
+ arr.push(TreeMap.get(key));
173
+ }
174
+ }
175
+ } else {
176
+ if (TreeMap.has(initValue)) {
177
+ arr.push(TreeMap.get(initValue));
178
+ }
179
+ }
180
+ setSelectTreeNodes(arr);
181
+ }, [initValue, TreeMap, isMultiple]);
182
+ (0, _react.useEffect)(function () {
183
+ if (optionShow === false) {
184
+ handleClear();
185
+ }
186
+ }, [optionShow]);
187
+ var handleFocus = (0, _react.useCallback)(function (e) {
188
+ e.stopPropagation();
189
+ setFocusd(true);
190
+ onFocus && onFocus(e);
191
+ }, [onFocus]);
192
+ var handleBlur = (0, _react.useCallback)(function (e) {
193
+ e.stopPropagation();
194
+ setFocusd(false);
195
+ onBlur && onBlur(e);
196
+ }, [onBlur]);
197
+ (0, _react.useEffect)(function () {
198
+ selectionRef.current.addEventListener('mouseup', function (e) {
199
+ var _a;
200
+ var isCloseBtn = ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.className.indexOf('kd-tag-close-icon')) > -1;
201
+ if (isCloseBtn) {
202
+ e.stopPropagation();
203
+ }
204
+ });
205
+ }, []);
206
+ (0, _react.useLayoutEffect)(function () {
207
+ measureRef.current && setInputWidth(measureRef.current.scrollWidth);
208
+ }, [searchValue]);
209
+ var getTreeNodeLabel = function getTreeNodeLabel(node) {
210
+ return (node === null || node === void 0 ? void 0 : node[treeNodeLabelProp]) || (node === null || node === void 0 ? void 0 : node.title);
211
+ };
212
+ // 输入框变化搜索内容
213
+ var handleSearchChange = (0, _react.useCallback)(function (event) {
214
+ var val = event.currentTarget.value;
215
+ setOptionShow(true);
216
+ setSearchValue(val);
217
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(val);
218
+ }, [onSearch]);
219
+ // 清除搜索内容
220
+ var handleClear = (0, _react.useCallback)(function () {
221
+ if (searchRef.current) {
222
+ searchRef.current.value = '';
223
+ setSearchValue('');
224
+ }
225
+ }, [searchRef]);
226
+ // 清空选择器内容
227
+ var handleReset = function handleReset(e) {
228
+ e.stopPropagation();
229
+ if (isMultiple) {
230
+ setInitValue([]);
231
+ } else {
232
+ setInitValue('');
233
+ }
234
+ onClear === null || onClear === void 0 ? void 0 : onClear('');
235
+ setSearchValue('');
236
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined, undefined);
237
+ };
238
+ // 多选模式下清除某一项
239
+ var handleRemove = function handleRemove(e, key) {
240
+ var _context4;
241
+ var _a, _b;
242
+ if (disabled) return;
243
+ var allRemoveKeys = (0, _concat.default)(_context4 = []).call(_context4, (0, _toConsumableArray2.default)(((_a = TreeMap.get(key)) === null || _a === void 0 ? void 0 : _a.childrenKeys) || []), (0, _toConsumableArray2.default)(((_b = TreeMap.get(key)) === null || _b === void 0 ? void 0 : _b.parentKeys) || []), [key]);
244
+ var newSelectTreeNodes = (0, _filter.default)(selectTreeNodes).call(selectTreeNodes, function (item) {
245
+ return !(0, _includes.default)(allRemoveKeys).call(allRemoveKeys, item.key);
246
+ });
247
+ var newKeys = (0, _map2.default)(newSelectTreeNodes).call(newSelectTreeNodes, function (_ref) {
248
+ var key = _ref.key;
249
+ return key;
250
+ });
251
+ if (!Object.hasOwnProperty.call(treeSelectProps, 'value')) {
252
+ setInitValue(newKeys);
253
+ }
254
+ onChange === null || onChange === void 0 ? void 0 : onChange(newKeys, newSelectTreeNodes);
255
+ e.stopPropagation();
256
+ };
257
+ var handleSelect = function handleSelect(keys, state) {
258
+ !isMultiple && !Object.hasOwnProperty.call(treeSelectProps, 'value') && setInitValue(keys[0]);
259
+ setSelectedKeys(keys);
260
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(keys, state);
261
+ !isMultiple && (onChange === null || onChange === void 0 ? void 0 : onChange(keys[0], [TreeMap.get(keys[0])]));
262
+ if (!isMultiple) {
263
+ setOptionShow(false);
264
+ }
265
+ };
266
+ var handleCheck = function handleCheck(keys, state) {
267
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck(keys, state);
268
+ console.log(1111, state);
269
+ onChange === null || onChange === void 0 ? void 0 : onChange(keys);
270
+ !Object.hasOwnProperty.call(treeSelectProps, 'value') && setInitValue(keys);
271
+ };
272
+ var handleExpand = function handleExpand(keys, state) {
273
+ !Object.hasOwnProperty.call(treeSelectProps, 'treeExpandedKeys') && setExpandedKeys(keys);
274
+ onTreeExpand === null || onTreeExpand === void 0 ? void 0 : onTreeExpand(keys, state);
275
+ };
276
+ // 渲染后缀图标
277
+ var renderSuffix = function renderSuffix() {
278
+ var _classNames5;
279
+ var suffixIcon = treeSelectProps.suffixIcon;
280
+ // 选择器下拉icon样式
281
+ var arrowIconCls = (0, _classnames.default)((_classNames5 = {}, (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-icon-arrow"), true), (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-icon-arrow-up"), optionShow), (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-icon-arrow-down"), !optionShow), (0, _defineProperty2.default)(_classNames5, "".concat(selectPrefixCls, "-icon-arrow-focus"), optionShow), _classNames5));
282
+ var iconShow = allowClear && !disabled && (isMultiple ? !!selectTreeNodes.length : (initValue !== null && initValue !== void 0 ? initValue : '') !== '' || searchValue);
283
+ var clearIconCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-icon-clear"), true));
284
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, iconShow && /*#__PURE__*/_react.default.createElement("span", {
285
+ onClick: handleReset,
286
+ onMouseDown: function onMouseDown(e) {
287
+ return e.preventDefault();
288
+ },
289
+ className: clearIconCls
290
+ }, clearIcon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
291
+ type: "close-solid"
292
+ })), showArrow && /*#__PURE__*/_react.default.createElement("span", {
293
+ className: arrowIconCls
294
+ }, suffixIcon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
295
+ type: "arrow-down"
296
+ })));
297
+ };
298
+ var defFilterTreeNode = function defFilterTreeNode(node) {
299
+ var _a;
300
+ if (typeof filterTreeNode === 'function') {
301
+ return filterTreeNode(node, searchValue);
302
+ }
303
+ if ((_a = node === null || node === void 0 ? void 0 : node[treeNodeFilterProp]) === null || _a === void 0 ? void 0 : (0, _includes.default)(_a).call(_a, searchValue)) {
304
+ return true;
305
+ }
306
+ return false;
307
+ };
308
+ var dropRender = function dropRender() {
309
+ var treeProps = {
310
+ expandOnClickNode: treeExpandOnClickNode,
311
+ loadData: treeLoadData,
312
+ treeData: treeData,
313
+ virtual: virtual,
314
+ defaultExpandAll: treeDefaultExpandAll,
315
+ defaultExpandedKeys: treeDefaultExpandedKeys,
316
+ checkStrictly: treeCheckStrictly,
317
+ selectedKeys: selectedKeys,
318
+ expandedKeys: expandedKeys,
319
+ filterValue: searchValue,
320
+ icon: treeIcon,
321
+ showIcon: showTreeIcon,
322
+ switcherIcon: switcherIcon,
323
+ notFoundContent: renderNotContent(),
324
+ filterTreeNode: defFilterTreeNode,
325
+ onSelect: handleSelect,
326
+ onExpand: handleExpand
327
+ };
328
+ if (isMultiple) {
329
+ treeProps.checkable = true;
330
+ treeProps.checkedKeys = initValue;
331
+ treeProps.onCheck = handleCheck;
332
+ }
333
+ return /*#__PURE__*/_react.default.createElement(_index.Tree, (0, _extends2.default)({}, treeProps));
334
+ };
335
+ // 下拉列表为空时显示的内容
336
+ var renderNotContent = function renderNotContent() {
337
+ // 下拉列表为空
338
+ var emptyListCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-dropdown-empty"), true));
339
+ var notFoundContent = treeSelectProps.notFoundContent;
340
+ var emptyContent = notFoundContent || '暂无数据';
341
+ return /*#__PURE__*/_react.default.createElement("div", {
342
+ className: emptyListCls
343
+ }, emptyContent);
344
+ };
345
+ (0, _react.useEffect)(function () {
346
+ var _a;
347
+ if (showSearch && autoFocus && !disabled) {
348
+ (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
349
+ }
350
+ }, [showSearch, autoFocus, disabled]);
351
+ // 渲染下拉列表框
352
+ var renderContent = function renderContent() {
353
+ var dropDownStyle = (0, _extends2.default)({
354
+ width: style === null || style === void 0 ? void 0 : style.width
355
+ }, dropdownStyle);
356
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
357
+ className: dropDownCls,
358
+ style: dropDownStyle,
359
+ ref: dropDownRef
360
+ }, dropRender()));
361
+ };
362
+ // 处理多选tag
363
+ var handleMaxTagHolder = (0, _react.useCallback)(function () {
364
+ var maxTagPlaceholder = treeSelectProps.maxTagPlaceholder;
365
+ if (typeof maxTagPlaceholder === 'function') {
366
+ return /*#__PURE__*/_react.default.createElement(_index.Tag, {
367
+ type: "edit",
368
+ size: size,
369
+ disabled: disabled
370
+ }, maxTagPlaceholder(selectTreeNodes));
371
+ } else {
372
+ return /*#__PURE__*/_react.default.createElement(_index.Tag, {
373
+ type: "edit",
374
+ size: size,
375
+ disabled: disabled
376
+ }, maxTagPlaceholder);
377
+ }
378
+ }, [selectTreeNodes]);
379
+ var renderSingle = function renderSingle() {
380
+ var label = '';
381
+ if (isSelected) {
382
+ label = getTreeNodeLabel(selectTreeNodes[0]);
383
+ }
384
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
385
+ className: singleCls,
386
+ ref: selectionRef,
387
+ title: label
388
+ }, /*#__PURE__*/_react.default.createElement("span", {
389
+ className: "".concat(selectPrefixCls, "-selection-search")
390
+ }, /*#__PURE__*/_react.default.createElement("input", {
391
+ ref: searchRef,
392
+ value: searchValue,
393
+ className: "".concat(selectPrefixCls, "-selection-search-input"),
394
+ onChange: handleSearchChange,
395
+ onFocus: handleFocus,
396
+ onBlur: handleBlur,
397
+ readOnly: !showSearch || !!disabled
398
+ })), isSelected && !searchValue && /*#__PURE__*/_react.default.createElement("span", {
399
+ className: "".concat(selectPrefixCls, "-selection-item")
400
+ }, label), !isSelected && !searchValue && /*#__PURE__*/_react.default.createElement("span", {
401
+ className: "".concat(selectPrefixCls, "-placeholder")
402
+ }, placeholder), /*#__PURE__*/_react.default.createElement("span", {
403
+ className: "".concat(selectPrefixCls, "-suffix")
404
+ }, renderSuffix())));
405
+ };
406
+ var renderMultiple = function renderMultiple() {
407
+ var _context5, _classNames8, _context6, _classNames9;
408
+ var maxTagCount = treeSelectProps.maxTagCount,
409
+ maxTagPlaceholder = treeSelectProps.maxTagPlaceholder;
410
+ var multipleCls = (0, _classnames.default)(commCls, (_classNames8 = {}, (0, _defineProperty2.default)(_classNames8, "".concat(selectPrefixCls, "-multiple-disabled"), disabled), (0, _defineProperty2.default)(_classNames8, (0, _concat.default)(_context5 = "".concat(selectPrefixCls, "-")).call(_context5, mode), mode), (0, _defineProperty2.default)(_classNames8, "".concat(selectPrefixCls, "-focused"), focusd || optionShow), (0, _defineProperty2.default)(_classNames8, "".concat(selectPrefixCls, "-placeholder"), placeholder && !selectTreeNodes.length), _classNames8));
411
+ var itemCls = (0, _classnames.default)((_classNames9 = {}, (0, _defineProperty2.default)(_classNames9, "".concat(selectPrefixCls, "-selection-item"), true), (0, _defineProperty2.default)(_classNames9, (0, _concat.default)(_context6 = "".concat(selectPrefixCls, "-selection-item-")).call(_context6, size), size), _classNames9));
412
+ var TagStyle = {
413
+ margin: '2px 8px 2px 0',
414
+ maxWidth: '100%'
415
+ };
416
+ return /*#__PURE__*/_react.default.createElement("div", {
417
+ className: multipleCls,
418
+ ref: selectionRef
419
+ }, Array.isArray(selectTreeNodes) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _map2.default)(selectTreeNodes).call(selectTreeNodes, function (item, index) {
420
+ var key = item.key;
421
+ var label = getTreeNodeLabel(item);
422
+ return (!maxTagCount || index <= maxTagCount - 1) && /*#__PURE__*/_react.default.createElement("span", {
423
+ key: key,
424
+ className: (0, _classnames.default)("".concat(selectPrefixCls, "-selection-tag")),
425
+ onMouseDown: function onMouseDown(e) {
426
+ return e.preventDefault();
427
+ }
428
+ }, typeof tagRender === 'function' ? tagRender === null || tagRender === void 0 ? void 0 : tagRender((0, _extends2.default)({
429
+ onClose: handleRemove,
430
+ disabled: disabled,
431
+ size: size
432
+ }, item)) : /*#__PURE__*/_react.default.createElement(_index.Tag, {
433
+ type: "edit",
434
+ style: TagStyle,
435
+ size: size,
436
+ closable: true,
437
+ disabled: disabled,
438
+ onClose: function onClose(e) {
439
+ return handleRemove(e, key);
440
+ },
441
+ "data-tag": key
442
+ }, label));
443
+ }), maxTagCount && selectTreeNodes.length > maxTagCount ? maxTagPlaceholder ? handleMaxTagHolder() : /*#__PURE__*/_react.default.createElement("span", {
444
+ className: itemCls
445
+ }, /*#__PURE__*/_react.default.createElement("span", {
446
+ className: "".concat(selectPrefixCls, "-selection-item-content")
447
+ }, "\u5171", selectTreeNodes.length, "\u9879")) : null), /*#__PURE__*/_react.default.createElement("span", {
448
+ className: "".concat(selectPrefixCls, "-selection-search"),
449
+ style: {
450
+ width: inputWidth
451
+ }
452
+ }, /*#__PURE__*/_react.default.createElement("input", {
453
+ ref: searchRef,
454
+ value: searchValue,
455
+ className: "".concat(selectPrefixCls, "-selection-search-input"),
456
+ onChange: handleSearchChange,
457
+ onFocus: handleFocus,
458
+ onBlur: handleBlur,
459
+ readOnly: !showSearch || !!disabled
460
+ }), /*#__PURE__*/_react.default.createElement("span", {
461
+ ref: measureRef,
462
+ className: "".concat(selectPrefixCls, "-selection-search-mirror")
463
+ }, searchValue, "\xA0")), /*#__PURE__*/_react.default.createElement("span", {
464
+ className: "".concat(selectPrefixCls, "-placeholder")
465
+ }, !(selectTreeNodes === null || selectTreeNodes === void 0 ? void 0 : selectTreeNodes.length) && !searchValue && placeholder), /*#__PURE__*/_react.default.createElement("span", {
466
+ className: "".concat(selectPrefixCls, "-suffix")
467
+ }, renderSuffix()));
468
+ };
469
+ var singleCls = (0, _classnames.default)(commCls, (_classNames10 = {}, (0, _defineProperty2.default)(_classNames10, "".concat(selectPrefixCls, "-single"), true), (0, _defineProperty2.default)(_classNames10, "".concat(selectPrefixCls, "-single-disabled"), disabled), (0, _defineProperty2.default)(_classNames10, "".concat(selectPrefixCls, "-single-focused"), focusd && !disabled || optionShow), _classNames10));
470
+ var renderSelect = function renderSelect() {
471
+ return /*#__PURE__*/_react.default.createElement("div", {
472
+ className: selectCls,
473
+ ref: selectRef,
474
+ style: style
475
+ }, /*#__PURE__*/_react.default.createElement("span", {
476
+ className: selectionCls,
477
+ tabIndex: disabled ? -1 : 0,
478
+ onFocus: function onFocus() {
479
+ var _a;
480
+ return (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
481
+ },
482
+ onBlur: function onBlur() {
483
+ var _a;
484
+ return (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.blur();
485
+ }
486
+ }, !isMultiple ? renderSingle() : renderMultiple()));
487
+ };
488
+ var catchStyle = function catchStyle() {
489
+ var _a;
490
+ if (selectRef === null || selectRef === void 0 ? void 0 : selectRef.current) {
491
+ var _ref2 = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect(),
492
+ width = _ref2.width;
493
+ return (0, _extends2.default)({
494
+ width: (dropdownStyle === null || dropdownStyle === void 0 ? void 0 : dropdownStyle.width) || (width > 75 ? width : 75),
495
+ zIndex: 1050
496
+ }, popperStyle);
497
+ }
498
+ };
499
+ var handleVisibleChange = function handleVisibleChange(visible) {
500
+ if (visible !== optionShow) {
501
+ props.visible === undefined && setOptionShow(visible);
502
+ onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(visible);
503
+ }
504
+ };
505
+ var popperProps = (0, _extends2.default)((0, _extends2.default)({}, treeSelectProps), {
506
+ prefixCls: selectPrefixCls,
507
+ placement: 'bottomLeft',
508
+ popperStyle: catchStyle(),
509
+ defaultVisible: optionShow,
510
+ visible: optionShow,
511
+ onVisibleChange: handleVisibleChange,
512
+ clickToClose: !(showSearch && searchValue)
513
+ });
514
+ return (0, _usePopper.default)(renderSelect(), renderContent(), popperProps);
515
+ };
516
+ var TreeSelect = /*#__PURE__*/_react.default.forwardRef(InternalTreeSelect);
517
+ TreeSelect.displayName = 'TreeSelect';
518
+ var _default = TreeSelect;
519
+ exports.default = _default;
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import React from 'react';
2
2
  import { UploadProps } from './interface';
3
3
  declare const Upload: React.ForwardRefExoticComponent<UploadProps<any> & React.RefAttributes<unknown>>;
4
4
  export default Upload;