rsuite 5.24.0 → 5.25.0
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/Breadcrumb/styles/index.less +4 -0
- package/Button/styles/index.less +14 -10
- package/CHANGELOG.md +31 -0
- package/Calendar/styles/index.less +15 -16
- package/DatePicker/styles/index.less +9 -0
- package/DatePicker/styles/mixin.less +8 -0
- package/Picker/styles/index.less +5 -9
- package/Picker/styles/mixin.less +4 -40
- package/TreePicker/styles/index.less +13 -0
- package/cjs/@types/global.d.ts +6 -0
- package/cjs/Breadcrumb/BreadcrumbItem.js +1 -1
- package/cjs/Calendar/MonthDropdown.js +2 -4
- package/cjs/Calendar/TableHeaderRow.js +3 -3
- package/cjs/Cascader/Cascader.js +2 -2
- package/cjs/Cascader/utils.d.ts +1 -1
- package/cjs/Cascader/utils.js +2 -2
- package/cjs/Content/Content.d.ts +1 -1
- package/cjs/CustomProvider/CustomProvider.d.ts +2 -0
- package/cjs/CustomProvider/CustomProvider.js +5 -3
- package/cjs/Footer/Footer.d.ts +1 -1
- package/cjs/Header/Header.d.ts +1 -1
- package/cjs/MultiCascader/MultiCascader.js +4 -4
- package/cjs/MultiCascader/utils.d.ts +1 -1
- package/cjs/MultiCascader/utils.js +2 -2
- package/cjs/Navbar/NavbarBrand.d.ts +1 -1
- package/cjs/Overlay/OverlayTrigger.js +4 -0
- package/cjs/Picker/PickerToggle.js +1 -1
- package/cjs/Picker/PickerToggleTrigger.js +6 -7
- package/cjs/Ripple/Ripple.js +8 -0
- package/cjs/TreePicker/TreeNode.d.ts +3 -3
- package/cjs/TreePicker/TreeNode.js +1 -11
- package/cjs/TreePicker/TreePicker.js +8 -1
- package/cjs/utils/createComponent.d.ts +3 -3
- package/cjs/utils/treeUtils.d.ts +12 -0
- package/cjs/utils/treeUtils.js +42 -0
- package/cjs/utils/useCustom.js +3 -1
- package/dist/rsuite-rtl.css +299 -263
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +299 -263
- package/dist/rsuite.js +19 -19
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/global.d.ts +6 -0
- package/esm/Breadcrumb/BreadcrumbItem.js +1 -1
- package/esm/Calendar/MonthDropdown.js +2 -4
- package/esm/Calendar/TableHeaderRow.js +3 -3
- package/esm/Cascader/Cascader.js +2 -2
- package/esm/Cascader/utils.d.ts +1 -1
- package/esm/Cascader/utils.js +2 -2
- package/esm/Content/Content.d.ts +1 -1
- package/esm/CustomProvider/CustomProvider.d.ts +2 -0
- package/esm/CustomProvider/CustomProvider.js +5 -3
- package/esm/Footer/Footer.d.ts +1 -1
- package/esm/Header/Header.d.ts +1 -1
- package/esm/MultiCascader/MultiCascader.js +4 -4
- package/esm/MultiCascader/utils.d.ts +1 -1
- package/esm/MultiCascader/utils.js +2 -2
- package/esm/Navbar/NavbarBrand.d.ts +1 -1
- package/esm/Overlay/OverlayTrigger.js +4 -0
- package/esm/Picker/PickerToggle.js +1 -1
- package/esm/Picker/PickerToggleTrigger.js +7 -5
- package/esm/Ripple/Ripple.js +9 -1
- package/esm/TreePicker/TreeNode.d.ts +3 -3
- package/esm/TreePicker/TreeNode.js +2 -11
- package/esm/TreePicker/TreePicker.js +9 -2
- package/esm/utils/createComponent.d.ts +3 -3
- package/esm/utils/treeUtils.d.ts +12 -0
- package/esm/utils/treeUtils.js +36 -0
- package/esm/utils/useCustom.js +3 -1
- package/package.json +2 -2
- package/styles/color-modes/dark.less +6 -2
- package/styles/color-modes/high-contrast.less +4 -0
- package/styles/color-modes/light.less +5 -1
- package/styles/variables.less +7 -8
package/cjs/Ripple/Ripple.js
CHANGED
|
@@ -39,6 +39,9 @@ var getPosition = function getPosition(target, event) {
|
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
var Ripple = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
42
|
+
var _useCustom = (0, _utils.useCustom)(),
|
|
43
|
+
disableRipple = _useCustom.disableRipple;
|
|
44
|
+
|
|
42
45
|
var _props$as = props.as,
|
|
43
46
|
Component = _props$as === void 0 ? 'span' : _props$as,
|
|
44
47
|
className = props.className,
|
|
@@ -88,6 +91,11 @@ var Ripple = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
88
91
|
};
|
|
89
92
|
}
|
|
90
93
|
}, [handleMouseDown]);
|
|
94
|
+
|
|
95
|
+
if (disableRipple) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
|
|
91
99
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
92
100
|
className: classes,
|
|
93
101
|
ref: (0, _utils.mergeRefs)(triggerRef, ref)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
2
|
+
import { WithAsProps, RsRefForwardingComponent, ItemDataType } from '../@types/common';
|
|
3
3
|
export interface TreeNodeProps extends WithAsProps {
|
|
4
4
|
rtl?: boolean;
|
|
5
5
|
layer: number;
|
|
6
|
-
value?:
|
|
7
|
-
label?:
|
|
6
|
+
value?: ItemDataType['value'];
|
|
7
|
+
label?: ItemDataType['label'];
|
|
8
8
|
focus?: boolean;
|
|
9
9
|
loading?: boolean;
|
|
10
10
|
expand?: boolean;
|
|
@@ -21,8 +21,6 @@ var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/legacy/ArrowDown"
|
|
|
21
21
|
|
|
22
22
|
var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
|
|
23
23
|
|
|
24
|
-
var _reactToString = _interopRequireDefault(require("../utils/reactToString"));
|
|
25
|
-
|
|
26
24
|
var _utils = require("../utils");
|
|
27
25
|
|
|
28
26
|
var _treeUtils = require("../utils/treeUtils");
|
|
@@ -68,14 +66,6 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
68
66
|
merge = _useClassNames.merge,
|
|
69
67
|
withClassPrefix = _useClassNames.withClassPrefix;
|
|
70
68
|
|
|
71
|
-
var getTitle = (0, _react.useCallback)(function () {
|
|
72
|
-
if (typeof label === 'string') {
|
|
73
|
-
return label;
|
|
74
|
-
} else if ( /*#__PURE__*/_react.default.isValidElement(label)) {
|
|
75
|
-
var nodes = (0, _reactToString.default)(label);
|
|
76
|
-
return nodes.join('');
|
|
77
|
-
}
|
|
78
|
-
}, [label]);
|
|
79
69
|
var handleExpand = (0, _react.useCallback)(function (event) {
|
|
80
70
|
var _event$nativeEvent, _event$nativeEvent$st;
|
|
81
71
|
|
|
@@ -165,7 +155,7 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
165
155
|
});
|
|
166
156
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
167
157
|
className: prefix('label'),
|
|
168
|
-
title:
|
|
158
|
+
title: (0, _treeUtils.stringifyTreeNodeLabel)(label),
|
|
169
159
|
"data-layer": layer,
|
|
170
160
|
"data-key": (nodeData === null || nodeData === void 0 ? void 0 : nodeData.refKey) || '',
|
|
171
161
|
role: "button",
|
|
@@ -353,11 +353,15 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
353
353
|
}, [valueKey, childrenKey, expandItemValues, getChildren, onExpand, setExpandItemValues, loadChildren]);
|
|
354
354
|
var handleDragStart = (0, _react.useCallback)(function (nodeData, event) {
|
|
355
355
|
if (draggable) {
|
|
356
|
+
var _event$dataTransfer;
|
|
357
|
+
|
|
358
|
+
var dragMoverNode = (0, _treeUtils.createDragPreview)((0, _treeUtils.stringifyTreeNodeLabel)(nodeData[labelKey]), treePrefix('drag-preview'));
|
|
359
|
+
(_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.setDragImage(dragMoverNode, 0, 0);
|
|
356
360
|
setDragNodeKeys((0, _treeUtils.getDragNodeKeys)(nodeData, childrenKey, valueKey));
|
|
357
361
|
setDragNode(flattenNodes[nodeData.refKey]);
|
|
358
362
|
onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);
|
|
359
363
|
}
|
|
360
|
-
}, [draggable,
|
|
364
|
+
}, [draggable, labelKey, treePrefix, setDragNodeKeys, childrenKey, valueKey, setDragNode, flattenNodes, onDragStart]);
|
|
361
365
|
var handleDragEnter = (0, _react.useCallback)(function (nodeData, event) {
|
|
362
366
|
if (dragNodeKeys.some(function (d) {
|
|
363
367
|
return (0, _utils.shallowEqual)(d, nodeData[valueKey]);
|
|
@@ -376,6 +380,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
376
380
|
if (dragNodeKeys.some(function (d) {
|
|
377
381
|
return (0, _utils.shallowEqual)(d, nodeData[valueKey]);
|
|
378
382
|
})) {
|
|
383
|
+
event.dataTransfer.dropEffect = 'none';
|
|
379
384
|
return;
|
|
380
385
|
}
|
|
381
386
|
|
|
@@ -391,6 +396,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
391
396
|
onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(nodeData, event);
|
|
392
397
|
}, [onDragLeave]);
|
|
393
398
|
var handleDragEnd = (0, _react.useCallback)(function (nodeData, event) {
|
|
399
|
+
(0, _treeUtils.removeDragPreview)();
|
|
394
400
|
setDragNode(null);
|
|
395
401
|
setDragNodeKeys([]);
|
|
396
402
|
setDragOverNodeKey(null);
|
|
@@ -406,6 +412,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
406
412
|
onDrop === null || onDrop === void 0 ? void 0 : onDrop(dropData, event);
|
|
407
413
|
}
|
|
408
414
|
|
|
415
|
+
(0, _treeUtils.removeDragPreview)();
|
|
409
416
|
setDragNode(null);
|
|
410
417
|
setDragNodeKeys([]);
|
|
411
418
|
setDragOverNodeKey(null);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
3
|
export declare type ComponentProps = WithAsProps & React.HTMLAttributes<HTMLDivElement>;
|
|
4
|
-
interface Props extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
interface Props<TElement extends React.ElementType> extends React.HTMLAttributes<HTMLDivElement> {
|
|
5
5
|
name: string;
|
|
6
|
-
componentAs?:
|
|
6
|
+
componentAs?: TElement;
|
|
7
7
|
componentClassPrefix?: string;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* Create a component with `classPrefix` and `as` attributes.
|
|
11
11
|
*/
|
|
12
|
-
declare function createComponent({ name, componentAs, componentClassPrefix, ...defaultProps }: Props): RsRefForwardingComponent<
|
|
12
|
+
declare function createComponent<TElement extends React.ElementType = 'div'>({ name, componentAs, componentClassPrefix, ...defaultProps }: Props<TElement>): RsRefForwardingComponent<TElement, ComponentProps>;
|
|
13
13
|
export default createComponent;
|
package/cjs/utils/treeUtils.d.ts
CHANGED
|
@@ -262,3 +262,15 @@ export declare function getTreeNodeIndent(rtl: any, layer: any, absolute?: boole
|
|
|
262
262
|
* @returns
|
|
263
263
|
*/
|
|
264
264
|
export declare function getNodeFormattedRefKey(value: string | number): string;
|
|
265
|
+
/**
|
|
266
|
+
* create drag preview when tree node start drag
|
|
267
|
+
* @param name
|
|
268
|
+
* @param className
|
|
269
|
+
* @returns
|
|
270
|
+
*/
|
|
271
|
+
export declare function createDragPreview(name: string, className: string): HTMLDivElement;
|
|
272
|
+
/**
|
|
273
|
+
* remove drag preview when tree node drop
|
|
274
|
+
*/
|
|
275
|
+
export declare function removeDragPreview(): void;
|
|
276
|
+
export declare function stringifyTreeNodeLabel(label: string | React.ReactNode): string;
|
package/cjs/utils/treeUtils.js
CHANGED
|
@@ -35,6 +35,9 @@ exports.focusToActiveTreeNode = focusToActiveTreeNode;
|
|
|
35
35
|
exports.isSearching = isSearching;
|
|
36
36
|
exports.getTreeNodeIndent = getTreeNodeIndent;
|
|
37
37
|
exports.getNodeFormattedRefKey = getNodeFormattedRefKey;
|
|
38
|
+
exports.createDragPreview = createDragPreview;
|
|
39
|
+
exports.removeDragPreview = removeDragPreview;
|
|
40
|
+
exports.stringifyTreeNodeLabel = stringifyTreeNodeLabel;
|
|
38
41
|
exports.getScrollToIndex = exports.focusPreviousItem = exports.focusNextItem = exports.focusTreeNode = exports.getElementByDataKey = exports.getActiveItem = exports.getActiveIndex = exports.getFocusableItems = void 0;
|
|
39
42
|
|
|
40
43
|
var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
@@ -1128,4 +1131,43 @@ function getTreeNodeIndent(rtl, layer, absolute) {
|
|
|
1128
1131
|
|
|
1129
1132
|
function getNodeFormattedRefKey(value) {
|
|
1130
1133
|
return "" + (typeof value === 'number' ? 'Number_' : 'String_') + value;
|
|
1134
|
+
}
|
|
1135
|
+
/**
|
|
1136
|
+
* create drag preview when tree node start drag
|
|
1137
|
+
* @param name
|
|
1138
|
+
* @param className
|
|
1139
|
+
* @returns
|
|
1140
|
+
*/
|
|
1141
|
+
|
|
1142
|
+
|
|
1143
|
+
function createDragPreview(name, className) {
|
|
1144
|
+
var dragPreview = document.createElement('div');
|
|
1145
|
+
dragPreview.id = 'rs-tree-drag-preview';
|
|
1146
|
+
dragPreview.innerHTML = name;
|
|
1147
|
+
dragPreview.classList.add(className);
|
|
1148
|
+
document.body.appendChild(dragPreview);
|
|
1149
|
+
return dragPreview;
|
|
1150
|
+
}
|
|
1151
|
+
/**
|
|
1152
|
+
* remove drag preview when tree node drop
|
|
1153
|
+
*/
|
|
1154
|
+
|
|
1155
|
+
|
|
1156
|
+
function removeDragPreview() {
|
|
1157
|
+
var _dragPreview$parentNo, _dragPreview$parentNo2;
|
|
1158
|
+
|
|
1159
|
+
var dragPreview = document.getElementById('rs-tree-drag-preview');
|
|
1160
|
+
dragPreview === null || dragPreview === void 0 ? void 0 : (_dragPreview$parentNo = dragPreview.parentNode) === null || _dragPreview$parentNo === void 0 ? void 0 : (_dragPreview$parentNo2 = _dragPreview$parentNo.removeChild) === null || _dragPreview$parentNo2 === void 0 ? void 0 : _dragPreview$parentNo2.call(_dragPreview$parentNo, dragPreview);
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
function stringifyTreeNodeLabel(label) {
|
|
1164
|
+
if (typeof label === 'string') {
|
|
1165
|
+
return label;
|
|
1166
|
+
} else if ( /*#__PURE__*/_react.default.isValidElement(label)) {
|
|
1167
|
+
var _nodes2 = (0, _reactToString.default)(label);
|
|
1168
|
+
|
|
1169
|
+
return _nodes2.join('');
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
return '';
|
|
1131
1173
|
}
|
package/cjs/utils/useCustom.js
CHANGED
|
@@ -41,7 +41,8 @@ function useCustom(keys, overrideLocale) {
|
|
|
41
41
|
rtl = _useContext$rtl === void 0 ? getDefaultRTL() : _useContext$rtl,
|
|
42
42
|
formatDate = _useContext.formatDate,
|
|
43
43
|
parseDate = _useContext.parseDate,
|
|
44
|
-
toasters = _useContext.toasters
|
|
44
|
+
toasters = _useContext.toasters,
|
|
45
|
+
disableRipple = _useContext.disableRipple;
|
|
45
46
|
|
|
46
47
|
var componentLocale = (0, _extends2.default)({}, locale === null || locale === void 0 ? void 0 : locale.common, typeof keys === 'string' ? locale === null || locale === void 0 ? void 0 : locale[keys] : typeof keys === 'object' ? mergeObject(keys.map(function (key) {
|
|
47
48
|
return locale === null || locale === void 0 ? void 0 : locale[key];
|
|
@@ -69,6 +70,7 @@ function useCustom(keys, overrideLocale) {
|
|
|
69
70
|
locale: componentLocale,
|
|
70
71
|
rtl: rtl,
|
|
71
72
|
toasters: toasters,
|
|
73
|
+
disableRipple: disableRipple,
|
|
72
74
|
formatDate: formatDate || defaultFormatDate,
|
|
73
75
|
parseDate: parseDate || defaultParseDate
|
|
74
76
|
};
|