@kdcloudjs/kdesign 1.6.15 → 1.6.16

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 (38) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/kdesign-complete.less +2 -0
  3. package/dist/kdesign.css +5 -1
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +444 -150
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +2 -2
  8. package/dist/kdesign.min.js +8 -8
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/date-picker/range/input-range.js +1 -1
  11. package/es/date-picker/single/input-date.js +1 -1
  12. package/es/modal/style/index.css +4 -0
  13. package/es/modal/style/index.less +2 -0
  14. package/es/select/select.js +4 -3
  15. package/es/table/feature/useFooterDataSource.d.ts +3 -0
  16. package/es/table/feature/useFooterDataSource.js +11 -0
  17. package/es/table/interface.d.ts +1 -0
  18. package/es/table/table.js +10 -9
  19. package/es/tree/tree.js +15 -1
  20. package/es/tree/treeHooks.d.ts +1 -1
  21. package/es/tree/treeHooks.js +5 -5
  22. package/es/tree/utils/treeUtils.d.ts +3 -2
  23. package/es/tree/utils/treeUtils.js +49 -17
  24. package/lib/date-picker/range/input-range.js +1 -1
  25. package/lib/date-picker/single/input-date.js +1 -1
  26. package/lib/modal/style/index.css +4 -0
  27. package/lib/modal/style/index.less +2 -0
  28. package/lib/select/select.js +4 -3
  29. package/lib/table/feature/useFooterDataSource.d.ts +3 -0
  30. package/lib/table/feature/useFooterDataSource.js +19 -0
  31. package/lib/table/interface.d.ts +1 -0
  32. package/lib/table/table.js +11 -9
  33. package/lib/tree/tree.js +16 -1
  34. package/lib/tree/treeHooks.d.ts +1 -1
  35. package/lib/tree/treeHooks.js +5 -5
  36. package/lib/tree/utils/treeUtils.d.ts +3 -2
  37. package/lib/tree/utils/treeUtils.js +54 -19
  38. package/package.json +1 -1
@@ -140,7 +140,7 @@ function InputDate(props, ref) {
140
140
  }
141
141
 
142
142
  var getSuffixNode = function getSuffixNode() {
143
- if (isMouseEnter && (startHoverValue || endHoverValue || startText || endText)) {
143
+ if (isMouseEnter && (startHoverValue || endHoverValue || startText || endText) && allowClear) {
144
144
  return clearNode;
145
145
  }
146
146
 
@@ -60,7 +60,7 @@ function InputDate(props, ref) {
60
60
  var placeholder = getPlaceholder(picker, locale, propsPlaceholder);
61
61
 
62
62
  var getSuffixNode = function getSuffixNode() {
63
- if (isMouseEnter && (hoverValue || text)) {
63
+ if (isMouseEnter && (hoverValue || text) && allowClear) {
64
64
  return null;
65
65
  }
66
66
 
@@ -160,6 +160,8 @@
160
160
  -ms-flex-align: center;
161
161
  align-items: center;
162
162
  height: var(--kd-c-modal-header-sizing-height, 50px);
163
+ -ms-flex-negative: 0;
164
+ flex-shrink: 0;
163
165
  }
164
166
  .kd-modal-container-box .kd-modal-header .kd-modal-title-container {
165
167
  display: -webkit-box;
@@ -242,6 +244,8 @@
242
244
  align-items: center;
243
245
  font-size: var(--kd-c-modal-footer-font-size, 14px);
244
246
  color: var(--kd-c-modal-footer-text-color, var(--kd-g-color-text-secondary, #666));
247
+ -ms-flex-negative: 0;
248
+ flex-shrink: 0;
245
249
  }
246
250
  .kd-modal-margin-btn {
247
251
  margin-right: var(--kd-c-modal-footer-button-spacing, 12px);
@@ -58,6 +58,7 @@
58
58
  padding: @modal-header-sizing-padding-vertical @modal-header-sizing-padding-horizontal;
59
59
  align-items: center;
60
60
  height: @modal-header-sizing-height;
61
+ flex-shrink: 0;
61
62
  .@{modal-prefix-cls}-title-container {
62
63
  display: flex;
63
64
  justify-content: center;
@@ -113,6 +114,7 @@
113
114
  align-items: center;
114
115
  font-size: @modal-footer-font-size;
115
116
  color: @modal-footer-font-color;
117
+ flex-shrink: 0;
116
118
  }
117
119
  // each(@modal-footer-type-set, {
118
120
  // .@{modal-prefix-cls}-@{key}-footer {
@@ -464,9 +464,8 @@ var InternalSelect = function InternalSelect(props, ref) {
464
464
  }; // 多选模式下清除某一项
465
465
 
466
466
 
467
- var handleRemove = function handleRemove(e) {
467
+ var handleRemove = function handleRemove(e, tag) {
468
468
  if (disabled) return;
469
- var tag = e.currentTarget.parentNode.getAttribute('data-tag');
470
469
  var _multipleRef$current4 = multipleRef.current,
471
470
  selectedVal = _multipleRef$current4.selectedVal,
472
471
  selectMulOpts = _multipleRef$current4.selectMulOpts;
@@ -670,7 +669,9 @@ var InternalSelect = function InternalSelect(props, ref) {
670
669
  size: size,
671
670
  closable: true,
672
671
  disabled: disabled,
673
- onClose: handleRemove,
672
+ onClose: function onClose(e) {
673
+ return handleRemove(e, value);
674
+ },
674
675
  "data-tag": value
675
676
  }, label));
676
677
  }), maxTagCount && mulOptions.length > maxTagCount ? maxTagPlaceholder ? handleMaxTagHolder() : /*#__PURE__*/React.createElement("span", {
@@ -0,0 +1,3 @@
1
+ import { TablePipeline } from '../interface';
2
+ declare function useFooterDataSource(pipeline: TablePipeline, footerDataSource: any[] | undefined): void;
3
+ export default useFooterDataSource;
@@ -0,0 +1,11 @@
1
+ import { features } from '@kdcloudjs/table';
2
+
3
+ function useFooterDataSource(pipeline, footerDataSource) {
4
+ if (footerDataSource) {
5
+ pipeline.use(features.footerDataSource({
6
+ dataSource: footerDataSource
7
+ }));
8
+ }
9
+ }
10
+
11
+ export default useFooterDataSource;
@@ -14,6 +14,7 @@ export declare type TableApi = {
14
14
  getColumns: () => any[];
15
15
  getDataSource: () => any[];
16
16
  getFooterDataSource: () => any[];
17
+ clearRangeSelection: () => void;
17
18
  };
18
19
  export declare type TableInstance = {
19
20
  api: TableApi;
package/es/table/table.js CHANGED
@@ -20,6 +20,7 @@ import useContextMenu from './feature/contextMenu';
20
20
  import useRangeSelection from './feature/useRangeSelection';
21
21
  import useMergeCellHover from './feature/mergeCellHover';
22
22
  import devWarning from '../_utils/devwarning';
23
+ import useFooterDataSource from './feature/useFooterDataSource';
23
24
  var Table = /*#__PURE__*/forwardRef(function (props, ref) {
24
25
  var columns = props.columns,
25
26
  dataSource = props.dataSource,
@@ -69,22 +70,21 @@ var Table = /*#__PURE__*/forwardRef(function (props, ref) {
69
70
  dataSource: dataSource
70
71
  });
71
72
  var pipelineRef = useRef(pipeline);
72
- pipelineRef.current = pipeline;
73
-
74
- if (footerDataSource) {
75
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
76
- // @ts-ignore
77
- pipeline.footerDataSource(footerDataSource);
78
- }
73
+ pipelineRef.current = pipeline; // if (footerDataSource) {
74
+ // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
75
+ // // @ts-ignore
76
+ // pipeline.footerDataSource(footerDataSource)
77
+ // }
79
78
 
80
79
  useImperativeHandle(ref, function () {
81
- var _a, _b, _c;
80
+ var _a, _b, _c, _d;
82
81
 
83
82
  return {
84
83
  api: {
85
84
  getColumns: (_a = pipelineRef.current.getColumns) === null || _a === void 0 ? void 0 : _a.bind(pipelineRef.current),
86
85
  getDataSource: (_b = pipelineRef.current.getDataSource) === null || _b === void 0 ? void 0 : _b.bind(pipelineRef.current),
87
- getFooterDataSource: (_c = pipelineRef.current.getFooterDataSource) === null || _c === void 0 ? void 0 : _c.bind(pipelineRef.current)
86
+ getFooterDataSource: (_c = pipelineRef.current.getFooterDataSource) === null || _c === void 0 ? void 0 : _c.bind(pipelineRef.current),
87
+ clearRangeSelection: (_d = pipelineRef.current.clearRangeSelection) === null || _d === void 0 ? void 0 : _d.bind(pipelineRef.current)
88
88
  }
89
89
  };
90
90
  });
@@ -105,6 +105,7 @@ var Table = /*#__PURE__*/forwardRef(function (props, ref) {
105
105
  useContextMenu(pipeline, contextMenu);
106
106
  useRangeSelection(pipeline, rangeSelection);
107
107
  useMergeCellHover(pipeline);
108
+ useFooterDataSource(pipeline, footerDataSource);
108
109
  /* -------------------------------------------------------------------------- */
109
110
 
110
111
  /* after useTablePipeline, merge pipeline.getProps result */
package/es/tree/tree.js CHANGED
@@ -130,11 +130,19 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
130
130
  loadingKeys = _React$useState14[0],
131
131
  setLoadingKeys = _React$useState14[1];
132
132
 
133
+ var _React$useState15 = React.useState([]),
134
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
135
+ searchExpandedKeys = _React$useState16[0],
136
+ setSearchExpandedKeys = _React$useState16[1];
137
+
133
138
  var isSearching = React.useMemo(function () {
134
139
  return typeof filterTreeNode === 'function' && filterValue;
135
140
  }, [filterValue]);
141
+ useEffect(function () {
142
+ setSearchExpandedKeys([]);
143
+ }, [filterValue]);
136
144
 
137
- var _useExpand = useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData),
145
+ var _useExpand = useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchExpandedKeys),
138
146
  _useExpand2 = _slicedToArray(_useExpand, 2),
139
147
  expandedKeys = _useExpand2[0],
140
148
  setExpandedKeys = _useExpand2[1];
@@ -229,6 +237,12 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
229
237
  node: node,
230
238
  expanded: expanded
231
239
  });
240
+
241
+ if (isSearching) {
242
+ var newSearchExpandedKeys = expanded ? addKeys(searchExpandedKeys, [key]) : delKey(searchExpandedKeys, [key]);
243
+ setSearchExpandedKeys(newSearchExpandedKeys);
244
+ }
245
+
232
246
  setScrollKey('');
233
247
  setIsInit(false);
234
248
 
@@ -4,6 +4,6 @@ export declare const useViewportHeight: (height: number, listRef: React.RefObjec
4
4
  export declare const useVisibleDataMemo: (virtual: boolean, filterData: TreeNodeData[], viewportHeight: number, estimatedItemSize: number, start: number) => TreeNodeData[][];
5
5
  export declare const usePlantomHeightEffect: (plantomRef: React.RefObject<HTMLElement>, filterData: TreeNodeData[], estimatedItemSize: number) => void;
6
6
  export declare const useChecked: (checkStrictly: boolean, checkedKeysProps: string[], defaultCheckedKeys: string[], _flattenAllData: any[], _maxLevel: number, checkable: boolean, keysData: KeysDataType) => readonly [string[], string[], React.Dispatch<React.SetStateAction<string[]>>, React.Dispatch<React.SetStateAction<string[]>>];
7
- export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
7
+ export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchExpandedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
8
8
  export declare const useScrollToKey: (scrollKey: string, index: number, estimatedItemSize: number, scrollRef: any, viewportHeight: number, treeNodePrefixCls: string) => void;
9
9
  export declare const useSelect: (selectedKeysProps: string[], defaultSelectedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
@@ -64,7 +64,7 @@ export var useChecked = function useChecked(checkStrictly, checkedKeysProps, def
64
64
  }, [nextHalfCheckedKeys]);
65
65
  return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
66
66
  };
67
- export var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData) {
67
+ export var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchExpandedKeys) {
68
68
  var expandScrollkeys = [];
69
69
 
70
70
  if (scrollKey) {
@@ -73,8 +73,8 @@ export var useExpand = function useExpand(flattenAllData, expandedKeysProps, def
73
73
  }
74
74
 
75
75
  var initialExpandedKeys = React.useMemo(function () {
76
- return getInitExpandedKeys(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData);
77
- }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData]);
76
+ return getInitExpandedKeys(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, searchExpandedKeys);
77
+ }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, searchExpandedKeys]);
78
78
  var newExpandedKeys = React.useMemo(function () {
79
79
  return getExpandedKeys(expandedKeysProps, expandScrollkeys);
80
80
  }, [expandedKeysProps]);
@@ -85,9 +85,9 @@ export var useExpand = function useExpand(flattenAllData, expandedKeysProps, def
85
85
  setExpandedKeys = _React$useState8[1];
86
86
 
87
87
  React.useEffect(function () {
88
- var keys = isInit ? initialExpandedKeys : newExpandedKeys;
88
+ var keys = isInit || isSearching ? initialExpandedKeys : newExpandedKeys;
89
89
  setExpandedKeys(keys);
90
- }, [newExpandedKeys, initialExpandedKeys]);
90
+ }, [newExpandedKeys, initialExpandedKeys, isSearching, isInit]);
91
91
  return [expandedKeys, setExpandedKeys];
92
92
  };
93
93
  export var useScrollToKey = function useScrollToKey(scrollKey, index, estimatedItemSize, scrollRef, viewportHeight, treeNodePrefixCls) {
@@ -16,7 +16,8 @@ export declare const getExpand: (expandedKeys: string[], key: string) => boolean
16
16
  export declare const getChecked: (checkedKeys: string[], key: string) => boolean;
17
17
  export declare const getSelected: (selectedKeys: string[], key: string) => boolean;
18
18
  export declare const getHalfChecked: (halfCheckedKeys: string[], key: string) => boolean;
19
- export declare const getAllFilterKeys: (data: any[], filterTreeNode: FunctionConstructor, keysData: KeysDataType) => any[];
19
+ export declare function findfilterChildrenKeys(node: any, allFilterKeys: Set<any>): Set<string>;
20
+ export declare const getAllFilterKeys: (data: any[], filterTreeNode: FunctionConstructor, keysData: KeysDataType) => any;
20
21
  export declare const getFilterData: (data: any[], filterTreeNode: FunctionConstructor, isSearching: boolean, posData?: {}, keysData?: {}) => any[];
21
22
  export declare const getMaxLevel: (data: any[]) => number;
22
23
  /**
@@ -59,6 +60,6 @@ export declare const getDataCheckededStateStrictly: (checkedKeys: string[]) => {
59
60
  };
60
61
  export declare const delKey: (prevKeys: string[], delKeys: string[]) => never[] & string[];
61
62
  export declare const getAllNodeKeys: (data: any[]) => string[];
62
- export declare const getInitExpandedKeys: (data: any[], expandedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, expandScrollkeys: string[] | undefined, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType) => string[];
63
+ export declare const getInitExpandedKeys: (data: any[], expandedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, expandScrollkeys: string[] | undefined, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchExpandedKeys: string[]) => string[];
63
64
  export declare const getExpandedKeys: (expandedKeys: string[], expandScrollkeys?: string[]) => string[];
64
65
  export declare const calcDropPosition: (event: React.MouseEvent, dropNode: HTMLElement) => 0 | 1 | -1;
@@ -3,12 +3,12 @@ import _extends from "@babel/runtime-corejs3/helpers/extends";
3
3
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
4
4
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
5
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
6
- import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
7
6
  import _Set from "@babel/runtime-corejs3/core-js-stable/set";
7
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
8
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
8
9
  import _startsWithInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/starts-with";
9
10
  import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
10
11
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
11
- import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
12
12
  import _spliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/splice";
13
13
 
14
14
  var __rest = this && this.__rest || function (s, e) {
@@ -124,21 +124,52 @@ var isAllParentExpand = function isAllParentExpand(_data, pos, posData) {
124
124
  return expand;
125
125
  };
126
126
 
127
+ export function findfilterChildrenKeys(node, allFilterKeys) {
128
+ var nodes = new _Set();
129
+
130
+ var loop = function loop(children) {
131
+ _mapInstanceProperty(children).call(children, function (child) {
132
+ var key = child.key;
133
+ var item = child;
134
+ allFilterKeys.add(key);
135
+ loop(item.children || []);
136
+ });
137
+ };
138
+
139
+ if (node) {
140
+ loop(node.children || []);
141
+ }
142
+
143
+ return nodes;
144
+ }
127
145
  export var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, keysData) {
128
- var allFilterKeys = [];
146
+ var allFilterKeys = new _Set();
147
+ var filterExpandKeys = new _Set();
129
148
 
130
- _filterInstanceProperty(data).call(data, function (item) {
149
+ var filterKeys = _filterInstanceProperty(data).call(data, function (item) {
131
150
  return filterTreeNode === null || filterTreeNode === void 0 ? void 0 : filterTreeNode(item);
132
- }).forEach(function (item) {
151
+ });
152
+
153
+ filterKeys.forEach(function (item) {
154
+ findfilterChildrenKeys(item, allFilterKeys);
155
+ });
156
+ filterKeys.forEach(function (item) {
133
157
  var node = _extends({}, item);
134
158
 
135
159
  while (node) {
136
- allFilterKeys.push(node.key);
160
+ var _context3;
161
+
162
+ allFilterKeys.add(node.key);
163
+ !_includesInstanceProperty(_context3 = _mapInstanceProperty(filterKeys).call(filterKeys, function (i) {
164
+ return i.key;
165
+ })).call(_context3, node.key) && filterExpandKeys.add(node.key);
137
166
  node = (keysData === null || keysData === void 0 ? void 0 : keysData[node === null || node === void 0 ? void 0 : node.parentKey]) || null;
138
167
  }
139
168
  });
140
-
141
- return _toConsumableArray(new _Set(allFilterKeys));
169
+ return {
170
+ allFilterKeys: _toConsumableArray(allFilterKeys),
171
+ filterExpandKeys: _toConsumableArray(filterExpandKeys)
172
+ };
142
173
  };
143
174
  export var getFilterData = function getFilterData(data, filterTreeNode, isSearching) {
144
175
  var posData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
@@ -147,7 +178,7 @@ export var getFilterData = function getFilterData(data, filterTreeNode, isSearch
147
178
  var allFilterKeys = null;
148
179
 
149
180
  if (isSearching) {
150
- allFilterKeys = getAllFilterKeys(filterData, filterTreeNode, keysData);
181
+ allFilterKeys = getAllFilterKeys(filterData, filterTreeNode, keysData).allFilterKeys;
151
182
  filterData = _filterInstanceProperty(filterData).call(filterData, function (item) {
152
183
  return _includesInstanceProperty(allFilterKeys).call(allFilterKeys, item.key);
153
184
  });
@@ -298,11 +329,11 @@ export var getSpreadAttrData = function getSpreadAttrData(treeData, expandedKeys
298
329
  };
299
330
  };
300
331
  export var addKeys = function addKeys() {
301
- var _context3;
332
+ var _context4;
302
333
 
303
334
  var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
304
335
  var newKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
305
- return _Array$from(new _Set(_concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(prevKeys), _toConsumableArray(newKeys))));
336
+ return _Array$from(new _Set(_concatInstanceProperty(_context4 = []).call(_context4, _toConsumableArray(prevKeys), _toConsumableArray(newKeys))));
306
337
  };
307
338
  export var getAllParentKeys = function getAllParentKeys(data) {
308
339
  var pos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
@@ -355,14 +386,14 @@ export var getPos = function getPos(data, key) {
355
386
  return node === null || node === void 0 ? void 0 : node.pos;
356
387
  };
357
388
  export var getInitCheckedKeys = function getInitCheckedKeys(data, keys) {
358
- var _context4;
389
+ var _context5;
359
390
 
360
391
  var checkedKeys = [];
361
392
  keys.forEach(function (item) {
362
393
  var pos = getPos(data, item);
363
394
  checkedKeys.push.apply(checkedKeys, _toConsumableArray(getAllChildKeys(data, pos)));
364
395
  });
365
- return _Array$from(new _Set(_concatInstanceProperty(_context4 = []).call(_context4, checkedKeys, _toConsumableArray(keys))));
396
+ return _Array$from(new _Set(_concatInstanceProperty(_context5 = []).call(_context5, checkedKeys, _toConsumableArray(keys))));
366
397
  };
367
398
  export var getInitCheckededState = function getInitCheckededState(data) {
368
399
  var checkedKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -484,7 +515,7 @@ var updateParent = function updateParent(key, keysNodeProps, allKeys, halfChecke
484
515
  };
485
516
 
486
517
  export var getInitCheckededKeys = function getInitCheckededKeys() {
487
- var _context5;
518
+ var _context6;
488
519
 
489
520
  var checkedKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
490
521
  var keysNodeProps = arguments.length > 1 ? arguments[1] : undefined;
@@ -506,7 +537,7 @@ export var getInitCheckededKeys = function getInitCheckededKeys() {
506
537
  }
507
538
  });
508
539
  return {
509
- checkedKeys: _toConsumableArray(new _Set(_concatInstanceProperty(_context5 = []).call(_context5, _toConsumableArray(checkedKeysSet), _toConsumableArray(childCheckedKeysSet)))),
540
+ checkedKeys: _toConsumableArray(new _Set(_concatInstanceProperty(_context6 = []).call(_context6, _toConsumableArray(checkedKeysSet), _toConsumableArray(childCheckedKeysSet)))),
510
541
  halfCheckedKeys: _toConsumableArray(halfCheckedKeysSet)
511
542
  };
512
543
  };
@@ -672,6 +703,7 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
672
703
  var filterTreeNode = arguments.length > 7 ? arguments[7] : undefined;
673
704
  var isSearching = arguments.length > 8 ? arguments[8] : undefined;
674
705
  var keysData = arguments.length > 9 ? arguments[9] : undefined;
706
+ var searchExpandedKeys = arguments.length > 10 ? arguments[10] : undefined;
675
707
  var keys = (expandedKeys === null || expandedKeys === void 0 ? void 0 : _concatInstanceProperty(expandedKeys).call(expandedKeys, expandScrollkeys)) || (defaultExpandedKeys === null || defaultExpandedKeys === void 0 ? void 0 : _concatInstanceProperty(defaultExpandedKeys).call(defaultExpandedKeys, expandScrollkeys)) || [];
676
708
 
677
709
  if (defaultExpandAll) {
@@ -695,9 +727,9 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
695
727
  }
696
728
 
697
729
  if (isSearching) {
698
- var _context6;
730
+ var _context7;
699
731
 
700
- keys = _concatInstanceProperty(_context6 = []).call(_context6, _toConsumableArray(keys), _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData)));
732
+ keys = _concatInstanceProperty(_context7 = []).call(_context7, _toConsumableArray(searchExpandedKeys), _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys));
701
733
  }
702
734
 
703
735
  return _Array$from(new _Set(_toConsumableArray(keys)));
@@ -167,7 +167,7 @@ function InputDate(props, ref) {
167
167
  }
168
168
 
169
169
  var getSuffixNode = function getSuffixNode() {
170
- if (isMouseEnter && (startHoverValue || endHoverValue || startText || endText)) {
170
+ if (isMouseEnter && (startHoverValue || endHoverValue || startText || endText) && allowClear) {
171
171
  return clearNode;
172
172
  }
173
173
 
@@ -87,7 +87,7 @@ function InputDate(props, ref) {
87
87
  var placeholder = (0, _utils.getPlaceholder)(picker, locale, propsPlaceholder);
88
88
 
89
89
  var getSuffixNode = function getSuffixNode() {
90
- if (isMouseEnter && (hoverValue || text)) {
90
+ if (isMouseEnter && (hoverValue || text) && allowClear) {
91
91
  return null;
92
92
  }
93
93
 
@@ -160,6 +160,8 @@
160
160
  -ms-flex-align: center;
161
161
  align-items: center;
162
162
  height: var(--kd-c-modal-header-sizing-height, 50px);
163
+ -ms-flex-negative: 0;
164
+ flex-shrink: 0;
163
165
  }
164
166
  .kd-modal-container-box .kd-modal-header .kd-modal-title-container {
165
167
  display: -webkit-box;
@@ -242,6 +244,8 @@
242
244
  align-items: center;
243
245
  font-size: var(--kd-c-modal-footer-font-size, 14px);
244
246
  color: var(--kd-c-modal-footer-text-color, var(--kd-g-color-text-secondary, #666));
247
+ -ms-flex-negative: 0;
248
+ flex-shrink: 0;
245
249
  }
246
250
  .kd-modal-margin-btn {
247
251
  margin-right: var(--kd-c-modal-footer-button-spacing, 12px);
@@ -58,6 +58,7 @@
58
58
  padding: @modal-header-sizing-padding-vertical @modal-header-sizing-padding-horizontal;
59
59
  align-items: center;
60
60
  height: @modal-header-sizing-height;
61
+ flex-shrink: 0;
61
62
  .@{modal-prefix-cls}-title-container {
62
63
  display: flex;
63
64
  justify-content: center;
@@ -113,6 +114,7 @@
113
114
  align-items: center;
114
115
  font-size: @modal-footer-font-size;
115
116
  color: @modal-footer-font-color;
117
+ flex-shrink: 0;
116
118
  }
117
119
  // each(@modal-footer-type-set, {
118
120
  // .@{modal-prefix-cls}-@{key}-footer {
@@ -493,9 +493,8 @@ var InternalSelect = function InternalSelect(props, ref) {
493
493
  }; // 多选模式下清除某一项
494
494
 
495
495
 
496
- var handleRemove = function handleRemove(e) {
496
+ var handleRemove = function handleRemove(e, tag) {
497
497
  if (disabled) return;
498
- var tag = e.currentTarget.parentNode.getAttribute('data-tag');
499
498
  var _multipleRef$current4 = multipleRef.current,
500
499
  selectedVal = _multipleRef$current4.selectedVal,
501
500
  selectMulOpts = _multipleRef$current4.selectMulOpts;
@@ -695,7 +694,9 @@ var InternalSelect = function InternalSelect(props, ref) {
695
694
  size: size,
696
695
  closable: true,
697
696
  disabled: disabled,
698
- onClose: handleRemove,
697
+ onClose: function onClose(e) {
698
+ return handleRemove(e, value);
699
+ },
699
700
  "data-tag": value
700
701
  }, label));
701
702
  }), maxTagCount && mulOptions.length > maxTagCount ? maxTagPlaceholder ? handleMaxTagHolder() : /*#__PURE__*/_react.default.createElement("span", {
@@ -0,0 +1,3 @@
1
+ import { TablePipeline } from '../interface';
2
+ declare function useFooterDataSource(pipeline: TablePipeline, footerDataSource: any[] | undefined): void;
3
+ export default useFooterDataSource;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _table = require("@kdcloudjs/table");
9
+
10
+ function useFooterDataSource(pipeline, footerDataSource) {
11
+ if (footerDataSource) {
12
+ pipeline.use(_table.features.footerDataSource({
13
+ dataSource: footerDataSource
14
+ }));
15
+ }
16
+ }
17
+
18
+ var _default = useFooterDataSource;
19
+ exports.default = _default;
@@ -14,6 +14,7 @@ export declare type TableApi = {
14
14
  getColumns: () => any[];
15
15
  getDataSource: () => any[];
16
16
  getFooterDataSource: () => any[];
17
+ clearRangeSelection: () => void;
17
18
  };
18
19
  export declare type TableInstance = {
19
20
  api: TableApi;
@@ -57,6 +57,8 @@ var _mergeCellHover = _interopRequireDefault(require("./feature/mergeCellHover")
57
57
 
58
58
  var _devwarning = _interopRequireDefault(require("../_utils/devwarning"));
59
59
 
60
+ var _useFooterDataSource = _interopRequireDefault(require("./feature/useFooterDataSource"));
61
+
60
62
  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); }
61
63
 
62
64
  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; }
@@ -110,22 +112,21 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
110
112
  dataSource: dataSource
111
113
  });
112
114
  var pipelineRef = (0, _react.useRef)(pipeline);
113
- pipelineRef.current = pipeline;
114
-
115
- if (footerDataSource) {
116
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
117
- // @ts-ignore
118
- pipeline.footerDataSource(footerDataSource);
119
- }
115
+ pipelineRef.current = pipeline; // if (footerDataSource) {
116
+ // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
117
+ // // @ts-ignore
118
+ // pipeline.footerDataSource(footerDataSource)
119
+ // }
120
120
 
121
121
  (0, _react.useImperativeHandle)(ref, function () {
122
- var _a, _b, _c;
122
+ var _a, _b, _c, _d;
123
123
 
124
124
  return {
125
125
  api: {
126
126
  getColumns: (_a = pipelineRef.current.getColumns) === null || _a === void 0 ? void 0 : _a.bind(pipelineRef.current),
127
127
  getDataSource: (_b = pipelineRef.current.getDataSource) === null || _b === void 0 ? void 0 : _b.bind(pipelineRef.current),
128
- getFooterDataSource: (_c = pipelineRef.current.getFooterDataSource) === null || _c === void 0 ? void 0 : _c.bind(pipelineRef.current)
128
+ getFooterDataSource: (_c = pipelineRef.current.getFooterDataSource) === null || _c === void 0 ? void 0 : _c.bind(pipelineRef.current),
129
+ clearRangeSelection: (_d = pipelineRef.current.clearRangeSelection) === null || _d === void 0 ? void 0 : _d.bind(pipelineRef.current)
129
130
  }
130
131
  };
131
132
  });
@@ -146,6 +147,7 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
146
147
  (0, _contextMenu.default)(pipeline, contextMenu);
147
148
  (0, _useRangeSelection.default)(pipeline, rangeSelection);
148
149
  (0, _mergeCellHover.default)(pipeline);
150
+ (0, _useFooterDataSource.default)(pipeline, footerDataSource);
149
151
  /* -------------------------------------------------------------------------- */
150
152
 
151
153
  /* after useTablePipeline, merge pipeline.getProps result */
package/lib/tree/tree.js CHANGED
@@ -172,11 +172,20 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
172
172
  loadingKeys = _React$useState14[0],
173
173
  setLoadingKeys = _React$useState14[1];
174
174
 
175
+ var _React$useState15 = _react.default.useState([]),
176
+ _React$useState16 = (0, _slicedToArray2.default)(_React$useState15, 2),
177
+ searchExpandedKeys = _React$useState16[0],
178
+ setSearchExpandedKeys = _React$useState16[1];
179
+
175
180
  var isSearching = _react.default.useMemo(function () {
176
181
  return typeof filterTreeNode === 'function' && filterValue;
177
182
  }, [filterValue]);
178
183
 
179
- var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData),
184
+ (0, _react.useEffect)(function () {
185
+ setSearchExpandedKeys([]);
186
+ }, [filterValue]);
187
+
188
+ var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchExpandedKeys),
180
189
  _useExpand2 = (0, _slicedToArray2.default)(_useExpand, 2),
181
190
  expandedKeys = _useExpand2[0],
182
191
  setExpandedKeys = _useExpand2[1];
@@ -273,6 +282,12 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
273
282
  node: node,
274
283
  expanded: expanded
275
284
  });
285
+
286
+ if (isSearching) {
287
+ var newSearchExpandedKeys = expanded ? (0, _treeUtils.addKeys)(searchExpandedKeys, [key]) : (0, _treeUtils.delKey)(searchExpandedKeys, [key]);
288
+ setSearchExpandedKeys(newSearchExpandedKeys);
289
+ }
290
+
276
291
  setScrollKey('');
277
292
  setIsInit(false);
278
293
 
@@ -4,6 +4,6 @@ export declare const useViewportHeight: (height: number, listRef: React.RefObjec
4
4
  export declare const useVisibleDataMemo: (virtual: boolean, filterData: TreeNodeData[], viewportHeight: number, estimatedItemSize: number, start: number) => TreeNodeData[][];
5
5
  export declare const usePlantomHeightEffect: (plantomRef: React.RefObject<HTMLElement>, filterData: TreeNodeData[], estimatedItemSize: number) => void;
6
6
  export declare const useChecked: (checkStrictly: boolean, checkedKeysProps: string[], defaultCheckedKeys: string[], _flattenAllData: any[], _maxLevel: number, checkable: boolean, keysData: KeysDataType) => readonly [string[], string[], React.Dispatch<React.SetStateAction<string[]>>, React.Dispatch<React.SetStateAction<string[]>>];
7
- export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
7
+ export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchExpandedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
8
8
  export declare const useScrollToKey: (scrollKey: string, index: number, estimatedItemSize: number, scrollRef: any, viewportHeight: number, treeNodePrefixCls: string) => void;
9
9
  export declare const useSelect: (selectedKeysProps: string[], defaultSelectedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
@@ -104,7 +104,7 @@ var useChecked = function useChecked(checkStrictly, checkedKeysProps, defaultChe
104
104
 
105
105
  exports.useChecked = useChecked;
106
106
 
107
- var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData) {
107
+ var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchExpandedKeys) {
108
108
  var expandScrollkeys = [];
109
109
 
110
110
  if (scrollKey) {
@@ -113,8 +113,8 @@ var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExp
113
113
  }
114
114
 
115
115
  var initialExpandedKeys = _react.default.useMemo(function () {
116
- return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData);
117
- }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData]);
116
+ return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, searchExpandedKeys);
117
+ }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, searchExpandedKeys]);
118
118
 
119
119
  var newExpandedKeys = _react.default.useMemo(function () {
120
120
  return (0, _treeUtils.getExpandedKeys)(expandedKeysProps, expandScrollkeys);
@@ -126,9 +126,9 @@ var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExp
126
126
  setExpandedKeys = _React$useState8[1];
127
127
 
128
128
  _react.default.useEffect(function () {
129
- var keys = isInit ? initialExpandedKeys : newExpandedKeys;
129
+ var keys = isInit || isSearching ? initialExpandedKeys : newExpandedKeys;
130
130
  setExpandedKeys(keys);
131
- }, [newExpandedKeys, initialExpandedKeys]);
131
+ }, [newExpandedKeys, initialExpandedKeys, isSearching, isInit]);
132
132
 
133
133
  return [expandedKeys, setExpandedKeys];
134
134
  };