@kdcloudjs/kdesign 1.7.1 → 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.
Files changed (48) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/kdesign-complete.less +45 -43
  3. package/dist/kdesign.css +11 -6
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +1591 -1794
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +5 -5
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/color-picker/constant/colorTypes.js +3 -3
  11. package/es/color-picker/style/index.css +8 -2
  12. package/es/color-picker/style/index.less +5 -1
  13. package/es/config-provider/compDefaultProps.d.ts +1 -0
  14. package/es/config-provider/compDefaultProps.js +1 -0
  15. package/es/dropdown/dropdown.js +2 -7
  16. package/es/dropdown/menu.js +3 -0
  17. package/es/modal/modal.d.ts +7 -1
  18. package/es/modal/modal.js +29 -5
  19. package/es/select/select.js +6 -3
  20. package/es/tree/tree.d.ts +1 -0
  21. package/es/tree/tree.js +3 -0
  22. package/es/tree/treeHooks.js +1 -1
  23. package/es/tree/treeNode.d.ts +2 -0
  24. package/es/tree/treeNode.js +8 -5
  25. package/es/tree-select/style/index.css +2 -3
  26. package/es/tree-select/style/index.less +2 -4
  27. package/es/tree-select/style/token.less +38 -38
  28. package/es/tree-select/tree-select.js +1 -0
  29. package/lib/color-picker/constant/colorTypes.js +3 -3
  30. package/lib/color-picker/style/index.css +8 -2
  31. package/lib/color-picker/style/index.less +5 -1
  32. package/lib/config-provider/compDefaultProps.d.ts +1 -0
  33. package/lib/config-provider/compDefaultProps.js +1 -0
  34. package/lib/dropdown/dropdown.js +2 -7
  35. package/lib/dropdown/menu.js +3 -0
  36. package/lib/modal/modal.d.ts +7 -1
  37. package/lib/modal/modal.js +31 -7
  38. package/lib/select/select.js +6 -3
  39. package/lib/tree/tree.d.ts +1 -0
  40. package/lib/tree/tree.js +3 -0
  41. package/lib/tree/treeHooks.js +1 -1
  42. package/lib/tree/treeNode.d.ts +2 -0
  43. package/lib/tree/treeNode.js +8 -5
  44. package/lib/tree-select/style/index.css +2 -3
  45. package/lib/tree-select/style/index.less +2 -4
  46. package/lib/tree-select/style/token.less +38 -38
  47. package/lib/tree-select/tree-select.js +1 -0
  48. package/package.json +1 -1
@@ -3,11 +3,11 @@ export var colorTypes = [{
3
3
  value: '#b2b2b2'
4
4
  }, {
5
5
  type: 'HSB',
6
- value: 'hsb(0,0%,70%)'
6
+ value: 'hsb(0, 0%, 70%)'
7
7
  }, {
8
8
  type: 'RGB',
9
- value: 'rgb(178,178,178)'
9
+ value: 'rgb(178, 178, 178)'
10
10
  }, {
11
11
  type: 'HSL',
12
- value: 'hsl(0,0%,70%)'
12
+ value: 'hsl(0, 0%, 70%)'
13
13
  }];
@@ -254,8 +254,14 @@
254
254
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
255
255
  border-radius: 2px;
256
256
  }
257
- .kd-color-picker-pop .kd-color-picker-panel-input .kd-select .kd-select-dropdown {
258
- overflow: hidden;
257
+ .kd-color-picker-pop .kd-color-picker-panel-input .kd-select .kd-select-dropdown .kd-select-item-option {
258
+ display: -webkit-box;
259
+ display: -ms-flexbox;
260
+ display: flex;
261
+ -webkit-box-pack: center;
262
+ -ms-flex-pack: center;
263
+ justify-content: center;
264
+ min-width: unset;
259
265
  }
260
266
  .kd-color-picker-pop .kd-color-picker-panel-input .kd-select-bordered {
261
267
  border-radius: 2px;
@@ -179,7 +179,11 @@
179
179
  }
180
180
 
181
181
  .@{kd-prefix}-select-dropdown {
182
- overflow: hidden;
182
+ .@{kd-prefix}-select-item-option {
183
+ display: flex;
184
+ justify-content: center;
185
+ min-width: unset;
186
+ }
183
187
  }
184
188
  }
185
189
 
@@ -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, {
@@ -16,7 +16,7 @@ var findItem = function findItem(element) {
16
16
  }
17
17
  };
18
18
  var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
19
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
19
+ var _a, _b, _c;
20
20
  var _React$useContext = React.useContext(ConfigContext),
21
21
  getPrefixCls = _React$useContext.getPrefixCls,
22
22
  pkgPrefixCls = _React$useContext.prefixCls,
@@ -74,12 +74,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
74
74
  onClick: handleItemClick,
75
75
  selectable: menuSelectable
76
76
  });
77
- var isItem = React.Children.count((_d = menu.props) === null || _d === void 0 ? void 0 : _d.children) === 1 && ((_g = (_f = (_e = menu.props) === null || _e === void 0 ? void 0 : _e.children) === null || _f === void 0 ? void 0 : _f.type) === null || _g === void 0 ? void 0 : _g.displayName) === 'DropdownMenuItem' || Array.isArray((_k = (_j = (_h = menu.props) === null || _h === void 0 ? void 0 : _h.children) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.children) || ((_p = (_o = (_m = (_l = menu.props) === null || _l === void 0 ? void 0 : _l.children) === null || _m === void 0 ? void 0 : _m.props) === null || _o === void 0 ? void 0 : _o.children.type) === null || _p === void 0 ? void 0 : _p.displayName) === 'DropdownMenuItem';
78
- var menuElement = isMenu ? Array.isArray((_q = menu.props) === null || _q === void 0 ? void 0 : _q.children) || isItem ? cloneObj : /*#__PURE__*/React.createElement("ul", {
79
- className: "".concat(prefixCls, "-menu"),
80
- onClick: handleItemClick,
81
- role: "menu"
82
- }, menu.props.children) : /*#__PURE__*/React.createElement("ul", {
77
+ var menuElement = isMenu ? cloneObj : /*#__PURE__*/React.createElement("ul", {
83
78
  className: "".concat(prefixCls, "-menu"),
84
79
  onClick: handleItemClick,
85
80
  role: "menu"
@@ -30,6 +30,9 @@ var Menu = /*#__PURE__*/React.forwardRef(function (props, ref) {
30
30
  // className前缀
31
31
  var prefixCls = getPrefixCls(pkgPrefixCls, 'dropdown-menu', customPrefixcls);
32
32
  var cloneItem = function cloneItem(item, index) {
33
+ if (! /*#__PURE__*/React.isValidElement(item)) {
34
+ return item;
35
+ }
33
36
  var key = item.key || index;
34
37
  var selected = selectable && String(selectedKey) === String(key);
35
38
  return /*#__PURE__*/React.cloneElement(item, {
@@ -1,5 +1,6 @@
1
1
  import React, { ReactNode, CSSProperties } from 'react';
2
2
  import { IButtonProps } from '../button/button';
3
+ import type { DraggableBounds, DraggableEventHandler } from 'react-draggable';
3
4
  declare type CSSSelector = string;
4
5
  export declare const ConfirmModalTypes: string[];
5
6
  export declare const ModalTypes: ["confirm", "warning", "error", "normal"];
@@ -8,6 +9,7 @@ export interface IModalProps {
8
9
  body?: ReactNode;
9
10
  bodyClassName?: string;
10
11
  bodyStyle?: CSSProperties;
12
+ style?: CSSProperties;
11
13
  cancelButtonProps?: IButtonProps;
12
14
  cancelText?: ReactNode;
13
15
  className?: string;
@@ -40,6 +42,10 @@ export interface IModalProps {
40
42
  visible?: boolean;
41
43
  width?: number;
42
44
  showline?: boolean;
45
+ bounds?: DraggableBounds | string | false;
46
+ onDragStart?: DraggableEventHandler;
47
+ onDrag?: DraggableEventHandler;
48
+ onDragStop?: DraggableEventHandler;
43
49
  }
44
- declare const Modal: React.FC<IModalProps>;
50
+ declare const Modal: React.ForwardRefExoticComponent<IModalProps & React.RefAttributes<unknown>>;
45
51
  export default Modal;
package/es/modal/modal.js CHANGED
@@ -1,8 +1,17 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
2
  import _extends from "@babel/runtime-corejs3/helpers/extends";
3
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
4
5
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
5
6
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
7
+ var __rest = this && this.__rest || function (s, e) {
8
+ var t = {};
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
10
+ if (s != null && typeof _Object$getOwnPropertySymbols === "function") for (var i = 0, p = _Object$getOwnPropertySymbols(s); i < p.length; i++) {
11
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
12
+ }
13
+ return t;
14
+ };
6
15
  import React, { useContext, useEffect, useState, useRef, useCallback } from 'react';
7
16
  import { Icon } from '../index';
8
17
  import Button from '../button/button';
@@ -17,7 +26,7 @@ import { getLangMsg } from '../locale/locale';
17
26
  import { useHideDocumentScrollBar } from '../_utils/hooks';
18
27
  export var ConfirmModalTypes = ['confirm', 'normal'];
19
28
  export var ModalTypes = tuple('confirm', 'warning', 'error', 'normal');
20
- var Modal = function Modal(props) {
29
+ var InternalModal = function InternalModal(props, ref) {
21
30
  var _classNames3, _classNames4, _context2, _context3;
22
31
  var _useContext = useContext(ConfigContext),
23
32
  getPrefixCls = _useContext.getPrefixCls,
@@ -55,14 +64,20 @@ var Modal = function Modal(props) {
55
64
  type = modalProps.type,
56
65
  visible = modalProps.visible,
57
66
  width = modalProps.width,
58
- showline = modalProps.showline;
67
+ showline = modalProps.showline,
68
+ onDragStart = modalProps.onDragStart,
69
+ onDrag = modalProps.onDrag,
70
+ onDragStop = modalProps.onDragStop,
71
+ bounds = modalProps.bounds,
72
+ others = __rest(modalProps, ["body", "bodyClassName", "bodyStyle", "cancelButtonProps", "cancelText", "className", "closable", "closeIcon", "destroyOnClose", "draggable", "focusTriggerAfterClose", "footer", "footerClassName", "footerStyle", "footerBtnOrder", "getContainer", "height", "keyboard", "mask", "maskClosable", "maskStyle", "okButtonProps", "okText", "onCancel", "onOk", "prefixCls", "title", "titleIcon", "type", "visible", "width", "showline", "onDragStart", "onDrag", "onDragStop", "bounds"]);
59
73
  var isForceController = visible !== undefined;
60
74
  var _useState = useState(isForceController ? visible : true),
61
75
  _useState2 = _slicedToArray(_useState, 2),
62
76
  innerVisible = _useState2[0],
63
77
  setInnerVisible = _useState2[1]; // 需要根据visible来判断,不能一开始为true再去设置false
64
78
  var previousActiveElement = useRef(null);
65
- var containerRef = useRef(null);
79
+ var innerRef = useRef(null);
80
+ var containerRef = ref || innerRef;
66
81
  var modalPrefixCls = getPrefixCls(prefixCls, 'modal', customPrefixcls);
67
82
  devWarning(ModalTypes.indexOf(type) === -1, 'modal', "cannot found modal type '".concat(type, "'"));
68
83
  var modalContainer = typeof getContainer === 'function' ? getContainer() : getContainer;
@@ -207,6 +222,10 @@ var Modal = function Modal(props) {
207
222
  }, footer || generatorFooterByType(type)));
208
223
  // 没有容器应该是不用居中的
209
224
  // 但仍可拖拽
225
+ var handleDragStart = function handleDragStart(e, data) {
226
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
227
+ onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(e, data);
228
+ };
210
229
  var defaultPosition = modalContainer ? {
211
230
  x: -(width / 2),
212
231
  y: -(height / 2)
@@ -214,9 +233,9 @@ var Modal = function Modal(props) {
214
233
  x: 0,
215
234
  y: 0
216
235
  };
217
- var comp = /*#__PURE__*/React.createElement("div", {
236
+ var comp = /*#__PURE__*/React.createElement("div", _extends({
218
237
  className: modalClasses
219
- }, mask && /*#__PURE__*/React.createElement("div", {
238
+ }, others), mask && /*#__PURE__*/React.createElement("div", {
220
239
  onClick: handleMaskClick,
221
240
  className: "".concat(modalPrefixCls, "-mask"),
222
241
  style: maskStyle
@@ -224,11 +243,16 @@ var Modal = function Modal(props) {
224
243
  defaultPosition: defaultPosition,
225
244
  handle: ".".concat(headerClass),
226
245
  disabled: !draggable,
246
+ onStart: handleDragStart,
247
+ onDrag: onDrag,
248
+ onStop: onDragStop,
249
+ bounds: bounds,
227
250
  cancel: _concatInstanceProperty(_context3 = ".".concat(modalPrefixCls, "-title-container, .")).call(_context3, modalPrefixCls, "-close-icon")
228
251
  }, container));
229
252
  var renderComp = ((isForceController ? visible : innerVisible) || !destroyOnClose) && comp;
230
253
  if (modalContainer && renderComp) return /*#__PURE__*/ReactDOM.createPortal(renderComp, modalContainer);
231
254
  return renderComp || null;
232
255
  };
256
+ var Modal = /*#__PURE__*/React.forwardRef(InternalModal);
233
257
  Modal.displayName = 'Modal';
234
258
  export default Modal;
@@ -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,
@@ -9,12 +9,12 @@ var colorTypes = [{
9
9
  value: '#b2b2b2'
10
10
  }, {
11
11
  type: 'HSB',
12
- value: 'hsb(0,0%,70%)'
12
+ value: 'hsb(0, 0%, 70%)'
13
13
  }, {
14
14
  type: 'RGB',
15
- value: 'rgb(178,178,178)'
15
+ value: 'rgb(178, 178, 178)'
16
16
  }, {
17
17
  type: 'HSL',
18
- value: 'hsl(0,0%,70%)'
18
+ value: 'hsl(0, 0%, 70%)'
19
19
  }];
20
20
  exports.colorTypes = colorTypes;
@@ -254,8 +254,14 @@
254
254
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
255
255
  border-radius: 2px;
256
256
  }
257
- .kd-color-picker-pop .kd-color-picker-panel-input .kd-select .kd-select-dropdown {
258
- overflow: hidden;
257
+ .kd-color-picker-pop .kd-color-picker-panel-input .kd-select .kd-select-dropdown .kd-select-item-option {
258
+ display: -webkit-box;
259
+ display: -ms-flexbox;
260
+ display: flex;
261
+ -webkit-box-pack: center;
262
+ -ms-flex-pack: center;
263
+ justify-content: center;
264
+ min-width: unset;
259
265
  }
260
266
  .kd-color-picker-pop .kd-color-picker-panel-input .kd-select-bordered {
261
267
  border-radius: 2px;
@@ -179,7 +179,11 @@
179
179
  }
180
180
 
181
181
  .@{kd-prefix}-select-dropdown {
182
- overflow: hidden;
182
+ .@{kd-prefix}-select-item-option {
183
+ display: flex;
184
+ justify-content: center;
185
+ min-width: unset;
186
+ }
183
187
  }
184
188
  }
185
189
 
@@ -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, {
@@ -28,7 +28,7 @@ var findItem = function findItem(element) {
28
28
  }
29
29
  };
30
30
  var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
31
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
31
+ var _a, _b, _c;
32
32
  var _React$useContext = React.useContext(_ConfigContext.default),
33
33
  getPrefixCls = _React$useContext.getPrefixCls,
34
34
  pkgPrefixCls = _React$useContext.prefixCls,
@@ -86,12 +86,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
86
86
  onClick: handleItemClick,
87
87
  selectable: menuSelectable
88
88
  });
89
- var isItem = React.Children.count((_d = menu.props) === null || _d === void 0 ? void 0 : _d.children) === 1 && ((_g = (_f = (_e = menu.props) === null || _e === void 0 ? void 0 : _e.children) === null || _f === void 0 ? void 0 : _f.type) === null || _g === void 0 ? void 0 : _g.displayName) === 'DropdownMenuItem' || Array.isArray((_k = (_j = (_h = menu.props) === null || _h === void 0 ? void 0 : _h.children) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.children) || ((_p = (_o = (_m = (_l = menu.props) === null || _l === void 0 ? void 0 : _l.children) === null || _m === void 0 ? void 0 : _m.props) === null || _o === void 0 ? void 0 : _o.children.type) === null || _p === void 0 ? void 0 : _p.displayName) === 'DropdownMenuItem';
90
- var menuElement = isMenu ? Array.isArray((_q = menu.props) === null || _q === void 0 ? void 0 : _q.children) || isItem ? cloneObj : /*#__PURE__*/React.createElement("ul", {
91
- className: "".concat(prefixCls, "-menu"),
92
- onClick: handleItemClick,
93
- role: "menu"
94
- }, menu.props.children) : /*#__PURE__*/React.createElement("ul", {
89
+ var menuElement = isMenu ? cloneObj : /*#__PURE__*/React.createElement("ul", {
95
90
  className: "".concat(prefixCls, "-menu"),
96
91
  onClick: handleItemClick,
97
92
  role: "menu"
@@ -42,6 +42,9 @@ var Menu = /*#__PURE__*/React.forwardRef(function (props, ref) {
42
42
  // className前缀
43
43
  var prefixCls = getPrefixCls(pkgPrefixCls, 'dropdown-menu', customPrefixcls);
44
44
  var cloneItem = function cloneItem(item, index) {
45
+ if (! /*#__PURE__*/React.isValidElement(item)) {
46
+ return item;
47
+ }
45
48
  var key = item.key || index;
46
49
  var selected = selectable && String(selectedKey) === String(key);
47
50
  return /*#__PURE__*/React.cloneElement(item, {
@@ -1,5 +1,6 @@
1
1
  import React, { ReactNode, CSSProperties } from 'react';
2
2
  import { IButtonProps } from '../button/button';
3
+ import type { DraggableBounds, DraggableEventHandler } from 'react-draggable';
3
4
  declare type CSSSelector = string;
4
5
  export declare const ConfirmModalTypes: string[];
5
6
  export declare const ModalTypes: ["confirm", "warning", "error", "normal"];
@@ -8,6 +9,7 @@ export interface IModalProps {
8
9
  body?: ReactNode;
9
10
  bodyClassName?: string;
10
11
  bodyStyle?: CSSProperties;
12
+ style?: CSSProperties;
11
13
  cancelButtonProps?: IButtonProps;
12
14
  cancelText?: ReactNode;
13
15
  className?: string;
@@ -40,6 +42,10 @@ export interface IModalProps {
40
42
  visible?: boolean;
41
43
  width?: number;
42
44
  showline?: boolean;
45
+ bounds?: DraggableBounds | string | false;
46
+ onDragStart?: DraggableEventHandler;
47
+ onDrag?: DraggableEventHandler;
48
+ onDragStop?: DraggableEventHandler;
43
49
  }
44
- declare const Modal: React.FC<IModalProps>;
50
+ declare const Modal: React.ForwardRefExoticComponent<IModalProps & React.RefAttributes<unknown>>;
45
51
  export default Modal;