@kdcloudjs/kdesign 1.7.2 → 1.7.3

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.
@@ -436,6 +436,7 @@ declare const compDefaultProps: {
436
436
  placeholder: string;
437
437
  optionLabelProp: string;
438
438
  treeNodeFilterProp: string;
439
+ treeExpandOnClickNode: boolean;
439
440
  showSearch: boolean;
440
441
  switcherIcon: () => JSX.Element;
441
442
  expandOnClickNode: boolean;
@@ -450,6 +450,7 @@ var compDefaultProps = {
450
450
  placeholder: '请输入需要搜索的内容',
451
451
  optionLabelProp: 'title',
452
452
  treeNodeFilterProp: 'title',
453
+ treeExpandOnClickNode: true,
453
454
  showSearch: true,
454
455
  switcherIcon: function switcherIcon() {
455
456
  return /*#__PURE__*/React.createElement(Icon, {
@@ -88,10 +88,11 @@ var InternalSelect = function InternalSelect(props, ref) {
88
88
  _useState4 = _slicedToArray(_useState3, 2),
89
89
  singleVal = _useState4[0],
90
90
  setSingleVal = _useState4[1];
91
- var _useState5 = useState(!!props.visible || defaultOpen),
91
+ var _useState5 = useState(typeof props.visible === 'undefined' ? !!defaultOpen : !!props.visible),
92
92
  _useState6 = _slicedToArray(_useState5, 2),
93
93
  optionShow = _useState6[0],
94
- setOptionShow = _useState6[1]; // 下拉列表是否展示
94
+ setOptionShow = _useState6[1];
95
+ // 下拉列表是否展示
95
96
  // const [searchInput, setSearchInput] = useState<string>('') // 搜索框值
96
97
  var _useState7 = useState(''),
97
98
  _useState8 = _slicedToArray(_useState7, 2),
@@ -118,7 +119,9 @@ var InternalSelect = function InternalSelect(props, ref) {
118
119
  // 多选,单选公共样式
119
120
  var commCls = classNames((_classNames6 = {}, _defineProperty(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), _defineProperty(_classNames6, _concatInstanceProperty(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), _classNames6));
120
121
  useEffect(function () {
121
- setOptionShow(!!props.visible);
122
+ if (typeof props.visible !== 'undefined') {
123
+ setOptionShow(props.visible);
124
+ }
122
125
  }, [props.visible]);
123
126
  // realchildren更新时数据处理---待解决
124
127
  useEffect(function () {
package/es/tree/tree.d.ts CHANGED
@@ -39,6 +39,7 @@ export interface TreeProps {
39
39
  setTreeNodeStyle?: (node: any) => Map<string, string>;
40
40
  estimatedItemSize?: number;
41
41
  expandOnClickNode?: boolean;
42
+ onlyExpandOnClickIcon?: boolean;
42
43
  }
43
44
  export declare type TreeNodeData = {
44
45
  checkable?: boolean;
package/es/tree/tree.js CHANGED
@@ -64,6 +64,8 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
64
64
  filterTreeNode = TreeProps.filterTreeNode,
65
65
  filterValue = TreeProps.filterValue,
66
66
  expandOnClickNode = TreeProps.expandOnClickNode,
67
+ _TreeProps$onlyExpand = TreeProps.onlyExpandOnClickIcon,
68
+ onlyExpandOnClickIcon = _TreeProps$onlyExpand === void 0 ? false : _TreeProps$onlyExpand,
67
69
  loadData = TreeProps.loadData,
68
70
  notFoundContent = TreeProps.notFoundContent;
69
71
  var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
@@ -403,6 +405,7 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
403
405
  item.dragOver = dragOverNodeKey === item.key && dropPosition === 0;
404
406
  item.dropPosition = dropPosition;
405
407
  item.expandOnClickNode = expandOnClickNode;
408
+ item.onlyExpandOnClickIcon = onlyExpandOnClickIcon;
406
409
  item.loading = loadingKeys.has(item.key) && !loadedKeys.has(item.key);
407
410
  item.loadData = loadData;
408
411
  return /*#__PURE__*/React.createElement(TreeNode, _extends({}, item, {
@@ -116,7 +116,7 @@ export var useSelect = function useSelect(selectedKeysProps, defaultSelectedKeys
116
116
  selectedKeys = _useState2[0],
117
117
  setSelectedKeys = _useState2[1];
118
118
  useEffect(function () {
119
- setSelectedKeys(selectedKeysProps);
119
+ selectedKeysProps && setSelectedKeys(selectedKeysProps);
120
120
  }, [selectedKeysProps]);
121
121
  return [selectedKeys, setSelectedKeys];
122
122
  };
@@ -26,6 +26,8 @@ export interface TreeNodeProps {
26
26
  estimatedItemSize?: number;
27
27
  dragOver?: boolean;
28
28
  isLeaf?: boolean;
29
+ expandOnClickNode?: boolean;
30
+ onlyExpandOnClickIcon?: boolean;
29
31
  onCheck?: (key: string, value: boolean, node: React.ReactNode, event: React.MouseEvent<MouseEvent>, pos: string) => void;
30
32
  onSelect?: (event: React.MouseEvent<MouseEvent>, node: React.ReactNode, key: string) => void;
31
33
  onExpand?: (value: boolean, node: React.ReactNode) => void;
@@ -51,6 +51,7 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
51
51
  dragOver = TreeNodeProps.dragOver,
52
52
  dropPosition = TreeNodeProps.dropPosition,
53
53
  expandOnClickNode = TreeNodeProps.expandOnClickNode,
54
+ onlyExpandOnClickIcon = TreeNodeProps.onlyExpandOnClickIcon,
54
55
  loading = TreeNodeProps.loading,
55
56
  onExpand = TreeNodeProps.onExpand,
56
57
  onCheck = TreeNodeProps.onCheck,
@@ -61,7 +62,7 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
61
62
  onDragEnd = TreeNodeProps.onDragEnd,
62
63
  onDrop = TreeNodeProps.onDrop,
63
64
  onSelect = TreeNodeProps.onSelect,
64
- others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "showLine", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "dropPosition", "expandOnClickNode", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
65
+ others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "showLine", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "dropPosition", "expandOnClickNode", "onlyExpandOnClickIcon", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
65
66
  var nodeData = React.useMemo(function () {
66
67
  return _extends({
67
68
  selectable: selectable,
@@ -168,12 +169,12 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
168
169
  if (Array.isArray(switcherIcon) && switcherIcon.length === 2) {
169
170
  return /*#__PURE__*/React.createElement("span", {
170
171
  className: classNames("".concat(treeNodePrefixCls, "-icon"), _defineProperty({}, "".concat(treeNodePrefixCls, "-icon-hover"), !expandOnClickNode)),
171
- onClick: expandOnClickNode ? undefined : handleExpandIconClick
172
+ onClick: expandOnClickNode ? onlyExpandOnClickIcon ? handleExpandIconClick : undefined : handleExpandIconClick
172
173
  }, expandState ? renderIcon(switcherIcon[1]) : renderIcon(switcherIcon[0]));
173
174
  }
174
175
  return /*#__PURE__*/React.createElement("span", {
175
176
  className: classNames("".concat(treeNodePrefixCls, "-icon"), (_classNames3 = {}, _defineProperty(_classNames3, "".concat(treeNodePrefixCls, "-animation-expand"), expandState), _defineProperty(_classNames3, "".concat(treeNodePrefixCls, "-animation-collapse"), !expandState), _defineProperty(_classNames3, "".concat(treeNodePrefixCls, "-icon-hover"), !expandOnClickNode), _classNames3)),
176
- onClick: expandOnClickNode ? undefined : handleExpandIconClick
177
+ onClick: expandOnClickNode ? onlyExpandOnClickIcon ? handleExpandIconClick : undefined : handleExpandIconClick
177
178
  }, renderIcon(switcherIcon || /*#__PURE__*/React.createElement(Icon, {
178
179
  type: "arrow-right-solid"
179
180
  })));
@@ -241,9 +242,11 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
241
242
  }, [expandState, nodeData, nodeKey, onExpand, setExpandState]);
242
243
  var handleClick = React.useCallback(function (e) {
243
244
  e.stopPropagation();
244
- expandOnClickNode && handleExpandIconClick();
245
+ if (expandOnClickNode) {
246
+ !onlyExpandOnClickIcon && handleExpandIconClick();
247
+ }
245
248
  handleSelect(e);
246
- }, [expandOnClickNode, handleExpandIconClick, handleSelect]);
249
+ }, [expandOnClickNode, handleExpandIconClick, handleSelect, onlyExpandOnClickIcon]);
247
250
  var handleDragStart = React.useCallback(function (e) {
248
251
  if (!draggable) return;
249
252
  setDragNode(nodeData);
@@ -240,9 +240,8 @@
240
240
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
241
241
  max-height: 200px;
242
242
  }
243
- .kd-tree-select-dropdown .kd-tree {
244
- padding-left: 16px;
245
- padding-right: 16px;
243
+ .kd-tree-select-dropdown .kd-tree-node-item {
244
+ padding: 0 var(--kd-c-tree-select-dropdown-node-spacing-padding-horizontal, 16px);
246
245
  }
247
246
  .kd-tree-select-dropdown-scroll {
248
247
  overflow-y: auto;
@@ -137,11 +137,9 @@
137
137
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
138
138
  max-height: 200px;
139
139
 
140
- .@{tree-prefix-cls} {
141
- padding-left: 16px;
142
- padding-right: 16px;
140
+ .@{tree-prefix-cls}-node-item {
141
+ padding: 0 @tree-select-dropdown-node-horizontal;
143
142
  }
144
-
145
143
 
146
144
  &-scroll {
147
145
  overflow-y: auto;
@@ -1,54 +1,54 @@
1
1
  @import '../../style/themes/token.less';
2
2
 
3
- @select-custom-prefix: ~'--@{kd-prefix}-c-tree-select';
4
-
3
+ @tree-select-custom-prefix: ~'--@{kd-prefix}-c-tree-select';
5
4
 
6
5
  // color
7
- @tree-select-dropdown-bg: var(~'@{select-custom-prefix}-dropdown-color-background', @color-background);
8
- @tree-select-disabled-option-bg: var(~'@{select-custom-prefix}-item-color-background-disabled', #fff);
9
- @tree-select-item-active-bg: var(~'@{select-custom-prefix}-color-background', #f5f5f5);
10
- @tree-select-item-selected-bg: var(~'@{select-custom-prefix}-color-background-selected', @color-theme-3);
11
- @tree-select-g-color-border: var(~'@{select-custom-prefix}-color-border', @color-input);
12
- @tree-select-g-color-border-foucs: var(~'@{select-custom-prefix}-color-border-foucs', @color-theme);
13
- @tree-select-g-color-border-hover: var(~'@{select-custom-prefix}-color-border-hover', @color-theme);
14
- @tree-select-border-g-color-border: var(~'@{select-custom-prefix}-border-color-border', @color-border-strong);
15
- @tree-select-placeholder-color: var(~'@{select-custom-prefix}-placeholder-color-text', #b2b2b2);
16
- @tree-select-item-selected-color: var(~'@{select-custom-prefix}-item-color-text-selected', @color-theme);
17
- @tree-select-font-color: var(~'@{select-custom-prefix}-footer-color-text', @color-text-primary);
18
- @tree-select-footer-g-text-color-selected: var(~'@{select-custom-prefix}-footer-color-text-selected', #0e5fd8);
19
- @tree-select-g-item-text-color-disabled: var(~'@{select-custom-prefix}-item-color-text-disabled', @color-disabled);
20
- @tree-select-color-background-disabled: var(~'@{select-custom-prefix}-color-background-disabled', #f5f5f5);
21
- @tree-select-color-text-disabled: var(~'@{select-custom-prefix}-color-text-disabled', @color-disabled);
22
- @tree-select-arrow-icon-color-text-disabled: var(~'@{select-custom-prefix}-arrow-icon-color-text-disabled', #b2b2b2);
23
- @tree-select-single-color-text: var(~'@{select-custom-prefix}-single-color-text', @color-text-primary);
24
- @tree-select-clear-color: var(~'@{select-custom-prefix}-icon-clear-color-text', #d9d9d9);
25
- @tree-select-clear-color-hover: var(~'@{select-custom-prefix}-icon-clear-color-text-hover', #999);
6
+ @tree-select-dropdown-bg: var(~'@{tree-select-custom-prefix}-dropdown-color-background', @color-background);
7
+ @tree-select-disabled-option-bg: var(~'@{tree-select-custom-prefix}-item-color-background-disabled', #fff);
8
+ @tree-select-item-active-bg: var(~'@{tree-select-custom-prefix}-color-background', #f5f5f5);
9
+ @tree-select-item-selected-bg: var(~'@{tree-select-custom-prefix}-color-background-selected', @color-theme-3);
10
+ @tree-select-g-color-border: var(~'@{tree-select-custom-prefix}-color-border', @color-input);
11
+ @tree-select-g-color-border-foucs: var(~'@{tree-select-custom-prefix}-color-border-foucs', @color-theme);
12
+ @tree-select-g-color-border-hover: var(~'@{tree-select-custom-prefix}-color-border-hover', @color-theme);
13
+ @tree-select-border-g-color-border: var(~'@{tree-select-custom-prefix}-border-color-border', @color-border-strong);
14
+ @tree-select-placeholder-color: var(~'@{tree-select-custom-prefix}-placeholder-color-text', #b2b2b2);
15
+ @tree-select-item-selected-color: var(~'@{tree-select-custom-prefix}-item-color-text-selected', @color-theme);
16
+ @tree-select-font-color: var(~'@{tree-select-custom-prefix}-footer-color-text', @color-text-primary);
17
+ @tree-select-footer-g-text-color-selected: var(~'@{tree-select-custom-prefix}-footer-color-text-selected', #0e5fd8);
18
+ @tree-select-g-item-text-color-disabled: var(~'@{tree-select-custom-prefix}-item-color-text-disabled', @color-disabled);
19
+ @tree-select-color-background-disabled: var(~'@{tree-select-custom-prefix}-color-background-disabled', #f5f5f5);
20
+ @tree-select-color-text-disabled: var(~'@{tree-select-custom-prefix}-color-text-disabled', @color-disabled);
21
+ @tree-select-arrow-icon-color-text-disabled: var(~'@{tree-select-custom-prefix}-arrow-icon-color-text-disabled', #b2b2b2);
22
+ @tree-select-single-color-text: var(~'@{tree-select-custom-prefix}-single-color-text', @color-text-primary);
23
+ @tree-select-clear-color: var(~'@{tree-select-custom-prefix}-icon-clear-color-text', #d9d9d9);
24
+ @tree-select-clear-color-hover: var(~'@{tree-select-custom-prefix}-icon-clear-color-text-hover', #999);
26
25
 
27
26
  // font
28
- @tree-select-list-font-size: var(~'@{select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
29
- @tree-select-large-font-size: var(~'@{select-custom-prefix}-font-size-large', 16px); // 大号字体
30
- @tree-select-middle-font-size: var(~'@{select-custom-prefix}-font-size-middle', 14px); // 中号高度
31
- @tree-select-small-font-size: var(~'@{select-custom-prefix}-font-size-small', 12px); // 小号高度
27
+ @tree-select-list-font-size: var(~'@{tree-select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
28
+ @tree-select-large-font-size: var(~'@{tree-select-custom-prefix}-font-size-large', 16px); // 大号字体
29
+ @tree-select-middle-font-size: var(~'@{tree-select-custom-prefix}-font-size-middle', 14px); // 中号高度
30
+ @tree-select-small-font-size: var(~'@{tree-select-custom-prefix}-font-size-small', 12px); // 小号高度
32
31
 
33
32
  // line-height
34
- @tree-select-dropdown-line-height: var(~'@{select-custom-prefix}-dropdown-line-height', 22px);
35
- @tree-select-large-line-height: var(~'@{select-custom-prefix}-line-height-large', 28px);
36
- @tree-select-middle-line-height: var(~'@{select-custom-prefix}-line-height-middle', 22px);
37
- @tree-select-small-line-height: var(~'@{select-custom-prefix}-line-height-small', 14px);
33
+ @tree-select-dropdown-line-height: var(~'@{tree-select-custom-prefix}-dropdown-line-height', 22px);
34
+ @tree-select-large-line-height: var(~'@{tree-select-custom-prefix}-line-height-large', 28px);
35
+ @tree-select-middle-line-height: var(~'@{tree-select-custom-prefix}-line-height-middle', 22px);
36
+ @tree-select-small-line-height: var(~'@{tree-select-custom-prefix}-line-height-small', 14px);
38
37
 
39
38
  // sizing
40
- @tree-select-dropdown-height: var(~'@{select-custom-prefix}-item-sizing-height', 22px);
41
- @tree-select-large-height: var(~'@{select-custom-prefix}-sizing-height-large', 36px); // 大号高度 lh:28px
42
- @tree-select-middle-height: var(~'@{select-custom-prefix}-sizing-height-middle', 32px); // 中号高度lh:22px
43
- @tree-select-small-height: var(~'@{select-custom-prefix}-sizing-height-small', 24px); // 小号高度lh:12px
39
+ @tree-select-dropdown-height: var(~'@{tree-select-custom-prefix}-item-sizing-height', 22px);
40
+ @tree-select-large-height: var(~'@{tree-select-custom-prefix}-sizing-height-large', 36px); // 大号高度 lh:28px
41
+ @tree-select-middle-height: var(~'@{tree-select-custom-prefix}-sizing-height-middle', 32px); // 中号高度lh:22px
42
+ @tree-select-small-height: var(~'@{tree-select-custom-prefix}-sizing-height-small', 24px); // 小号高度lh:12px
44
43
 
45
44
  // spacing
46
- @tree-select-bordered: var(~'@{select-custom-prefix}-bordered-spacing-padding-left', 8px);
47
- @tree-select-wrapper-padding: var(~'@{select-custom-prefix}-wrapper-spacing-padding', 1px 28px 1px 0);
45
+ @tree-select-bordered: var(~'@{tree-select-custom-prefix}-bordered-spacing-padding-left', 8px);
46
+ @tree-select-wrapper-padding: var(~'@{tree-select-custom-prefix}-wrapper-spacing-padding', 1px 28px 1px 0);
47
+ @tree-select-dropdown-node-horizontal: var(~'@{tree-select-custom-prefix}-dropdown-node-spacing-padding-horizontal', 16px);
48
48
 
49
49
  // radius
50
- @tree-select-g-radius-border: var(~'@{select-custom-prefix}-radius-border', @radius-border);
51
- @tree-select-border-radius-border: var(~'@{select-custom-prefix}-bordered-radius-border', 2px);
50
+ @tree-select-g-radius-border: var(~'@{tree-select-custom-prefix}-radius-border', @radius-border);
51
+ @tree-select-border-radius-border: var(~'@{tree-select-custom-prefix}-bordered-radius-border', 2px);
52
52
 
53
53
  // z-index
54
- @tree-select-z-index: var(~'@{select-custom-prefix}-z-index', @z-index-popper);
54
+ @tree-select-z-index: var(~'@{tree-select-custom-prefix}-z-index', @z-index-popper);
@@ -308,6 +308,7 @@ var InternalTreeSelect = function InternalTreeSelect(props, ref) {
308
308
  icon: treeIcon,
309
309
  showIcon: showTreeIcon,
310
310
  switcherIcon: switcherIcon,
311
+ onlyExpandOnClickIcon: true,
311
312
  notFoundContent: renderNotContent(),
312
313
  filterTreeNode: defFilterTreeNode,
313
314
  onSelect: handleSelect,
@@ -436,6 +436,7 @@ declare const compDefaultProps: {
436
436
  placeholder: string;
437
437
  optionLabelProp: string;
438
438
  treeNodeFilterProp: string;
439
+ treeExpandOnClickNode: boolean;
439
440
  showSearch: boolean;
440
441
  switcherIcon: () => JSX.Element;
441
442
  expandOnClickNode: boolean;
@@ -461,6 +461,7 @@ var compDefaultProps = {
461
461
  placeholder: '请输入需要搜索的内容',
462
462
  optionLabelProp: 'title',
463
463
  treeNodeFilterProp: 'title',
464
+ treeExpandOnClickNode: true,
464
465
  showSearch: true,
465
466
  switcherIcon: function switcherIcon() {
466
467
  return /*#__PURE__*/React.createElement(_index.Icon, {
@@ -100,10 +100,11 @@ var InternalSelect = function InternalSelect(props, ref) {
100
100
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
101
101
  singleVal = _useState4[0],
102
102
  setSingleVal = _useState4[1];
103
- var _useState5 = (0, _react.useState)(!!props.visible || defaultOpen),
103
+ var _useState5 = (0, _react.useState)(typeof props.visible === 'undefined' ? !!defaultOpen : !!props.visible),
104
104
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
105
105
  optionShow = _useState6[0],
106
- setOptionShow = _useState6[1]; // 下拉列表是否展示
106
+ setOptionShow = _useState6[1];
107
+ // 下拉列表是否展示
107
108
  // const [searchInput, setSearchInput] = useState<string>('') // 搜索框值
108
109
  var _useState7 = (0, _react.useState)(''),
109
110
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
@@ -130,7 +131,9 @@ var InternalSelect = function InternalSelect(props, ref) {
130
131
  // 多选,单选公共样式
131
132
  var commCls = (0, _classnames.default)((_classNames6 = {}, (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), (0, _defineProperty2.default)(_classNames6, (0, _concat.default)(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), _classNames6));
132
133
  (0, _react.useEffect)(function () {
133
- setOptionShow(!!props.visible);
134
+ if (typeof props.visible !== 'undefined') {
135
+ setOptionShow(props.visible);
136
+ }
134
137
  }, [props.visible]);
135
138
  // realchildren更新时数据处理---待解决
136
139
  (0, _react.useEffect)(function () {
@@ -39,6 +39,7 @@ export interface TreeProps {
39
39
  setTreeNodeStyle?: (node: any) => Map<string, string>;
40
40
  estimatedItemSize?: number;
41
41
  expandOnClickNode?: boolean;
42
+ onlyExpandOnClickIcon?: boolean;
42
43
  }
43
44
  export declare type TreeNodeData = {
44
45
  checkable?: boolean;
package/lib/tree/tree.js CHANGED
@@ -76,6 +76,8 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
76
76
  filterTreeNode = TreeProps.filterTreeNode,
77
77
  filterValue = TreeProps.filterValue,
78
78
  expandOnClickNode = TreeProps.expandOnClickNode,
79
+ _TreeProps$onlyExpand = TreeProps.onlyExpandOnClickIcon,
80
+ onlyExpandOnClickIcon = _TreeProps$onlyExpand === void 0 ? false : _TreeProps$onlyExpand,
79
81
  loadData = TreeProps.loadData,
80
82
  notFoundContent = TreeProps.notFoundContent;
81
83
  var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
@@ -415,6 +417,7 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
415
417
  item.dragOver = dragOverNodeKey === item.key && dropPosition === 0;
416
418
  item.dropPosition = dropPosition;
417
419
  item.expandOnClickNode = expandOnClickNode;
420
+ item.onlyExpandOnClickIcon = onlyExpandOnClickIcon;
418
421
  item.loading = loadingKeys.has(item.key) && !loadedKeys.has(item.key);
419
422
  item.loadData = loadData;
420
423
  return /*#__PURE__*/_react.default.createElement(_treeNode.default, (0, _extends2.default)({}, item, {
@@ -134,7 +134,7 @@ var useSelect = function useSelect(selectedKeysProps, defaultSelectedKeys) {
134
134
  selectedKeys = _useState2[0],
135
135
  setSelectedKeys = _useState2[1];
136
136
  (0, _react.useEffect)(function () {
137
- setSelectedKeys(selectedKeysProps);
137
+ selectedKeysProps && setSelectedKeys(selectedKeysProps);
138
138
  }, [selectedKeysProps]);
139
139
  return [selectedKeys, setSelectedKeys];
140
140
  };
@@ -26,6 +26,8 @@ export interface TreeNodeProps {
26
26
  estimatedItemSize?: number;
27
27
  dragOver?: boolean;
28
28
  isLeaf?: boolean;
29
+ expandOnClickNode?: boolean;
30
+ onlyExpandOnClickIcon?: boolean;
29
31
  onCheck?: (key: string, value: boolean, node: React.ReactNode, event: React.MouseEvent<MouseEvent>, pos: string) => void;
30
32
  onSelect?: (event: React.MouseEvent<MouseEvent>, node: React.ReactNode, key: string) => void;
31
33
  onExpand?: (value: boolean, node: React.ReactNode) => void;
@@ -63,6 +63,7 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
63
63
  dragOver = TreeNodeProps.dragOver,
64
64
  dropPosition = TreeNodeProps.dropPosition,
65
65
  expandOnClickNode = TreeNodeProps.expandOnClickNode,
66
+ onlyExpandOnClickIcon = TreeNodeProps.onlyExpandOnClickIcon,
66
67
  loading = TreeNodeProps.loading,
67
68
  onExpand = TreeNodeProps.onExpand,
68
69
  onCheck = TreeNodeProps.onCheck,
@@ -73,7 +74,7 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
73
74
  onDragEnd = TreeNodeProps.onDragEnd,
74
75
  onDrop = TreeNodeProps.onDrop,
75
76
  onSelect = TreeNodeProps.onSelect,
76
- others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "showLine", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "dropPosition", "expandOnClickNode", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
77
+ others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "showLine", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "dropPosition", "expandOnClickNode", "onlyExpandOnClickIcon", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
77
78
  var nodeData = _react.default.useMemo(function () {
78
79
  return (0, _extends2.default)({
79
80
  selectable: selectable,
@@ -180,12 +181,12 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
180
181
  if (Array.isArray(switcherIcon) && switcherIcon.length === 2) {
181
182
  return /*#__PURE__*/_react.default.createElement("span", {
182
183
  className: (0, _classnames.default)("".concat(treeNodePrefixCls, "-icon"), (0, _defineProperty2.default)({}, "".concat(treeNodePrefixCls, "-icon-hover"), !expandOnClickNode)),
183
- onClick: expandOnClickNode ? undefined : handleExpandIconClick
184
+ onClick: expandOnClickNode ? onlyExpandOnClickIcon ? handleExpandIconClick : undefined : handleExpandIconClick
184
185
  }, expandState ? renderIcon(switcherIcon[1]) : renderIcon(switcherIcon[0]));
185
186
  }
186
187
  return /*#__PURE__*/_react.default.createElement("span", {
187
188
  className: (0, _classnames.default)("".concat(treeNodePrefixCls, "-icon"), (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, "".concat(treeNodePrefixCls, "-animation-expand"), expandState), (0, _defineProperty2.default)(_classNames3, "".concat(treeNodePrefixCls, "-animation-collapse"), !expandState), (0, _defineProperty2.default)(_classNames3, "".concat(treeNodePrefixCls, "-icon-hover"), !expandOnClickNode), _classNames3)),
188
- onClick: expandOnClickNode ? undefined : handleExpandIconClick
189
+ onClick: expandOnClickNode ? onlyExpandOnClickIcon ? handleExpandIconClick : undefined : handleExpandIconClick
189
190
  }, renderIcon(switcherIcon || /*#__PURE__*/_react.default.createElement(_icon.default, {
190
191
  type: "arrow-right-solid"
191
192
  })));
@@ -253,9 +254,11 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
253
254
  }, [expandState, nodeData, nodeKey, onExpand, setExpandState]);
254
255
  var handleClick = _react.default.useCallback(function (e) {
255
256
  e.stopPropagation();
256
- expandOnClickNode && handleExpandIconClick();
257
+ if (expandOnClickNode) {
258
+ !onlyExpandOnClickIcon && handleExpandIconClick();
259
+ }
257
260
  handleSelect(e);
258
- }, [expandOnClickNode, handleExpandIconClick, handleSelect]);
261
+ }, [expandOnClickNode, handleExpandIconClick, handleSelect, onlyExpandOnClickIcon]);
259
262
  var handleDragStart = _react.default.useCallback(function (e) {
260
263
  if (!draggable) return;
261
264
  setDragNode(nodeData);
@@ -240,9 +240,8 @@
240
240
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
241
241
  max-height: 200px;
242
242
  }
243
- .kd-tree-select-dropdown .kd-tree {
244
- padding-left: 16px;
245
- padding-right: 16px;
243
+ .kd-tree-select-dropdown .kd-tree-node-item {
244
+ padding: 0 var(--kd-c-tree-select-dropdown-node-spacing-padding-horizontal, 16px);
246
245
  }
247
246
  .kd-tree-select-dropdown-scroll {
248
247
  overflow-y: auto;
@@ -137,11 +137,9 @@
137
137
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
138
138
  max-height: 200px;
139
139
 
140
- .@{tree-prefix-cls} {
141
- padding-left: 16px;
142
- padding-right: 16px;
140
+ .@{tree-prefix-cls}-node-item {
141
+ padding: 0 @tree-select-dropdown-node-horizontal;
143
142
  }
144
-
145
143
 
146
144
  &-scroll {
147
145
  overflow-y: auto;
@@ -1,54 +1,54 @@
1
1
  @import '../../style/themes/token.less';
2
2
 
3
- @select-custom-prefix: ~'--@{kd-prefix}-c-tree-select';
4
-
3
+ @tree-select-custom-prefix: ~'--@{kd-prefix}-c-tree-select';
5
4
 
6
5
  // color
7
- @tree-select-dropdown-bg: var(~'@{select-custom-prefix}-dropdown-color-background', @color-background);
8
- @tree-select-disabled-option-bg: var(~'@{select-custom-prefix}-item-color-background-disabled', #fff);
9
- @tree-select-item-active-bg: var(~'@{select-custom-prefix}-color-background', #f5f5f5);
10
- @tree-select-item-selected-bg: var(~'@{select-custom-prefix}-color-background-selected', @color-theme-3);
11
- @tree-select-g-color-border: var(~'@{select-custom-prefix}-color-border', @color-input);
12
- @tree-select-g-color-border-foucs: var(~'@{select-custom-prefix}-color-border-foucs', @color-theme);
13
- @tree-select-g-color-border-hover: var(~'@{select-custom-prefix}-color-border-hover', @color-theme);
14
- @tree-select-border-g-color-border: var(~'@{select-custom-prefix}-border-color-border', @color-border-strong);
15
- @tree-select-placeholder-color: var(~'@{select-custom-prefix}-placeholder-color-text', #b2b2b2);
16
- @tree-select-item-selected-color: var(~'@{select-custom-prefix}-item-color-text-selected', @color-theme);
17
- @tree-select-font-color: var(~'@{select-custom-prefix}-footer-color-text', @color-text-primary);
18
- @tree-select-footer-g-text-color-selected: var(~'@{select-custom-prefix}-footer-color-text-selected', #0e5fd8);
19
- @tree-select-g-item-text-color-disabled: var(~'@{select-custom-prefix}-item-color-text-disabled', @color-disabled);
20
- @tree-select-color-background-disabled: var(~'@{select-custom-prefix}-color-background-disabled', #f5f5f5);
21
- @tree-select-color-text-disabled: var(~'@{select-custom-prefix}-color-text-disabled', @color-disabled);
22
- @tree-select-arrow-icon-color-text-disabled: var(~'@{select-custom-prefix}-arrow-icon-color-text-disabled', #b2b2b2);
23
- @tree-select-single-color-text: var(~'@{select-custom-prefix}-single-color-text', @color-text-primary);
24
- @tree-select-clear-color: var(~'@{select-custom-prefix}-icon-clear-color-text', #d9d9d9);
25
- @tree-select-clear-color-hover: var(~'@{select-custom-prefix}-icon-clear-color-text-hover', #999);
6
+ @tree-select-dropdown-bg: var(~'@{tree-select-custom-prefix}-dropdown-color-background', @color-background);
7
+ @tree-select-disabled-option-bg: var(~'@{tree-select-custom-prefix}-item-color-background-disabled', #fff);
8
+ @tree-select-item-active-bg: var(~'@{tree-select-custom-prefix}-color-background', #f5f5f5);
9
+ @tree-select-item-selected-bg: var(~'@{tree-select-custom-prefix}-color-background-selected', @color-theme-3);
10
+ @tree-select-g-color-border: var(~'@{tree-select-custom-prefix}-color-border', @color-input);
11
+ @tree-select-g-color-border-foucs: var(~'@{tree-select-custom-prefix}-color-border-foucs', @color-theme);
12
+ @tree-select-g-color-border-hover: var(~'@{tree-select-custom-prefix}-color-border-hover', @color-theme);
13
+ @tree-select-border-g-color-border: var(~'@{tree-select-custom-prefix}-border-color-border', @color-border-strong);
14
+ @tree-select-placeholder-color: var(~'@{tree-select-custom-prefix}-placeholder-color-text', #b2b2b2);
15
+ @tree-select-item-selected-color: var(~'@{tree-select-custom-prefix}-item-color-text-selected', @color-theme);
16
+ @tree-select-font-color: var(~'@{tree-select-custom-prefix}-footer-color-text', @color-text-primary);
17
+ @tree-select-footer-g-text-color-selected: var(~'@{tree-select-custom-prefix}-footer-color-text-selected', #0e5fd8);
18
+ @tree-select-g-item-text-color-disabled: var(~'@{tree-select-custom-prefix}-item-color-text-disabled', @color-disabled);
19
+ @tree-select-color-background-disabled: var(~'@{tree-select-custom-prefix}-color-background-disabled', #f5f5f5);
20
+ @tree-select-color-text-disabled: var(~'@{tree-select-custom-prefix}-color-text-disabled', @color-disabled);
21
+ @tree-select-arrow-icon-color-text-disabled: var(~'@{tree-select-custom-prefix}-arrow-icon-color-text-disabled', #b2b2b2);
22
+ @tree-select-single-color-text: var(~'@{tree-select-custom-prefix}-single-color-text', @color-text-primary);
23
+ @tree-select-clear-color: var(~'@{tree-select-custom-prefix}-icon-clear-color-text', #d9d9d9);
24
+ @tree-select-clear-color-hover: var(~'@{tree-select-custom-prefix}-icon-clear-color-text-hover', #999);
26
25
 
27
26
  // font
28
- @tree-select-list-font-size: var(~'@{select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
29
- @tree-select-large-font-size: var(~'@{select-custom-prefix}-font-size-large', 16px); // 大号字体
30
- @tree-select-middle-font-size: var(~'@{select-custom-prefix}-font-size-middle', 14px); // 中号高度
31
- @tree-select-small-font-size: var(~'@{select-custom-prefix}-font-size-small', 12px); // 小号高度
27
+ @tree-select-list-font-size: var(~'@{tree-select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
28
+ @tree-select-large-font-size: var(~'@{tree-select-custom-prefix}-font-size-large', 16px); // 大号字体
29
+ @tree-select-middle-font-size: var(~'@{tree-select-custom-prefix}-font-size-middle', 14px); // 中号高度
30
+ @tree-select-small-font-size: var(~'@{tree-select-custom-prefix}-font-size-small', 12px); // 小号高度
32
31
 
33
32
  // line-height
34
- @tree-select-dropdown-line-height: var(~'@{select-custom-prefix}-dropdown-line-height', 22px);
35
- @tree-select-large-line-height: var(~'@{select-custom-prefix}-line-height-large', 28px);
36
- @tree-select-middle-line-height: var(~'@{select-custom-prefix}-line-height-middle', 22px);
37
- @tree-select-small-line-height: var(~'@{select-custom-prefix}-line-height-small', 14px);
33
+ @tree-select-dropdown-line-height: var(~'@{tree-select-custom-prefix}-dropdown-line-height', 22px);
34
+ @tree-select-large-line-height: var(~'@{tree-select-custom-prefix}-line-height-large', 28px);
35
+ @tree-select-middle-line-height: var(~'@{tree-select-custom-prefix}-line-height-middle', 22px);
36
+ @tree-select-small-line-height: var(~'@{tree-select-custom-prefix}-line-height-small', 14px);
38
37
 
39
38
  // sizing
40
- @tree-select-dropdown-height: var(~'@{select-custom-prefix}-item-sizing-height', 22px);
41
- @tree-select-large-height: var(~'@{select-custom-prefix}-sizing-height-large', 36px); // 大号高度 lh:28px
42
- @tree-select-middle-height: var(~'@{select-custom-prefix}-sizing-height-middle', 32px); // 中号高度lh:22px
43
- @tree-select-small-height: var(~'@{select-custom-prefix}-sizing-height-small', 24px); // 小号高度lh:12px
39
+ @tree-select-dropdown-height: var(~'@{tree-select-custom-prefix}-item-sizing-height', 22px);
40
+ @tree-select-large-height: var(~'@{tree-select-custom-prefix}-sizing-height-large', 36px); // 大号高度 lh:28px
41
+ @tree-select-middle-height: var(~'@{tree-select-custom-prefix}-sizing-height-middle', 32px); // 中号高度lh:22px
42
+ @tree-select-small-height: var(~'@{tree-select-custom-prefix}-sizing-height-small', 24px); // 小号高度lh:12px
44
43
 
45
44
  // spacing
46
- @tree-select-bordered: var(~'@{select-custom-prefix}-bordered-spacing-padding-left', 8px);
47
- @tree-select-wrapper-padding: var(~'@{select-custom-prefix}-wrapper-spacing-padding', 1px 28px 1px 0);
45
+ @tree-select-bordered: var(~'@{tree-select-custom-prefix}-bordered-spacing-padding-left', 8px);
46
+ @tree-select-wrapper-padding: var(~'@{tree-select-custom-prefix}-wrapper-spacing-padding', 1px 28px 1px 0);
47
+ @tree-select-dropdown-node-horizontal: var(~'@{tree-select-custom-prefix}-dropdown-node-spacing-padding-horizontal', 16px);
48
48
 
49
49
  // radius
50
- @tree-select-g-radius-border: var(~'@{select-custom-prefix}-radius-border', @radius-border);
51
- @tree-select-border-radius-border: var(~'@{select-custom-prefix}-bordered-radius-border', 2px);
50
+ @tree-select-g-radius-border: var(~'@{tree-select-custom-prefix}-radius-border', @radius-border);
51
+ @tree-select-border-radius-border: var(~'@{tree-select-custom-prefix}-bordered-radius-border', 2px);
52
52
 
53
53
  // z-index
54
- @tree-select-z-index: var(~'@{select-custom-prefix}-z-index', @z-index-popper);
54
+ @tree-select-z-index: var(~'@{tree-select-custom-prefix}-z-index', @z-index-popper);
@@ -320,6 +320,7 @@ var InternalTreeSelect = function InternalTreeSelect(props, ref) {
320
320
  icon: treeIcon,
321
321
  showIcon: showTreeIcon,
322
322
  switcherIcon: switcherIcon,
323
+ onlyExpandOnClickIcon: true,
323
324
  notFoundContent: renderNotContent(),
324
325
  filterTreeNode: defFilterTreeNode,
325
326
  onSelect: handleSelect,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdcloudjs/kdesign",
3
- "version": "1.7.2",
3
+ "version": "1.7.3",
4
4
  "description": "KDesign 金蝶前端react 组件库",
5
5
  "title": "kdesign",
6
6
  "keywords": [