rsuite 5.3.0 → 5.4.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.
Files changed (106) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/Dropdown/styles/index.less +1 -0
  3. package/Nav/styles/index.less +1 -0
  4. package/Navbar/styles/index.less +7 -0
  5. package/Radio/styles/index.less +6 -0
  6. package/Stack/package.json +7 -0
  7. package/Stack/styles/index.less +5 -0
  8. package/TreePicker/styles/index.less +0 -14
  9. package/cjs/@types/common.d.ts +4 -4
  10. package/cjs/Cascader/utils.d.ts +7 -7
  11. package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
  12. package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  13. package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
  14. package/cjs/CheckTree/index.js +2 -6
  15. package/cjs/DatePicker/DatePicker.js +2 -2
  16. package/cjs/DateRangePicker/DateRangePicker.js +6 -2
  17. package/cjs/Dropdown/DropdownToggle.js +8 -1
  18. package/cjs/MultiCascader/utils.d.ts +3 -3
  19. package/cjs/Nav/Nav.js +3 -0
  20. package/cjs/Nav/NavContext.d.ts +6 -0
  21. package/cjs/Nav/NavContext.js +1 -0
  22. package/cjs/Overlay/Modal.js +37 -25
  23. package/cjs/Overlay/Overlay.d.ts +1 -1
  24. package/cjs/Overlay/Overlay.js +7 -1
  25. package/cjs/Overlay/OverlayContext.d.ts +6 -0
  26. package/cjs/Overlay/OverlayContext.js +14 -0
  27. package/cjs/Overlay/OverlayTrigger.js +7 -1
  28. package/cjs/Overlay/Position.d.ts +1 -1
  29. package/cjs/Picker/propTypes.d.ts +3 -5
  30. package/cjs/Picker/propTypes.js +4 -3
  31. package/cjs/Picker/utils.d.ts +3 -3
  32. package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
  33. package/cjs/SelectPicker/SelectPicker.js +4 -4
  34. package/cjs/SelectPicker/index.d.ts +1 -1
  35. package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  36. package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
  37. package/cjs/Stack/Stack.d.ts +26 -0
  38. package/cjs/Stack/Stack.js +86 -0
  39. package/cjs/Stack/index.d.ts +3 -0
  40. package/cjs/Stack/index.js +11 -0
  41. package/cjs/Steps/StepItem.js +2 -2
  42. package/cjs/Toggle/Toggle.js +2 -2
  43. package/cjs/Tree/Tree.d.ts +0 -1
  44. package/cjs/Tree/Tree.js +2 -6
  45. package/cjs/Tree/TreeContext.d.ts +0 -1
  46. package/cjs/TreePicker/TreeNode.js +1 -14
  47. package/cjs/TreePicker/TreePicker.js +3 -29
  48. package/cjs/index.d.ts +4 -2
  49. package/cjs/index.js +9 -5
  50. package/cjs/utils/treeUtils.d.ts +5 -5
  51. package/cjs/utils/usePortal.d.ts +1 -1
  52. package/dist/rsuite-rtl.css +20 -16
  53. package/dist/rsuite-rtl.min.css +1 -1
  54. package/dist/rsuite-rtl.min.css.map +1 -1
  55. package/dist/rsuite.css +20 -16
  56. package/dist/rsuite.js +51 -18
  57. package/dist/rsuite.js.map +1 -1
  58. package/dist/rsuite.min.css +1 -1
  59. package/dist/rsuite.min.css.map +1 -1
  60. package/dist/rsuite.min.js +1 -1
  61. package/dist/rsuite.min.js.map +1 -1
  62. package/esm/@types/common.d.ts +4 -4
  63. package/esm/Cascader/utils.d.ts +7 -7
  64. package/esm/CheckPicker/CheckPicker.d.ts +9 -4
  65. package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  66. package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
  67. package/esm/CheckTree/index.js +2 -4
  68. package/esm/DatePicker/DatePicker.js +2 -2
  69. package/esm/DateRangePicker/DateRangePicker.js +6 -2
  70. package/esm/Dropdown/DropdownToggle.js +7 -1
  71. package/esm/MultiCascader/utils.d.ts +3 -3
  72. package/esm/Nav/Nav.js +3 -0
  73. package/esm/Nav/NavContext.d.ts +6 -0
  74. package/esm/Nav/NavContext.js +1 -0
  75. package/esm/Overlay/Modal.js +37 -25
  76. package/esm/Overlay/Overlay.d.ts +1 -1
  77. package/esm/Overlay/Overlay.js +7 -2
  78. package/esm/Overlay/OverlayContext.d.ts +6 -0
  79. package/esm/Overlay/OverlayContext.js +4 -0
  80. package/esm/Overlay/OverlayTrigger.js +7 -2
  81. package/esm/Overlay/Position.d.ts +1 -1
  82. package/esm/Picker/propTypes.d.ts +3 -5
  83. package/esm/Picker/propTypes.js +4 -3
  84. package/esm/Picker/utils.d.ts +3 -3
  85. package/esm/SelectPicker/SelectPicker.d.ts +12 -5
  86. package/esm/SelectPicker/SelectPicker.js +4 -4
  87. package/esm/SelectPicker/index.d.ts +1 -1
  88. package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  89. package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
  90. package/esm/Stack/Stack.d.ts +26 -0
  91. package/esm/Stack/Stack.js +71 -0
  92. package/esm/Stack/index.d.ts +3 -0
  93. package/esm/Stack/index.js +2 -0
  94. package/esm/Steps/StepItem.js +2 -2
  95. package/esm/Toggle/Toggle.js +2 -2
  96. package/esm/Tree/Tree.d.ts +0 -1
  97. package/esm/Tree/Tree.js +2 -4
  98. package/esm/Tree/TreeContext.d.ts +0 -1
  99. package/esm/TreePicker/TreeNode.js +2 -14
  100. package/esm/TreePicker/TreePicker.js +3 -29
  101. package/esm/index.d.ts +4 -2
  102. package/esm/index.js +2 -1
  103. package/esm/utils/treeUtils.d.ts +5 -5
  104. package/esm/utils/usePortal.d.ts +1 -1
  105. package/package.json +1 -1
  106. package/styles/index.less +1 -0
@@ -78,9 +78,9 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
78
78
  var _useCustom = useCustom('Picker', overrideLocale),
79
79
  locale = _useCustom.locale;
80
80
 
81
- var _useControlled = useControlled(valueProp, defaultValue),
82
- value = _useControlled[0],
83
- setValue = _useControlled[1]; // Used to hover the focus item when trigger `onKeydown`
81
+ var _ref = useControlled(valueProp, defaultValue),
82
+ value = _ref[0],
83
+ setValue = _ref[1]; // Used to hover the focus item when trigger `onKeydown`
84
84
 
85
85
 
86
86
  var _useFocusItemValue = useFocusItemValue(value, {
@@ -309,7 +309,7 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
309
309
  disabled: disabled,
310
310
  cleanable: cleanable && !disabled,
311
311
  hasValue: hasValue,
312
- inputValue: value,
312
+ inputValue: value !== null && value !== void 0 ? value : '',
313
313
  active: active,
314
314
  placement: placement
315
315
  }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
@@ -1,3 +1,3 @@
1
1
  import SelectPicker from './SelectPicker';
2
- export type { SelectProps, SelectPickerProps } from './SelectPicker';
2
+ export type { SelectProps, MultipleSelectProps, SelectPickerProps } from './SelectPicker';
3
3
  export default SelectPicker;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { expectType } from 'ts-expect';
3
+ import SelectPicker from '../SelectPicker'; // Infer value and onChange types from data
4
+
5
+ var numberValuedData = [{
6
+ label: 'One',
7
+ value: 1
8
+ }];
9
+
10
+ /*#__PURE__*/
11
+ React.createElement(SelectPicker, {
12
+ data: numberValuedData,
13
+ value: 1
14
+ }); // @ts-expect-error should not accept string value
15
+
16
+ /*#__PURE__*/
17
+ React.createElement(SelectPicker, {
18
+ data: numberValuedData,
19
+ value: "1"
20
+ });
21
+
22
+ /*#__PURE__*/
23
+ React.createElement(SelectPicker, {
24
+ data: numberValuedData,
25
+ onChange: function onChange(newValue) {
26
+ expectType(newValue);
27
+ }
28
+ });
29
+ var stringValuedData = [{
30
+ label: 'One',
31
+ value: 'One'
32
+ }];
33
+
34
+ /*#__PURE__*/
35
+ React.createElement(SelectPicker, {
36
+ data: stringValuedData,
37
+ value: "1"
38
+ }); // @ts-expect-error should not accept number value
39
+
40
+ /*#__PURE__*/
41
+ React.createElement(SelectPicker, {
42
+ data: stringValuedData,
43
+ value: 1
44
+ });
45
+
46
+ /*#__PURE__*/
47
+ React.createElement(SelectPicker, {
48
+ data: stringValuedData,
49
+ onChange: function onChange(newValue) {
50
+ expectType(newValue);
51
+ }
52
+ });
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { WithAsProps } from '../@types/common';
3
+ export interface StackProps extends WithAsProps {
4
+ /**
5
+ * The direction of the children in the stack.
6
+ */
7
+ direction?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
8
+ /**
9
+ * Define the alignment of the children in the stack on the cross axis
10
+ */
11
+ alignItems?: 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline';
12
+ /**
13
+ * Define the alignment of the children in the stack on the inline axis
14
+ */
15
+ justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around';
16
+ /** Define the spacing between immediate children */
17
+ spacing?: number | string | (number | string)[];
18
+ /** Add an element between each child */
19
+ divider?: React.ReactNode;
20
+ /**
21
+ * Define whether the children in the stack are forced onto one line or can wrap onto multiple lines
22
+ */
23
+ wrap?: boolean;
24
+ }
25
+ declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
26
+ export default Stack;
@@ -0,0 +1,71 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ import React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { useClassNames, useCustom, isIE } from '../utils';
6
+ var Stack = /*#__PURE__*/React.forwardRef(function (props, ref) {
7
+ var _itemStyles;
8
+
9
+ var _props$as = props.as,
10
+ Component = _props$as === void 0 ? 'div' : _props$as,
11
+ _props$alignItems = props.alignItems,
12
+ alignItems = _props$alignItems === void 0 ? 'center' : _props$alignItems,
13
+ _props$classPrefix = props.classPrefix,
14
+ classPrefix = _props$classPrefix === void 0 ? 'stack' : _props$classPrefix,
15
+ className = props.className,
16
+ children = props.children,
17
+ direction = props.direction,
18
+ justifyContent = props.justifyContent,
19
+ spacing = props.spacing,
20
+ divider = props.divider,
21
+ style = props.style,
22
+ wrap = props.wrap,
23
+ rest = _objectWithoutPropertiesLoose(props, ["as", "alignItems", "classPrefix", "className", "children", "direction", "justifyContent", "spacing", "divider", "style", "wrap"]);
24
+
25
+ var _useCustom = useCustom('Stack'),
26
+ rtl = _useCustom.rtl;
27
+
28
+ var _useClassNames = useClassNames(classPrefix),
29
+ withClassPrefix = _useClassNames.withClassPrefix,
30
+ merge = _useClassNames.merge,
31
+ prefix = _useClassNames.prefix;
32
+
33
+ var classes = merge(className, withClassPrefix());
34
+ var isSupportGridGap = !isIE();
35
+ var count = React.Children.count(children);
36
+ var gridGap = Array.isArray(spacing) ? spacing : [spacing, 0];
37
+ var itemStyles = (_itemStyles = {}, _itemStyles[rtl ? 'marginLeft' : 'marginRight'] = gridGap[0], _itemStyles.marginBottom = gridGap[1], _itemStyles);
38
+
39
+ var styles = _extends({
40
+ alignItems: alignItems,
41
+ justifyContent: justifyContent,
42
+ flexDirection: direction,
43
+ flexWrap: wrap ? 'wrap' : undefined,
44
+ gap: isSupportGridGap ? spacing : undefined
45
+ }, style);
46
+
47
+ return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
48
+ ref: ref,
49
+ className: classes,
50
+ style: styles
51
+ }), React.Children.map(children, function (child, index) {
52
+ var childNode = /*#__PURE__*/React.createElement("div", {
53
+ className: prefix('item'),
54
+ style: !isSupportGridGap ? itemStyles : undefined
55
+ }, child);
56
+ return [childNode, index < count - 1 ? divider : null];
57
+ }));
58
+ });
59
+ Stack.displayName = 'Stack';
60
+ Stack.propTypes = {
61
+ className: PropTypes.string,
62
+ children: PropTypes.node,
63
+ classPrefix: PropTypes.string,
64
+ direction: PropTypes.oneOf(['row', 'row-reverse', 'column', 'column-reverse']),
65
+ alignItems: PropTypes.oneOf(['flex-start', 'center', 'flex-end', 'stretch', 'baseline']),
66
+ justifyContent: PropTypes.oneOf(['flex-start', 'center', 'flex-end', 'space-between', 'space-around']),
67
+ spacing: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.array]),
68
+ divider: PropTypes.node,
69
+ wrap: PropTypes.bool
70
+ };
71
+ export default Stack;
@@ -0,0 +1,3 @@
1
+ import Stack from './Stack';
2
+ export type { StackProps } from './Stack';
3
+ export default Stack;
@@ -0,0 +1,2 @@
1
+ import Stack from './Stack';
2
+ export default Stack;
@@ -12,7 +12,7 @@ var STEP_STATUS_ICON = {
12
12
  error: /*#__PURE__*/React.createElement(Close, null)
13
13
  };
14
14
  var StepItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
- var _withClassPrefix;
15
+ var _withClassPrefix, _STEP_STATUS_ICON$sta;
16
16
 
17
17
  var _props$as = props.as,
18
18
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -43,7 +43,7 @@ var StepItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
43
43
 
44
44
  var iconNode = /*#__PURE__*/React.createElement("span", {
45
45
  className: prefix('icon', "icon-" + status)
46
- }, status ? STEP_STATUS_ICON[status] : stepNumber);
46
+ }, status ? (_STEP_STATUS_ICON$sta = STEP_STATUS_ICON[status]) !== null && _STEP_STATUS_ICON$sta !== void 0 ? _STEP_STATUS_ICON$sta : stepNumber : stepNumber);
47
47
 
48
48
  if (icon) {
49
49
  iconNode = /*#__PURE__*/React.createElement("span", {
@@ -47,14 +47,14 @@ var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
47
47
  var inner = checked ? checkedChildren : unCheckedChildren;
48
48
  var label = checked ? locale.on : locale.off;
49
49
  var handleInputChange = useCallback(function (e) {
50
- if (disabled || readOnly) {
50
+ if (disabled || readOnly || loading) {
51
51
  return;
52
52
  }
53
53
 
54
54
  var checked = e.target.checked;
55
55
  setChecked(checked);
56
56
  onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);
57
- }, [disabled, readOnly, setChecked, onChange]);
57
+ }, [disabled, readOnly, loading, setChecked, onChange]);
58
58
 
59
59
  if (plaintext) {
60
60
  return /*#__PURE__*/React.createElement(Plaintext, null, inner || label);
@@ -36,7 +36,6 @@ export interface TreeDragProps<ItemDataType = Record<string, any>> {
36
36
  onDragEnd?: (nodeData: ItemDataType, e: React.DragEvent) => void;
37
37
  /** Called when node drop */
38
38
  onDrop?: (dropData: DropData<ItemDataType>, e: React.DragEvent) => void;
39
- renderDragNode?: (dragNode: ItemDataType) => React.ReactNode;
40
39
  }
41
40
  export interface TreeBaseProps<ValueType = string | number, ItemDataType = Record<string, any>> extends StandardProps {
42
41
  /** The height of Dropdown */
package/esm/Tree/Tree.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import React, { useRef } from 'react';
2
+ import React from 'react';
3
3
  import TreePicker from '../TreePicker';
4
4
  import TreeContext from './TreeContext';
5
5
 
@@ -15,11 +15,9 @@ export var TREE_NODE_DROP_POSITION;
15
15
  })(TREE_NODE_DROP_POSITION || (TREE_NODE_DROP_POSITION = {}));
16
16
 
17
17
  var Tree = /*#__PURE__*/React.forwardRef(function (props, ref) {
18
- var dragNodeRef = useRef();
19
18
  return /*#__PURE__*/React.createElement(TreeContext.Provider, {
20
19
  value: {
21
- inline: true,
22
- dragNodeRef: dragNodeRef
20
+ inline: true
23
21
  }
24
22
  }, /*#__PURE__*/React.createElement(TreePicker, _extends({
25
23
  ref: ref
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  export interface TreeContextProps {
3
3
  inline?: boolean;
4
- dragNodeRef?: React.MutableRefObject<any>;
5
4
  }
6
5
  declare const TreeContext: React.Context<TreeContextProps>;
7
6
  export default TreeContext;
@@ -1,11 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { forwardRef, useCallback, useContext } from 'react';
3
+ import React, { forwardRef, useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import hasClass from 'dom-lib/hasClass';
6
6
  import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
7
7
  import Spinner from '@rsuite/icons/legacy/Spinner';
8
- import TreeContext from '../Tree/TreeContext';
9
8
  import reactToString from '../utils/reactToString';
10
9
  import { useClassNames } from '../utils';
11
10
  import { getTreeNodeIndent } from '../utils/treeUtils';
@@ -50,9 +49,6 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
50
49
  merge = _useClassNames.merge,
51
50
  withClassPrefix = _useClassNames.withClassPrefix;
52
51
 
53
- var _useContext = useContext(TreeContext),
54
- dragNodeRef = _useContext.dragNodeRef;
55
-
56
52
  var getTitle = useCallback(function () {
57
53
  if (typeof label === 'string') {
58
54
  return label;
@@ -82,16 +78,8 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
82
78
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodeData, event);
83
79
  }, [nodeData, disabled, prefix, onSelect]);
84
80
  var handleDragStart = useCallback(function (event) {
85
- var dragNode = dragNodeRef === null || dragNodeRef === void 0 ? void 0 : dragNodeRef.current;
86
-
87
- if (dragNode) {
88
- var _event$dataTransfer;
89
-
90
- (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.setDragImage(dragNode, 0, 0);
91
- }
92
-
93
81
  onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);
94
- }, [dragNodeRef, nodeData, onDragStart]);
82
+ }, [nodeData, onDragStart]);
95
83
  var handleDragEnter = useCallback(function (event) {
96
84
  event.preventDefault();
97
85
  event.stopPropagation();
@@ -87,8 +87,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
87
87
  renderExtraFooter = props.renderExtraFooter,
88
88
  renderMenu = props.renderMenu,
89
89
  renderValue = props.renderValue,
90
- renderDragNode = props.renderDragNode,
91
- rest = _objectWithoutPropertiesLoose(props, ["as", "data", "appearance", "style", "showIndentLine", "value", "locale", "height", "className", "disabled", "placement", "cleanable", "menuStyle", "searchable", "virtualized", "classPrefix", "defaultValue", "placeholder", "searchKeyword", "menuClassName", "menuAutoWidth", "searchBy", "toggleAs", "labelKey", "valueKey", "childrenKey", "draggable", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "id", "listProps", "getChildren", "renderTreeIcon", "renderTreeNode", "onExit", "onExited", "onClean", "onOpen", "onSearch", "onSelect", "onChange", "onEntered", "onClose", "onDragEnd", "onDragStart", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onExpand", "renderExtraFooter", "renderMenu", "renderValue", "renderDragNode"]);
90
+ rest = _objectWithoutPropertiesLoose(props, ["as", "data", "appearance", "style", "showIndentLine", "value", "locale", "height", "className", "disabled", "placement", "cleanable", "menuStyle", "searchable", "virtualized", "classPrefix", "defaultValue", "placeholder", "searchKeyword", "menuClassName", "menuAutoWidth", "searchBy", "toggleAs", "labelKey", "valueKey", "childrenKey", "draggable", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "id", "listProps", "getChildren", "renderTreeIcon", "renderTreeNode", "onExit", "onExited", "onClean", "onOpen", "onSearch", "onSelect", "onChange", "onEntered", "onClose", "onDragEnd", "onDragStart", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onExpand", "renderExtraFooter", "renderMenu", "renderValue"]);
92
91
 
93
92
  var triggerRef = useRef(null);
94
93
  var targetRef = useRef(null);
@@ -102,8 +101,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
102
101
  locale = _useCustom.locale;
103
102
 
104
103
  var _useContext = useContext(TreeContext),
105
- inline = _useContext.inline,
106
- dragNodeRef = _useContext.dragNodeRef;
104
+ inline = _useContext.inline;
107
105
 
108
106
  var _useControlled = useControlled(controlledValue, defaultValue),
109
107
  value = _useControlled[0],
@@ -225,14 +223,6 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
225
223
  useEffect(function () {
226
224
  setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
227
225
  }, [searchKeyword, setSearchKeyword]);
228
- useEffect(function () {
229
- if (dragNodeRef) {
230
- var _treeViewRef$current;
231
-
232
- dragNodeRef.current = (_treeViewRef$current = treeViewRef.current) === null || _treeViewRef$current === void 0 ? void 0 : _treeViewRef$current.querySelector("." + treePrefix('drag-node-mover'));
233
- } // eslint-disable-next-line react-hooks/exhaustive-deps
234
-
235
- }, []);
236
226
  var getDropData = useCallback(function (nodeData) {
237
227
  var options = {
238
228
  valueKey: valueKey,
@@ -610,22 +600,6 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
610
600
  };
611
601
  };
612
602
 
613
- var renderDefaultDragNode = function renderDefaultDragNode() {
614
- if (draggable && !_isNil(dragNode)) {
615
- var dragNodeContent = dragNode === null || dragNode === void 0 ? void 0 : dragNode[labelKey];
616
-
617
- if (_isFunction(renderDragNode)) {
618
- dragNodeContent = renderDragNode(dragNode);
619
- }
620
-
621
- return /*#__PURE__*/React.createElement("span", {
622
- className: treePrefix('drag-node-mover')
623
- }, dragNodeContent);
624
- }
625
-
626
- return null;
627
- };
628
-
629
603
  var renderTree = function renderTree() {
630
604
  var _withTreeClassPrefix;
631
605
 
@@ -661,7 +635,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
661
635
  rowRenderer: renderVirtualListNode(formattedNodes),
662
636
  scrollToAlignment: "center"
663
637
  }, listProps));
664
- }) : formattedNodes), renderDefaultDragNode());
638
+ }) : formattedNodes));
665
639
  };
666
640
 
667
641
  var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
package/esm/index.d.ts CHANGED
@@ -24,8 +24,6 @@ export { default as Loader } from './Loader';
24
24
  export type { LoaderProps } from './Loader';
25
25
  export { default as SafeAnchor } from './SafeAnchor';
26
26
  export type { SafeAnchorProps } from './SafeAnchor';
27
- export { default as Divider } from './Divider';
28
- export type { DividerProps } from './Divider';
29
27
  export { default as Placeholder } from './Placeholder';
30
28
  export type { PlaceholderGraphProps, PlaceholderGridProps, PlaceholderParagraphProps } from './Placeholder';
31
29
  export { default as Badge } from './Badge';
@@ -144,6 +142,10 @@ export { default as Sidebar } from './Sidebar';
144
142
  export type { SidebarProps } from './Sidebar';
145
143
  export { default as Footer } from './Footer';
146
144
  export type { FooterProps } from './Footer';
145
+ export { default as Divider } from './Divider';
146
+ export type { DividerProps } from './Divider';
147
+ export { default as Stack } from './Stack';
148
+ export type { StackProps } from './Stack';
147
149
  export { default as Schema } from './Schema';
148
150
  export { default as Animation } from './Animation';
149
151
  export type { TransitionProps, SlideProps, CollapseProps, FadeProps, BounceProps } from './Animation';
package/esm/index.js CHANGED
@@ -12,7 +12,6 @@ export { default as Message } from './Message';
12
12
  export { default as Drawer } from './Drawer';
13
13
  export { default as Loader } from './Loader';
14
14
  export { default as SafeAnchor } from './SafeAnchor';
15
- export { default as Divider } from './Divider';
16
15
  export { default as Placeholder } from './Placeholder';
17
16
  export { default as Badge } from './Badge';
18
17
  export { default as Avatar } from './Avatar';
@@ -76,6 +75,8 @@ export { default as Content } from './Content';
76
75
  export { default as Header } from './Header';
77
76
  export { default as Sidebar } from './Sidebar';
78
77
  export { default as Footer } from './Footer';
78
+ export { default as Divider } from './Divider';
79
+ export { default as Stack } from './Stack';
79
80
  // Utils
80
81
  export { default as Schema } from './Schema';
81
82
  export { default as Animation } from './Animation';
@@ -150,7 +150,7 @@ export { getTreeActiveNode };
150
150
  * toggle tree node
151
151
  * @param param0
152
152
  */
153
- export declare function toggleExpand({ node, isExpand, expandItemValues, valueKey }: any): ItemDataType[];
153
+ export declare function toggleExpand({ node, isExpand, expandItemValues, valueKey }: any): ItemDataType<string | number>[];
154
154
  export declare function getTreeNodeTitle(label: any): string | undefined;
155
155
  /**
156
156
  * get all children from flattenNodes object by given parent node
@@ -159,7 +159,7 @@ export declare function getTreeNodeTitle(label: any): string | undefined;
159
159
  */
160
160
  export declare function getChildrenByFlattenNodes(nodes: TreeNodesType, parent: TreeNodeType): TreeNodeType[];
161
161
  export declare function useTreeDrag(): {
162
- dragNode: ItemDataType | null;
162
+ dragNode: ItemDataType<string | number> | null;
163
163
  dragOverNodeKey: null;
164
164
  dragNodeKeys: (string | number)[];
165
165
  dropNodePosition: TREE_NODE_DROP_POSITION | null;
@@ -219,14 +219,14 @@ interface TreeSearchProps {
219
219
  */
220
220
  export declare function useTreeSearch<T extends HTMLElement = HTMLInputElement>(props: TreeSearchProps): {
221
221
  searchKeywordState: string;
222
- filteredData: ItemDataType[];
222
+ filteredData: ItemDataType<string | number>[];
223
223
  setFilteredData: (data: ItemDataType[], searchKeyword: string) => void;
224
224
  setSearchKeyword: React.Dispatch<React.SetStateAction<string>>;
225
225
  handleSearch: (searchKeyword: string, event: React.ChangeEvent<T>) => void;
226
226
  };
227
227
  export declare function useGetTreeNodeChildren(treeData: ItemDataType[], valueKey: string, childrenKey: string): {
228
- data: ItemDataType[];
229
- setData: React.Dispatch<React.SetStateAction<ItemDataType[]>>;
228
+ data: ItemDataType<string | number>[];
229
+ setData: React.Dispatch<React.SetStateAction<ItemDataType<string | number>[]>>;
230
230
  loadingNodeValues: never[];
231
231
  loadChildren: (node: any, getChildren: any) => void;
232
232
  };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  interface PortalProps {
3
3
  id?: string;
4
- container?: HTMLElement | (() => HTMLElement);
4
+ container?: HTMLElement | (() => HTMLElement | null) | null;
5
5
  }
6
6
  declare function usePortal(props?: PortalProps): {
7
7
  target: HTMLElement | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
package/styles/index.less CHANGED
@@ -75,3 +75,4 @@
75
75
  @import '../Rate/styles/index';
76
76
  @import '../toaster/styles/index';
77
77
  @import '../CloseButton/styles/index';
78
+ @import '../Stack/styles/index';