@kdcloudjs/kdesign 1.3.1 → 1.3.4
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.
- package/CHANGELOG.md +52 -0
- package/dist/kdesign-complete.less +171 -103
- package/dist/kdesign.css +163 -74
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +420 -299
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +4 -4
- package/dist/kdesign.min.js +8 -8
- package/dist/kdesign.min.js.map +1 -1
- package/es/button/group.js +2 -1
- package/es/button/style/index.css +20 -19
- package/es/button/style/index.less +29 -27
- package/es/button/style/token.less +4 -4
- package/es/cascader/cascader.d.ts +7 -3
- package/es/cascader/cascader.js +8 -6
- package/es/checkbox/checkbox.js +20 -12
- package/es/config-provider/compDefaultProps.d.ts +0 -1
- package/es/config-provider/compDefaultProps.js +1 -2
- package/es/form/Field.js +53 -9
- package/es/grid/row.d.ts +1 -1
- package/es/icon/interface.js +1 -1
- package/es/menu/menu.d.ts +1 -1
- package/es/menu/menu.js +51 -19
- package/es/menu/menuItem.d.ts +1 -0
- package/es/menu/menuItem.js +14 -10
- package/es/menu/style/index.css +139 -53
- package/es/menu/style/index.less +101 -69
- package/es/menu/style/mixin.less +33 -1
- package/es/menu/style/token.less +4 -2
- package/es/menu/subMenu.d.ts +1 -1
- package/es/menu/subMenu.js +118 -112
- package/es/radio/radio.d.ts +1 -1
- package/es/radio/radio.js +18 -11
- package/es/select/select.js +9 -2
- package/es/style/icon/kdicon.css +3 -1
- package/es/style/icon/kdicon.woff +0 -0
- package/lib/button/group.js +2 -1
- package/lib/button/style/index.css +20 -19
- package/lib/button/style/index.less +29 -27
- package/lib/button/style/token.less +4 -4
- package/lib/cascader/cascader.d.ts +7 -3
- package/lib/cascader/cascader.js +10 -8
- package/lib/checkbox/checkbox.js +19 -11
- package/lib/config-provider/compDefaultProps.d.ts +0 -1
- package/lib/config-provider/compDefaultProps.js +1 -2
- package/lib/form/Field.js +54 -9
- package/lib/grid/row.d.ts +1 -1
- package/lib/icon/interface.js +1 -1
- package/lib/menu/menu.d.ts +1 -1
- package/lib/menu/menu.js +57 -23
- package/lib/menu/menuItem.d.ts +1 -0
- package/lib/menu/menuItem.js +16 -10
- package/lib/menu/style/index.css +139 -53
- package/lib/menu/style/index.less +101 -69
- package/lib/menu/style/mixin.less +33 -1
- package/lib/menu/style/token.less +4 -2
- package/lib/menu/subMenu.d.ts +1 -1
- package/lib/menu/subMenu.js +137 -135
- package/lib/radio/radio.d.ts +1 -1
- package/lib/radio/radio.js +30 -20
- package/lib/select/select.js +9 -2
- package/lib/style/icon/kdicon.css +3 -1
- package/lib/style/icon/kdicon.woff +0 -0
- package/package.json +2 -2
package/lib/cascader/cascader.js
CHANGED
|
@@ -11,7 +11,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", {
|
|
12
12
|
value: true
|
|
13
13
|
});
|
|
14
|
-
exports.default = exports.
|
|
14
|
+
exports.default = exports.CascaderPlacement = void 0;
|
|
15
15
|
|
|
16
16
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
17
17
|
|
|
@@ -49,8 +49,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
|
|
|
49
49
|
|
|
50
50
|
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; }
|
|
51
51
|
|
|
52
|
-
var
|
|
53
|
-
exports.
|
|
52
|
+
var CascaderPlacement = (0, _type.tuple)('topLeft', 'topRight', 'bottomLeft', 'bottomRight');
|
|
53
|
+
exports.CascaderPlacement = CascaderPlacement;
|
|
54
54
|
var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
55
55
|
var _React$useContext = React.useContext(_configProvider.ConfigContext),
|
|
56
56
|
getPrefixCls = _React$useContext.getPrefixCls,
|
|
@@ -75,6 +75,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
75
75
|
getPopupContainer = allProps.getPopupContainer,
|
|
76
76
|
defaultPopupVisible = allProps.defaultPopupVisible,
|
|
77
77
|
onPopupVisibleChange = allProps.onPopupVisibleChange,
|
|
78
|
+
onPopperVisibleChange = allProps.onPopperVisibleChange,
|
|
78
79
|
customPrefixcls = allProps.prefixCls; // className前缀
|
|
79
80
|
|
|
80
81
|
var prefixCls = getPrefixCls(pkgPrefixCls, 'cascader', customPrefixcls);
|
|
@@ -82,14 +83,14 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
82
83
|
var triggerRef = React.useRef();
|
|
83
84
|
var mergeRef = ref || pickerRef;
|
|
84
85
|
|
|
85
|
-
var _React$useState = React.useState(!!props.popupVisible || defaultPopupVisible),
|
|
86
|
+
var _React$useState = React.useState(!!props.popperVisible || !!props.popupVisible || defaultPopupVisible),
|
|
86
87
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
87
88
|
visible = _React$useState2[0],
|
|
88
89
|
setVisible = _React$useState2[1];
|
|
89
90
|
|
|
90
91
|
React.useEffect(function () {
|
|
91
|
-
setVisible(!!props.popupVisible);
|
|
92
|
-
}, [props.popupVisible]);
|
|
92
|
+
setVisible(!!props.popperVisible || !!props.popupVisible);
|
|
93
|
+
}, [props.popperVisible, props.popupVisible]);
|
|
93
94
|
|
|
94
95
|
var _React$useState3 = React.useState([options]),
|
|
95
96
|
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
@@ -231,6 +232,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
231
232
|
var onVisibleChange = function onVisibleChange(visible) {
|
|
232
233
|
setVisible(visible);
|
|
233
234
|
onPopupVisibleChange && onPopupVisibleChange(visible);
|
|
235
|
+
onPopperVisibleChange && onPopperVisibleChange(visible);
|
|
234
236
|
visible && setSelectedOptions((0, _slice.default)(currentOptions).call(currentOptions, 0));
|
|
235
237
|
};
|
|
236
238
|
|
|
@@ -282,8 +284,8 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
282
284
|
trigger: 'click',
|
|
283
285
|
getPopupContainer: getPopupContainer,
|
|
284
286
|
prefixCls: "".concat(prefixCls, "-menus"),
|
|
285
|
-
placement: allProps.popupPlacement,
|
|
286
|
-
popperClassName: allProps.popupClassName,
|
|
287
|
+
placement: allProps.popperPlacement || allProps.popupPlacement,
|
|
288
|
+
popperClassName: allProps.popperClassName || allProps.popupClassName,
|
|
287
289
|
getTriggerElement: function getTriggerElement() {
|
|
288
290
|
return triggerRef.current;
|
|
289
291
|
}
|
package/lib/checkbox/checkbox.js
CHANGED
|
@@ -71,11 +71,12 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
|
|
|
71
71
|
return (0, _isBoolean.default)(checked) ? checked : defaultChecked;
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
-
var
|
|
75
|
-
|
|
76
|
-
selected =
|
|
77
|
-
setSelected =
|
|
74
|
+
var _useState = (0, _react.useState)(getChecked()),
|
|
75
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
76
|
+
selected = _useState2[0],
|
|
77
|
+
setSelected = _useState2[1];
|
|
78
78
|
|
|
79
|
+
var labelRef = (0, _react.useRef)(null);
|
|
79
80
|
(0, _devwarning.default)(CheckboxTypes.indexOf(checkboxType) === -1, 'checkbox', "cannot found checkbox type '".concat(checkboxType, "'"));
|
|
80
81
|
(0, _devwarning.default)(CheckboxSizes.indexOf(size) === -1, 'checkbox', "cannot found size type '".concat(size, "'"));
|
|
81
82
|
var checkboxPrefixCls = getPrefixCls(prefixCls, 'checkbox', customPrefixcls);
|
|
@@ -102,14 +103,21 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
|
|
|
102
103
|
(0, _react.useEffect)(function () {
|
|
103
104
|
(0, _isBoolean.default)(checked) && checked !== selected && setSelected(checked);
|
|
104
105
|
}, [checked, selected]);
|
|
106
|
+
(0, _react.useEffect)(function () {
|
|
107
|
+
var handleRepeatClick = function handleRepeatClick(e) {
|
|
108
|
+
var element = e.target;
|
|
105
109
|
|
|
106
|
-
|
|
107
|
-
|
|
110
|
+
if (element.tagName !== 'INPUT') {
|
|
111
|
+
e.stopPropagation();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
108
114
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
115
|
+
labelRef.current.addEventListener('click', handleRepeatClick);
|
|
116
|
+
return function () {
|
|
117
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
118
|
+
labelRef.current.removeEventListener('click', handleRepeatClick);
|
|
119
|
+
};
|
|
120
|
+
}, []);
|
|
113
121
|
|
|
114
122
|
var getDefaultCheckbox = function getDefaultCheckbox() {
|
|
115
123
|
var _context19, _context20;
|
|
@@ -120,7 +128,7 @@ var InternalCheckbox = function InternalCheckbox(props, ref) {
|
|
|
120
128
|
_react.default.createElement("label", {
|
|
121
129
|
className: getRootClassName,
|
|
122
130
|
style: style,
|
|
123
|
-
|
|
131
|
+
ref: labelRef
|
|
124
132
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
125
133
|
className: checkedWrapperClassName
|
|
126
134
|
}, selected && /*#__PURE__*/_react.default.createElement("span", {
|
package/lib/form/Field.js
CHANGED
|
@@ -23,6 +23,8 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/hel
|
|
|
23
23
|
|
|
24
24
|
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
25
25
|
|
|
26
|
+
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
27
|
+
|
|
26
28
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
27
29
|
|
|
28
30
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
@@ -89,8 +91,30 @@ var generateEventHandler = function generateEventHandler(handler, validateTrigge
|
|
|
89
91
|
return eventHandler;
|
|
90
92
|
};
|
|
91
93
|
|
|
94
|
+
var INNER_VALUE_PROPS_LIST = [{
|
|
95
|
+
name: 'Radio',
|
|
96
|
+
propName: 'checked'
|
|
97
|
+
}, {
|
|
98
|
+
name: 'Checkbox',
|
|
99
|
+
propName: 'checked'
|
|
100
|
+
}, {
|
|
101
|
+
name: 'Switch',
|
|
102
|
+
propName: 'checked'
|
|
103
|
+
}, {
|
|
104
|
+
name: 'Upload',
|
|
105
|
+
propName: 'fileList'
|
|
106
|
+
}, {
|
|
107
|
+
name: 'Transfer',
|
|
108
|
+
propName: 'targetKey'
|
|
109
|
+
}, {
|
|
110
|
+
name: 'RangePicker',
|
|
111
|
+
propName: 'ranges'
|
|
112
|
+
}];
|
|
113
|
+
|
|
92
114
|
var Field = function Field(props) {
|
|
93
|
-
var _classnames
|
|
115
|
+
var _classnames;
|
|
116
|
+
|
|
117
|
+
var _a;
|
|
94
118
|
|
|
95
119
|
(0, _devwarning.default)(! /*#__PURE__*/_react.default.isValidElement(props.children), 'Form.Item', 'Children of Form.Item is not a valid element');
|
|
96
120
|
(0, _devwarning.default)(!props.name, 'Form.Item', 'Form.Item must have a name');
|
|
@@ -135,8 +159,29 @@ var Field = function Field(props) {
|
|
|
135
159
|
wrapperWidth = props.wrapperWidth,
|
|
136
160
|
validateTrigger = props.validateTrigger,
|
|
137
161
|
defaultValue = props.defaultValue,
|
|
138
|
-
|
|
139
|
-
|
|
162
|
+
valuePropName = props.valuePropName;
|
|
163
|
+
var childrenNode = null;
|
|
164
|
+
var innerValuePropName = 'value';
|
|
165
|
+
var childrenArray = (0, _reactChildren.toArray)(children);
|
|
166
|
+
|
|
167
|
+
if (childrenArray.length) {
|
|
168
|
+
(0, _devwarning.default)(childrenArray.length > 1, 'Form.Item', 'Form.Item must have only child');
|
|
169
|
+
childrenNode = childrenArray[0];
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
var innerDisplayName = (_a = childrenNode === null || childrenNode === void 0 ? void 0 : childrenNode.type) === null || _a === void 0 ? void 0 : _a.displayName;
|
|
173
|
+
|
|
174
|
+
if (valuePropName !== undefined) {
|
|
175
|
+
innerValuePropName = valuePropName;
|
|
176
|
+
} else if (innerDisplayName) {
|
|
177
|
+
var filter = (0, _filter.default)(INNER_VALUE_PROPS_LIST).call(INNER_VALUE_PROPS_LIST, function (item) {
|
|
178
|
+
return innerDisplayName === item.name;
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
if (filter.length) {
|
|
182
|
+
innerValuePropName = filter[0].propName;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
140
185
|
|
|
141
186
|
var onStoreChange = function onStoreChange(stores, _namePathList, source) {
|
|
142
187
|
var prev = stores.prev,
|
|
@@ -216,8 +261,8 @@ var Field = function Field(props) {
|
|
|
216
261
|
|
|
217
262
|
var inputValue;
|
|
218
263
|
|
|
219
|
-
if (Object.prototype.hasOwnProperty.call(evt, 'target') && (0, _includes.default)(FormEventValuePropNames).call(FormEventValuePropNames,
|
|
220
|
-
inputValue = (_a = evt.target) === null || _a === void 0 ? void 0 : _a[
|
|
264
|
+
if (Object.prototype.hasOwnProperty.call(evt, 'target') && (0, _includes.default)(FormEventValuePropNames).call(FormEventValuePropNames, innerValuePropName)) {
|
|
265
|
+
inputValue = (_a = evt.target) === null || _a === void 0 ? void 0 : _a[innerValuePropName];
|
|
221
266
|
} else {
|
|
222
267
|
inputValue = evt;
|
|
223
268
|
}
|
|
@@ -256,7 +301,7 @@ var Field = function Field(props) {
|
|
|
256
301
|
|
|
257
302
|
var _ch$props = ch.props,
|
|
258
303
|
chChange = _ch$props.onChange,
|
|
259
|
-
chValue = _ch$props[
|
|
304
|
+
chValue = _ch$props[innerValuePropName],
|
|
260
305
|
chDisabled = _ch$props.disabled,
|
|
261
306
|
chDefaultValue = _ch$props.defaultValue;
|
|
262
307
|
|
|
@@ -288,7 +333,7 @@ var Field = function Field(props) {
|
|
|
288
333
|
return (0, _extends5.default)((0, _extends5.default)({}, rest), (_extends3 = {
|
|
289
334
|
onChange: onChange,
|
|
290
335
|
defaultValue: defaultValue
|
|
291
|
-
}, (0, _defineProperty2.default)(_extends3,
|
|
336
|
+
}, (0, _defineProperty2.default)(_extends3, innerValuePropName, fieldValue), (0, _defineProperty2.default)(_extends3, "disabled", chDisabled || faDisabled), _extends3));
|
|
292
337
|
};
|
|
293
338
|
|
|
294
339
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -301,10 +346,10 @@ var Field = function Field(props) {
|
|
|
301
346
|
}), /*#__PURE__*/_react.default.createElement(_FieldWrapper.default, {
|
|
302
347
|
width: wrapperWidth,
|
|
303
348
|
validateMessage: validateMessage
|
|
304
|
-
}, (0, _map.default)(
|
|
349
|
+
}, (0, _map.default)(childrenArray).call(childrenArray, function (child, index) {
|
|
305
350
|
var keys = mergeProps((0, _extends5.default)((0, _extends5.default)((0, _defineProperty2.default)({
|
|
306
351
|
disabled: disabled
|
|
307
|
-
},
|
|
352
|
+
}, innerValuePropName, value), trigger), {
|
|
308
353
|
key: index
|
|
309
354
|
}), child);
|
|
310
355
|
return child ? /*#__PURE__*/_react.default.cloneElement(child, keys) : child;
|
package/lib/grid/row.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
declare type Align = 'top' | 'middle' | 'bottom';
|
|
2
|
+
declare type Align = 'top' | 'middle' | 'bottom' | 'stretch';
|
|
3
3
|
declare type Justify = 'start' | 'end' | 'center' | 'space-around' | 'space-between';
|
|
4
4
|
interface gutterObject {
|
|
5
5
|
xs?: number;
|
package/lib/icon/interface.js
CHANGED
|
@@ -13,7 +13,7 @@ var _type = require("../_utils/type");
|
|
|
13
13
|
|
|
14
14
|
var BaseIcon = ['arrow-up', 'arrow-down', 'arrow-left', 'arrow-right', 'first', 'last', 'double-arrow-left', 'double-arrow-right', 'push-down', 'put-top', 'put-bottom', 'put-on', 'put-off', 'switch-up', 'switch-down', 'all-border', 'top-border', 'right-border', 'bottom-border', 'left-border', 'left-extension', 'right-extension', 'left-unfold', 'right-unfold', 'unfoldmenu', 'foldmenu', 'enlarge', 'expand', 'close-full-screen', 'split', 'back', 'arrow', 'no-border', 'border', 'rough-border', 'align-left', 'align-right', 'align-center', 'vertical-center', 'delete-indentation', 'equal', 'greater-equal', 'not-equal', 'male', 'female', 'copy', 'print', 'lock', 'scanning', 'like', 'project', 'user-info', 'shutdown', 'image', 'delete-line', 'add-line', 'job-info', 'detect', 'cancel', 'stop', 'cell', 'fixed-shrink', 'attachment', 'location', 'reduce', 'resign-report', 'forbid', 'education', 'unlock', 'contract', 'filter', 'more', 'operating-element', 'fail', 'edit', 'have-attachment', 'hide', 'preview', 'unfold-all', 'wrap', 'filter-switch', 'qualification-info', 'cn', 'en', 'git', 'reset', 'preview-view', 'unfold', 'comment', 'shoppingcart', 'add-child', 'save', 'detail', 'table-setting', 'edit-view', 'edit-border', 'hyperlink', 'code', 'import', 'address', 'analysis', 'share', 'chart', 'fixed-window', 'order', 'phone', 'classify', 'feedback', 'menu', 'voice', 'search-border', 'material', 'finish', 'more-info', 'fixed', 'change', 'copy-code', 'return', 'qrcode', 'counterclockwise', 'list', 'switch', 'task-process', 'add', 'delete', 'add-word', 'two-window', 'spin', 'ordered-list', 'cooperation', 'quit', 'shrink', 'zoom', 'graffiti', 'experience', 'medical-report', 'bankcard', 'yunzhijia', 'customize', 'refresh', 'search', 'loadding', 'loadding-circle', 'right', 'close', 'upload', 'download', 'upload-cloud', 'waiting', 'warning', 'exclamatory', 'tips', 'setting', 'chart-display', 'date', 'more-item', 'international', 'little-k', 'bellOutlined', 'sigma'];
|
|
15
15
|
exports.BaseIcon = BaseIcon;
|
|
16
|
-
var SolidIcon = ['arrow-up-solid', 'arrow-right-solid', 'arrow-down-solid', 'arrow-left-solid', 'left-unfold-solid', 'right-unfold-solid', 'unlock-solid', 'multiply', 'division-solid', 'title-solid', 'communication-solid', 'fixed-solid', 'more-info-solid', 'timezone-solid', 'mosaic-solid', 'strike-solid', 'lock-solid', 'filter-solid', 'person-solid', 'bold-solid', 'delete-solid', 'processing-solid', 'tips-solid', 'quote-solid', 'oblique-solid', 'sun-solid', 'underline-solid', 'font-background-solid', 'eliminate-solid', 'font-color-solid', 'fx', 'refresh-solid', 'right-solid', 'location-solid', 'add-solid', 'warning-solid', 'close-solid', 'right-bold', 'close-bold', 'workbench', 'star', 'notice'];
|
|
16
|
+
var SolidIcon = ['arrow-up-solid', 'arrow-right-solid', 'arrow-down-solid', 'arrow-left-solid', 'left-unfold-solid', 'right-unfold-solid', 'unlock-solid', 'multiply', 'division-solid', 'title-solid', 'communication-solid', 'fixed-solid', 'more-info-solid', 'timezone-solid', 'mosaic-solid', 'strike-solid', 'lock-solid', 'filter-solid', 'person-solid', 'bold-solid', 'delete-solid', 'processing-solid', 'tips-solid', 'quote-solid', 'oblique-solid', 'sun-solid', 'underline-solid', 'font-background-solid', 'eliminate-solid', 'font-color-solid', 'fx', 'refresh-solid', 'right-solid', 'location-solid', 'add-solid', 'warning-solid', 'close-solid', 'right-bold', 'close-bold', 'workbench', 'star', 'notice', 'dashboard'];
|
|
17
17
|
exports.SolidIcon = SolidIcon;
|
|
18
18
|
|
|
19
19
|
var IconTypes = _type.tuple.apply(void 0, (0, _concat.default)(BaseIcon).call(BaseIcon, SolidIcon));
|
package/lib/menu/menu.d.ts
CHANGED
package/lib/menu/menu.js
CHANGED
|
@@ -17,17 +17,19 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/he
|
|
|
17
17
|
|
|
18
18
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
19
19
|
|
|
20
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
21
|
+
|
|
20
22
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
21
23
|
|
|
22
24
|
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
23
25
|
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
26
|
+
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
27
27
|
|
|
28
28
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
31
|
+
|
|
32
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
31
33
|
|
|
32
34
|
var _reactChildren = require("../_utils/react-children");
|
|
33
35
|
|
|
@@ -64,16 +66,21 @@ var isFunction = function isFunction(fn) {
|
|
|
64
66
|
return fn && typeof fn === 'function';
|
|
65
67
|
};
|
|
66
68
|
|
|
69
|
+
var openSubMenuSet = new _set.default();
|
|
70
|
+
|
|
67
71
|
var Menu = function Menu(props) {
|
|
68
72
|
var _context2, _classNames;
|
|
69
73
|
|
|
70
74
|
var _a;
|
|
71
75
|
|
|
72
|
-
var _React$useContext =
|
|
76
|
+
var _React$useContext = _react.default.useContext(_configProvider.ConfigContext),
|
|
73
77
|
getPrefixCls = _React$useContext.getPrefixCls,
|
|
74
78
|
pkgPrefixCls = _React$useContext.prefixCls,
|
|
75
79
|
userDefaultProps = _React$useContext.compDefaultProps;
|
|
76
80
|
|
|
81
|
+
var userSelectedKey = props.selectedKey,
|
|
82
|
+
userOpenKeys = props.openKeys;
|
|
83
|
+
|
|
77
84
|
var _b = (0, _utils.getCompProps)('Menu', userDefaultProps, props),
|
|
78
85
|
customPrefixcls = _b.prefixCls,
|
|
79
86
|
mode = _b.mode,
|
|
@@ -89,20 +96,35 @@ var Menu = function Menu(props) {
|
|
|
89
96
|
restProps = __rest(_b, ["prefixCls", "mode", "inlineIndent", "forceSubMenuRender", "additionalTools", "onClick", "onOpenChange", "children", "className", "theme", "collapsed"]);
|
|
90
97
|
|
|
91
98
|
var prefixCls = getPrefixCls(pkgPrefixCls, 'menu', customPrefixcls);
|
|
92
|
-
(0, _devwarning.default)(['inline', 'vertical', undefined].indexOf(mode) === -1, 'menu', "cannot found menu mode '".concat(mode, "'"));
|
|
93
|
-
var defaultSelectedKey = ('selectedKey' in restProps ? restProps.selectedKey : restProps.defaultSelectedKey) || '';
|
|
94
|
-
var defaultOpenKeys = ('openKeys' in restProps ? restProps.openKeys : restProps.defaultOpenKeys) || []; // const [collapsed, setCollapsed] = React.useState<boolean | undefined>(restProps.collapsed)
|
|
99
|
+
(0, _devwarning.default)(['inline', 'vertical', undefined].indexOf(mode) === -1, 'menu', "cannot found menu mode '".concat(mode, "'")); // const [collapsed, setCollapsed] = React.useState<boolean | undefined>(restProps.collapsed)
|
|
95
100
|
|
|
96
|
-
var _React$useState =
|
|
101
|
+
var _React$useState = _react.default.useState(''),
|
|
97
102
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
98
103
|
selectedKey = _React$useState2[0],
|
|
99
104
|
setSelectedKey = _React$useState2[1];
|
|
100
105
|
|
|
101
|
-
var _React$useState3 =
|
|
106
|
+
var _React$useState3 = _react.default.useState([]),
|
|
102
107
|
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
103
108
|
openKeys = _React$useState4[0],
|
|
104
|
-
setOpenKeys = _React$useState4[1];
|
|
109
|
+
setOpenKeys = _React$useState4[1];
|
|
105
110
|
|
|
111
|
+
(0, _react.useEffect)(function () {
|
|
112
|
+
if (userSelectedKey !== undefined) {
|
|
113
|
+
setSelectedKey(userSelectedKey);
|
|
114
|
+
}
|
|
115
|
+
}, [userSelectedKey]);
|
|
116
|
+
(0, _react.useEffect)(function () {
|
|
117
|
+
if (userOpenKeys !== undefined) {
|
|
118
|
+
setOpenKeys(userOpenKeys);
|
|
119
|
+
}
|
|
120
|
+
}, [userOpenKeys]);
|
|
121
|
+
(0, _react.useEffect)(function () {
|
|
122
|
+
if (Array.isArray(userOpenKeys)) {
|
|
123
|
+
userOpenKeys.forEach(function (d) {
|
|
124
|
+
openSubMenuSet.add(d);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}, []); // triggerSubMenuAction内嵌模式固定为click,即该值设置只对垂直模式有效
|
|
106
128
|
|
|
107
129
|
if (mode === 'inline') {
|
|
108
130
|
restProps.triggerSubMenuAction = 'click';
|
|
@@ -112,7 +134,9 @@ var Menu = function Menu(props) {
|
|
|
112
134
|
|
|
113
135
|
|
|
114
136
|
var handleOnClick = function handleOnClick(info) {
|
|
115
|
-
|
|
137
|
+
if (userSelectedKey === undefined) {
|
|
138
|
+
setSelectedKey(info.key);
|
|
139
|
+
}
|
|
116
140
|
|
|
117
141
|
if (mode !== 'inline' && openKeys.length > 0) {
|
|
118
142
|
setOpenKeys([]);
|
|
@@ -134,37 +158,47 @@ var Menu = function Menu(props) {
|
|
|
134
158
|
}; // 子菜单展开关闭的回调
|
|
135
159
|
|
|
136
160
|
|
|
137
|
-
var handleOnOpenChange = function handleOnOpenChange(openKey) {
|
|
138
|
-
var
|
|
161
|
+
var handleOnOpenChange = function handleOnOpenChange(openKey, isAdd) {
|
|
162
|
+
var clean = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
139
163
|
|
|
140
|
-
if (
|
|
141
|
-
|
|
142
|
-
setOpenKeys(openKeys);
|
|
164
|
+
if (clean) {
|
|
165
|
+
openSubMenuSet.clear();
|
|
143
166
|
} else {
|
|
144
|
-
|
|
167
|
+
if (isAdd) {
|
|
168
|
+
openSubMenuSet.add(openKey);
|
|
169
|
+
} else {
|
|
170
|
+
openSubMenuSet.delete(openKey);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (userOpenKeys === undefined) {
|
|
175
|
+
setOpenKeys((0, _toConsumableArray2.default)(openSubMenuSet));
|
|
145
176
|
}
|
|
146
177
|
|
|
147
|
-
onOpenChange && onOpenChange(
|
|
178
|
+
onOpenChange && onOpenChange((0, _toConsumableArray2.default)(openSubMenuSet));
|
|
148
179
|
};
|
|
149
180
|
|
|
150
181
|
var renderMenu = function renderMenu() {
|
|
151
182
|
var _context;
|
|
152
183
|
|
|
153
|
-
return /*#__PURE__*/
|
|
184
|
+
return /*#__PURE__*/_react.default.createElement("ul", null, (0, _map.default)(_context = (0, _reactChildren.toArray)(children)).call(_context, function (item, i) {
|
|
154
185
|
if (!item) return;
|
|
155
186
|
var key = (item === null || item === void 0 ? void 0 : item.key) || i;
|
|
156
|
-
return /*#__PURE__*/
|
|
187
|
+
return /*#__PURE__*/_react.default.cloneElement(item, {
|
|
157
188
|
key: key,
|
|
158
189
|
keyValue: key,
|
|
159
190
|
collapsed: collapsed,
|
|
160
191
|
mode: mode,
|
|
161
192
|
openKeys: openKeys,
|
|
162
193
|
selectedKey: selectedKey,
|
|
194
|
+
theme: theme,
|
|
163
195
|
triggerSubMenuAction: restProps.triggerSubMenuAction,
|
|
164
196
|
forceSubMenuRender: forceSubMenuRender,
|
|
165
197
|
handleOnOpenChange: handleOnOpenChange,
|
|
166
198
|
handleOnClick: handleOnClick,
|
|
167
|
-
inlineIndent: inlineIndent
|
|
199
|
+
inlineIndent: inlineIndent,
|
|
200
|
+
userOpenKeys: userOpenKeys,
|
|
201
|
+
userSelectedKey: userSelectedKey
|
|
168
202
|
});
|
|
169
203
|
}));
|
|
170
204
|
};
|
|
@@ -177,7 +211,7 @@ var Menu = function Menu(props) {
|
|
|
177
211
|
onMouseLeave: handleMouseLeaveMenu,
|
|
178
212
|
onMouseEnter: handleMouseEnterMenu
|
|
179
213
|
};
|
|
180
|
-
return /*#__PURE__*/
|
|
214
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
181
215
|
className: (0, _classnames.default)(prefixCls, className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-inline"), mode === 'inline'), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-vertical"), mode !== 'inline'), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-collapsed"), collapsed), (0, _defineProperty2.default)(_classNames, (0, _concat.default)(_context2 = "".concat(prefixCls, "-")).call(_context2, theme === 'light' ? 'light' : 'dark'), true), _classNames)),
|
|
182
216
|
role: "menu",
|
|
183
217
|
style: style
|
package/lib/menu/menuItem.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export interface MenuItemProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
style?: React.CSSProperties;
|
|
8
8
|
}
|
|
9
|
+
export declare const MENU_ITEM_CONTAINER_NAME = "menu-item-content-container";
|
|
9
10
|
declare const MenuItem: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<unknown>>;
|
|
10
11
|
export default MenuItem;
|
package/lib/menu/menuItem.js
CHANGED
|
@@ -11,7 +11,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", {
|
|
12
12
|
value: true
|
|
13
13
|
});
|
|
14
|
-
exports.default = void 0;
|
|
14
|
+
exports.default = exports.MENU_ITEM_CONTAINER_NAME = void 0;
|
|
15
15
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
17
17
|
|
|
@@ -48,13 +48,8 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
48
48
|
return t;
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
var
|
|
52
|
-
|
|
53
|
-
return /*#__PURE__*/React.createElement("span", null, children);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return (0, _util.renderReactNodeFunction)(children);
|
|
57
|
-
};
|
|
51
|
+
var MENU_ITEM_CONTAINER_NAME = 'menu-item-content-container';
|
|
52
|
+
exports.MENU_ITEM_CONTAINER_NAME = MENU_ITEM_CONTAINER_NAME;
|
|
58
53
|
|
|
59
54
|
var InternalMenuItem = function InternalMenuItem(props, ref) {
|
|
60
55
|
var _classNames;
|
|
@@ -89,9 +84,20 @@ var InternalMenuItem = function InternalMenuItem(props, ref) {
|
|
|
89
84
|
var prefixCls = getPrefixCls(pkgPrefixCls, 'menu-item', customPrefixcls);
|
|
90
85
|
var menuItemRef = ref || /*#__PURE__*/React.createRef();
|
|
91
86
|
|
|
87
|
+
var renderItemChildren = function renderItemChildren(children) {
|
|
88
|
+
if (typeof children === 'string') {
|
|
89
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
90
|
+
className: MENU_ITEM_CONTAINER_NAME
|
|
91
|
+
}, children);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
95
|
+
className: MENU_ITEM_CONTAINER_NAME
|
|
96
|
+
}, typeof children === 'function' ? children() : children);
|
|
97
|
+
};
|
|
98
|
+
|
|
92
99
|
var preventClick = function preventClick() {
|
|
93
|
-
|
|
94
|
-
return false;
|
|
100
|
+
return !!(disabled || mode === 'inline');
|
|
95
101
|
};
|
|
96
102
|
|
|
97
103
|
var handleOnMouseEnter = function handleOnMouseEnter(e) {
|