@kdcloudjs/kdesign 1.6.40 → 1.7.1

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