@kdcloudjs/kdesign 1.6.21 → 1.6.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/kdesign-complete.less +140 -8
  3. package/dist/kdesign.css +155 -10
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +650 -61
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +8 -8
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/cascader/cascader.d.ts +7 -3
  11. package/es/cascader/cascader.js +243 -37
  12. package/es/cascader/style/index.css +144 -6
  13. package/es/cascader/style/index.less +122 -5
  14. package/es/cascader/style/token.less +3 -0
  15. package/es/cascader/util.d.ts +26 -0
  16. package/es/cascader/util.js +301 -0
  17. package/es/config-provider/compDefaultProps.d.ts +1 -0
  18. package/es/config-provider/compDefaultProps.js +1 -0
  19. package/es/date-picker/range-picker.js +8 -1
  20. package/es/radio/radio.js +1 -0
  21. package/es/stepper/style/index.css +10 -3
  22. package/es/stepper/style/index.less +12 -3
  23. package/es/stepper/style/token.less +3 -0
  24. package/lib/cascader/cascader.d.ts +7 -3
  25. package/lib/cascader/cascader.js +280 -56
  26. package/lib/cascader/style/index.css +144 -6
  27. package/lib/cascader/style/index.less +122 -5
  28. package/lib/cascader/style/token.less +3 -0
  29. package/lib/cascader/util.d.ts +26 -0
  30. package/lib/cascader/util.js +353 -0
  31. package/lib/config-provider/compDefaultProps.d.ts +1 -0
  32. package/lib/config-provider/compDefaultProps.js +1 -0
  33. package/lib/date-picker/range-picker.js +9 -1
  34. package/lib/radio/radio.js +1 -0
  35. package/lib/stepper/style/index.css +10 -3
  36. package/lib/stepper/style/index.less +12 -3
  37. package/lib/stepper/style/token.less +3 -0
  38. package/package.json +1 -1
@@ -0,0 +1,353 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.flattenAll = exports.delKey = exports.addKeys = exports.ValueSeparator = void 0;
9
+ exports.getAllCheckedKeys = getAllCheckedKeys;
10
+ exports.getChecked = void 0;
11
+ exports.getChildNodeKeys = getChildNodeKeys;
12
+ exports.valueInSet = exports.useChecked = exports.transformValuesToSet = exports.setNodeCheckedByValue = exports.isHalfChecked = exports.getMultipleCheckValue = exports.getHalfChecked = void 0;
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
15
+
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
19
+
20
+ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
21
+
22
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
23
+
24
+ var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
25
+
26
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
27
+
28
+ var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
29
+
30
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
31
+
32
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
33
+
34
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
35
+
36
+ var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
37
+
38
+ var _react = require("react");
39
+
40
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
41
+
42
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
43
+ var t = {};
44
+
45
+ for (var p in s) {
46
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
47
+ }
48
+
49
+ if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
50
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
51
+ }
52
+ return t;
53
+ };
54
+
55
+ var useChecked = function useChecked(value, flattenData, keysData, isMultiple) {
56
+ var initialCheckedState = (0, _react.useMemo)(function () {
57
+ return setNodeCheckedByValue(value, flattenData, keysData);
58
+ }, [value, flattenData, keysData]);
59
+
60
+ var _useState = (0, _react.useState)(initialCheckedState.checkedKeys),
61
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
62
+ checkedKeys = _useState2[0],
63
+ setCheckedKeys = _useState2[1];
64
+
65
+ var _useState3 = (0, _react.useState)(initialCheckedState.halfCheckedKeys),
66
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
67
+ halfCheckedKeys = _useState4[0],
68
+ setHalfCheckedKeys = _useState4[1];
69
+
70
+ (0, _react.useEffect)(function () {
71
+ setCheckedKeys(initialCheckedState.checkedKeys);
72
+ }, [initialCheckedState.checkedKeys]);
73
+ (0, _react.useEffect)(function () {
74
+ setHalfCheckedKeys(initialCheckedState.halfCheckedKeys);
75
+ }, [initialCheckedState.halfCheckedKeys]);
76
+ if (!isMultiple) return [];
77
+ return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
78
+ };
79
+
80
+ exports.useChecked = useChecked;
81
+
82
+ var flattenAll = function flattenAll(data) {
83
+ var newTreeData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
84
+ var keysData = {};
85
+ var formatData = (0, _cloneDeep.default)(data);
86
+
87
+ var fn = function fn(data) {
88
+ var newTreeData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
89
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
90
+ var newParent = (0, _cloneDeep.default)(parent);
91
+
92
+ if (newParent) {
93
+ newParent.children = null;
94
+ }
95
+
96
+ data && data.forEach(function (item) {
97
+ var _context, _context2;
98
+
99
+ var children = item.children,
100
+ label = item.label,
101
+ value = item.value,
102
+ others = __rest(item, ["children", "label", "value"]);
103
+
104
+ var flattenNode = (0, _extends2.default)({
105
+ label: label,
106
+ value: value,
107
+ children: children,
108
+ parent: newParent,
109
+ parentKey: (parent === null || parent === void 0 ? void 0 : parent.value) || null,
110
+ pathKeys: (0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)((parent === null || parent === void 0 ? void 0 : parent.pathKeys) || []), [value]),
111
+ _level: parent ? parent._level + 1 : 0
112
+ }, others);
113
+ item.parent = newParent;
114
+ item.parentKey = (parent === null || parent === void 0 ? void 0 : parent.value) || null;
115
+ item.pathKeys = (0, _concat.default)(_context2 = []).call(_context2, (0, _toConsumableArray2.default)((parent === null || parent === void 0 ? void 0 : parent.pathKeys) || []), [value]);
116
+ item._level = parent ? parent._level + 1 : 0;
117
+ value && (keysData[value] = flattenNode);
118
+ newTreeData.push(flattenNode);
119
+ children && fn(children, newTreeData, flattenNode);
120
+ });
121
+ return newTreeData;
122
+ };
123
+
124
+ var flattenData = fn(formatData, newTreeData);
125
+ return {
126
+ formatData: formatData,
127
+ keysData: keysData,
128
+ flattenData: flattenData
129
+ };
130
+ };
131
+
132
+ exports.flattenAll = flattenAll;
133
+
134
+ var isHalfChecked = function isHalfChecked(data) {
135
+ var checkedLen = data.reduce(function (total, prev) {
136
+ var num = prev._halfChecked ? 0.5 : prev._checked ? 1 : 0;
137
+ return total + num;
138
+ }, 0);
139
+ return checkedLen !== data.length && checkedLen > 0;
140
+ };
141
+
142
+ exports.isHalfChecked = isHalfChecked;
143
+ var ValueSeparator = '__kdm_cascader__';
144
+ exports.ValueSeparator = ValueSeparator;
145
+
146
+ var transformValuesToSet = function transformValuesToSet(values) {
147
+ var _values = values || [];
148
+
149
+ var valuesSet = _values.reduce(function (set, next) {
150
+ var _context3;
151
+
152
+ set.add((0, _concat.default)(_context3 = []).call(_context3, next).join(ValueSeparator));
153
+ return set;
154
+ }, new _set.default());
155
+
156
+ return valuesSet;
157
+ };
158
+
159
+ exports.transformValuesToSet = transformValuesToSet;
160
+
161
+ var valueInSet = function valueInSet(set, value) {
162
+ var _value = value || [];
163
+
164
+ return set.has(_value.join(ValueSeparator));
165
+ };
166
+
167
+ exports.valueInSet = valueInSet;
168
+
169
+ function getChildNodeKeys(node, keysNodeProps) {
170
+ var nodes = new _set.default();
171
+
172
+ var loop = function loop(children) {
173
+ (0, _map.default)(children).call(children, function (child) {
174
+ var key = child.value;
175
+ if (!key) return;
176
+ var item = keysNodeProps[key];
177
+
178
+ if (!item || item.disabled) {
179
+ return;
180
+ }
181
+
182
+ key && nodes.add(key);
183
+ loop(item.children || []);
184
+ });
185
+ };
186
+
187
+ if (node) {
188
+ loop(node.children || []);
189
+ }
190
+
191
+ return nodes;
192
+ }
193
+
194
+ var setNodeCheckedByValue = function setNodeCheckedByValue(initValues, flatNodes, keysNodeProps) {
195
+ var _context4, _context5;
196
+
197
+ var valuesSet = transformValuesToSet(initValues);
198
+ var checkedSet = new _set.default();
199
+ var halfCheckedSet = new _set.default();
200
+ var childCheckedKeysSet = new _set.default();
201
+ flatNodes.forEach(function (node) {
202
+ if (node.pathKeys.some(function (_item, index, arr) {
203
+ return valueInSet(valuesSet, (0, _slice.default)(arr).call(arr, 0, index + 1));
204
+ })) {
205
+ checkedSet.add(node.value);
206
+ }
207
+ });
208
+ (0, _map.default)(_context4 = (0, _toConsumableArray2.default)(checkedSet)).call(_context4, function (value) {
209
+ if (!childCheckedKeysSet.has(value)) {
210
+ var childKeys = getChildNodeKeys(keysNodeProps[value], keysNodeProps);
211
+ childKeys.forEach(function (v) {
212
+ childCheckedKeysSet.add(v);
213
+ });
214
+ }
215
+
216
+ updateParent(value, keysNodeProps, checkedSet, halfCheckedSet);
217
+ });
218
+ return {
219
+ checkedKeys: (0, _toConsumableArray2.default)(new _set.default((0, _concat.default)(_context5 = []).call(_context5, (0, _toConsumableArray2.default)(checkedSet), (0, _toConsumableArray2.default)(childCheckedKeysSet)))),
220
+ halfCheckedKeys: (0, _toConsumableArray2.default)(halfCheckedSet)
221
+ };
222
+ };
223
+
224
+ exports.setNodeCheckedByValue = setNodeCheckedByValue;
225
+
226
+ var updateParent = function updateParent(key, keysNodeProps, allKeys, halfCheckedKeysSet) {
227
+ var pathKeys = (0, _toConsumableArray2.default)(keysNodeProps[key].pathKeys);
228
+ pathKeys.pop();
229
+ pathKeys.reverse().forEach(function (itemKey) {
230
+ var parent = keysNodeProps[itemKey];
231
+
232
+ if (parent && !parent.disabled) {
233
+ var total = 0;
234
+ var number = 0;
235
+ parent.children.some(function (_ref) {
236
+ var value = _ref.value;
237
+ var item = keysNodeProps[value];
238
+
239
+ if (!item || item.disabled) {
240
+ return false;
241
+ }
242
+
243
+ total++;
244
+
245
+ if (allKeys.has(value)) {
246
+ number++;
247
+ } else if (halfCheckedKeysSet.has(value)) {
248
+ number += 0.5;
249
+ return true;
250
+ }
251
+ });
252
+
253
+ if (!number || number === total) {
254
+ halfCheckedKeysSet.delete(itemKey);
255
+ } else {
256
+ halfCheckedKeysSet.add(itemKey);
257
+ }
258
+
259
+ if (number && number === total) {
260
+ allKeys.add(itemKey);
261
+ } else {
262
+ allKeys.delete(itemKey);
263
+ }
264
+ }
265
+ });
266
+ };
267
+
268
+ var getHalfChecked = function getHalfChecked(halfCheckedKeys, key) {
269
+ return halfCheckedKeys === null || halfCheckedKeys === void 0 ? void 0 : (0, _includes.default)(halfCheckedKeys).call(halfCheckedKeys, key);
270
+ };
271
+
272
+ exports.getHalfChecked = getHalfChecked;
273
+
274
+ var getChecked = function getChecked(checkedKeys, key) {
275
+ return checkedKeys === null || checkedKeys === void 0 ? void 0 : (0, _includes.default)(checkedKeys).call(checkedKeys, key);
276
+ };
277
+
278
+ exports.getChecked = getChecked;
279
+
280
+ var getCheckedNodes = function getCheckedNodes(flatNodes, checkedKeys) {
281
+ return (0, _filter.default)(flatNodes).call(flatNodes, function (node) {
282
+ return checkedKeys === null || checkedKeys === void 0 ? void 0 : (0, _includes.default)(checkedKeys).call(checkedKeys, node.value);
283
+ });
284
+ };
285
+
286
+ var addKeys = function addKeys() {
287
+ var _context6;
288
+
289
+ var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
290
+ var newKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
291
+ return (0, _from.default)(new _set.default((0, _concat.default)(_context6 = []).call(_context6, (0, _toConsumableArray2.default)(prevKeys), (0, _toConsumableArray2.default)(newKeys))));
292
+ };
293
+
294
+ exports.addKeys = addKeys;
295
+
296
+ var delKey = function delKey(prevKeys, delKeys) {
297
+ var keys = (0, _extends2.default)([], prevKeys);
298
+ delKeys.forEach(function (item) {
299
+ var index = keys.indexOf(item);
300
+ index > -1 && (0, _splice.default)(keys).call(keys, index, 1);
301
+ });
302
+ return keys;
303
+ };
304
+
305
+ exports.delKey = delKey;
306
+
307
+ var getMultipleCheckValue = function getMultipleCheckValue(_propsValue, _option, _checked, flatNodes, checkedKeys) {
308
+ var _context7;
309
+
310
+ var checkedNodes = getCheckedNodes(flatNodes, checkedKeys);
311
+ var currentValue = (0, _filter.default)(_context7 = (0, _map.default)(checkedNodes).call(checkedNodes, function (node) {
312
+ return !node.children && node.pathKeys;
313
+ })).call(_context7, function (node) {
314
+ return node;
315
+ });
316
+ return currentValue;
317
+ };
318
+
319
+ exports.getMultipleCheckValue = getMultipleCheckValue;
320
+
321
+ function getAllCheckedKeys(key, checked, checkedKeys, keysNodeProps, halfCheckedKeys) {
322
+ if (!keysNodeProps[key]) {
323
+ return {
324
+ checkedKeys: checkedKeys,
325
+ halfCheckedKeys: halfCheckedKeys
326
+ };
327
+ }
328
+
329
+ var checkedKeysSet = new _set.default(checkedKeys);
330
+ var halfCheckedKeysSet = new _set.default(halfCheckedKeys);
331
+ var childKeys = getChildNodeKeys(keysNodeProps[key], keysNodeProps);
332
+ var allKeys = checkedKeysSet;
333
+
334
+ if (checked) {
335
+ allKeys.add(key);
336
+ halfCheckedKeysSet.delete(key);
337
+ childKeys.forEach(function (v) {
338
+ allKeys.add(v);
339
+ });
340
+ } else {
341
+ halfCheckedKeysSet.delete(key);
342
+ allKeys.delete(key);
343
+ childKeys.forEach(function (v) {
344
+ allKeys.delete(v);
345
+ });
346
+ }
347
+
348
+ updateParent(key, keysNodeProps, checkedKeysSet, halfCheckedKeysSet);
349
+ return {
350
+ checkedKeys: (0, _toConsumableArray2.default)(allKeys),
351
+ halfCheckedKeys: (0, _toConsumableArray2.default)(halfCheckedKeysSet)
352
+ };
353
+ }
@@ -38,6 +38,7 @@ declare const compDefaultProps: {
38
38
  intervalTime: number;
39
39
  };
40
40
  Cascader: {
41
+ mode: string;
41
42
  allowClear: boolean;
42
43
  expandTrigger: string;
43
44
  notFoundContent: string;
@@ -58,6 +58,7 @@ var compDefaultProps = {
58
58
  intervalTime: 4000
59
59
  },
60
60
  Cascader: {
61
+ mode: 'single',
61
62
  allowClear: true,
62
63
  expandTrigger: 'click',
63
64
  notFoundContent: 'No Data',
@@ -147,6 +147,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
147
147
  _datePickerProps$seco = datePickerProps.secondStep,
148
148
  secondStep = _datePickerProps$seco === void 0 ? 1 : _datePickerProps$seco,
149
149
  suffixIcon = datePickerProps.suffixIcon,
150
+ panelRender = datePickerProps.panelRender,
150
151
  renderExtraFooter = datePickerProps.renderExtraFooter,
151
152
  disabledHours = datePickerProps.disabledHours,
152
153
  disabledMinutes = datePickerProps.disabledMinutes,
@@ -583,7 +584,14 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
583
584
  mergedActivePickerIndex: mergedActivePickerIndex,
584
585
  disabledDate: mergedActivePickerIndex === 0 ? disabledStartDate : disabledEndDate
585
586
  });
586
- return /*#__PURE__*/_react.default.createElement(_datePanel.default, (0, _extends2.default)({}, panelProps));
587
+
588
+ var panelNode = /*#__PURE__*/_react.default.createElement(_datePanel.default, (0, _extends2.default)({}, panelProps));
589
+
590
+ if (panelRender) {
591
+ panelNode = panelRender(panelNode);
592
+ }
593
+
594
+ return panelNode;
587
595
  };
588
596
 
589
597
  var extraNode = (0, _getExtraFooter.default)(datePickerPrefixCls, mergedModes[mergedActivePickerIndex], renderExtraFooter);
@@ -105,6 +105,7 @@ var InternalRadio = function InternalRadio(props, ref) {
105
105
  }, [checked, defaultChecked, context === null || context === void 0 ? void 0 : context.value]);
106
106
 
107
107
  var onChange = function onChange(e) {
108
+ if (disabled) return;
108
109
  setIsChecked(e.target.checked);
109
110
 
110
111
  if (props.onChange) {
@@ -103,9 +103,16 @@
103
103
  /* ----------- zIndex ——————---- end */
104
104
  .kd-inputNumber-stepper {
105
105
  width: 100px;
106
- --kd-c-input-sizing-height-middle: 28px;
107
- --kd-c-input-wrapper-padding-left: 9px;
108
- --kd-c-input-padding-left: 0;
106
+ }
107
+ .kd-inputNumber-stepper.kd-input-wrapper {
108
+ padding-left: var(--kd-c-stepper-padding-left, 9px) !important;
109
+ }
110
+ .kd-inputNumber-stepper.kd-input-wrapper .kd-input {
111
+ padding-left: var(--kd-c-stepper-input-padding-left, 0px);
112
+ }
113
+ .kd-inputNumber-stepper.kd-input-wrapper-size-middle {
114
+ height: var(--kd-c-stepper-sizing-height, 28px);
115
+ line-height: var(--kd-c-stepper-sizing-height, 28px);
109
116
  }
110
117
  .kd-inputNumber-stepper input {
111
118
  text-align: center;
@@ -6,9 +6,18 @@
6
6
  .@{inputNumber-prefix-cls} {
7
7
  width: 100px;
8
8
 
9
- --kd-c-input-sizing-height-middle: 28px;
10
- --kd-c-input-wrapper-padding-left: 9px;
11
- --kd-c-input-padding-left: 0;
9
+ &.@{kd-prefix}-input-wrapper {
10
+ padding-left: @stepper-input-wrapper-padding-left !important;
11
+
12
+ .@{kd-prefix}-input {
13
+ padding-left: @stepper-input-padding-left;
14
+ }
15
+
16
+ &-size-middle {
17
+ height: @stepper-middle-height;
18
+ line-height: @stepper-middle-height;
19
+ }
20
+ }
12
21
  input {
13
22
  text-align: center;
14
23
  color: @stepper-input-color;
@@ -19,6 +19,9 @@
19
19
  @stepper-input-small-sizing-height: var(~'@{stepper-prefix}-input-small-sizing-height', 20px);
20
20
  @stepper-input-middle-sizing-height: var(~'@{stepper-prefix}-input-middle-sizing-height', 28px);
21
21
  @stepper-input-large-sizing-height: var(~'@{stepper-prefix}-input-large-sizing-height', 36px);
22
+ @stepper-input-wrapper-padding-left: var(~'@{stepper-prefix}-padding-left', 9px);
23
+ @stepper-input-padding-left: var(~'@{stepper-prefix}-input-padding-left', 0px);
24
+ @stepper-middle-height: var(~'@{stepper-prefix}-sizing-height', 28px);
22
25
 
23
26
  // spacing
24
27
  @stepper-input-spacing-padding-horizontal: var(~'@{stepper-prefix}-input-spacing-padding-horizontal', 9px);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdcloudjs/kdesign",
3
- "version": "1.6.21",
3
+ "version": "1.6.23",
4
4
  "description": "KDesign 金蝶前端react 组件库",
5
5
  "title": "kdesign",
6
6
  "keywords": [