rsuite 5.4.3 → 5.4.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/CheckTreePicker/styles/index.less +1 -1
  3. package/Dropdown/styles/index.less +2 -19
  4. package/README.md +1 -1
  5. package/cjs/Calendar/useCalendarDate.d.ts +1 -1
  6. package/cjs/Calendar/useCalendarDate.js +1 -1
  7. package/cjs/Carousel/Carousel.js +7 -1
  8. package/cjs/Cascader/Cascader.js +13 -2
  9. package/cjs/CheckTreePicker/CheckTreePicker.js +1 -1
  10. package/cjs/CheckTreePicker/utils.js +1 -1
  11. package/cjs/CustomProvider/CustomProvider.d.ts +14 -14
  12. package/cjs/CustomProvider/CustomProvider.js +4 -3
  13. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  14. package/cjs/DatePicker/DatePicker.js +2 -4
  15. package/cjs/Dropdown/DropdownMenu.js +5 -11
  16. package/cjs/Modal/utils.js +16 -8
  17. package/cjs/MultiCascader/MultiCascader.js +6 -3
  18. package/cjs/Nav/NavItem.js +3 -1
  19. package/cjs/Picker/DropdownMenu.js +5 -0
  20. package/cjs/Picker/PickerToggle.js +2 -4
  21. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  22. package/cjs/Uploader/UploadFileItem.js +1 -1
  23. package/cjs/Uploader/Uploader.js +3 -0
  24. package/cjs/utils/propTypeChecker.d.ts +2 -6
  25. package/cjs/utils/propTypeChecker.js +7 -59
  26. package/cjs/utils/useClickOutside.js +6 -2
  27. package/dist/rsuite-rtl.css +4 -7
  28. package/dist/rsuite-rtl.min.css +1 -1
  29. package/dist/rsuite-rtl.min.css.map +1 -1
  30. package/dist/rsuite.css +4 -7
  31. package/dist/rsuite.js +18 -18
  32. package/dist/rsuite.min.css +1 -1
  33. package/dist/rsuite.min.css.map +1 -1
  34. package/dist/rsuite.min.js +1 -1
  35. package/dist/rsuite.min.js.map +1 -1
  36. package/esm/Calendar/useCalendarDate.d.ts +1 -1
  37. package/esm/Calendar/useCalendarDate.js +1 -1
  38. package/esm/Carousel/Carousel.js +9 -3
  39. package/esm/Cascader/Cascader.js +13 -2
  40. package/esm/CheckTreePicker/CheckTreePicker.js +1 -1
  41. package/esm/CheckTreePicker/utils.js +1 -1
  42. package/esm/CustomProvider/CustomProvider.d.ts +14 -14
  43. package/esm/CustomProvider/CustomProvider.js +2 -2
  44. package/esm/DatePicker/DatePicker.d.ts +1 -1
  45. package/esm/DatePicker/DatePicker.js +2 -3
  46. package/esm/Dropdown/DropdownMenu.js +5 -11
  47. package/esm/Modal/utils.js +16 -8
  48. package/esm/MultiCascader/MultiCascader.js +6 -3
  49. package/esm/Nav/NavItem.js +3 -1
  50. package/esm/Picker/DropdownMenu.js +5 -0
  51. package/esm/Picker/PickerToggle.js +2 -4
  52. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  53. package/esm/Uploader/UploadFileItem.js +1 -1
  54. package/esm/Uploader/Uploader.js +4 -1
  55. package/esm/utils/propTypeChecker.d.ts +2 -6
  56. package/esm/utils/propTypeChecker.js +7 -59
  57. package/esm/utils/useClickOutside.js +6 -2
  58. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## [5.4.4](https://github.com/rsuite/rsuite/compare/v5.4.3...v5.4.4) (2022-01-06)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **CheckTreePicker:** fix root node style incorrect ([#2279](https://github.com/rsuite/rsuite/issues/2279)) ([c09226e](https://github.com/rsuite/rsuite/commit/c09226e141f7881b11fe5594d802974f49e789a9))
6
+ - **DatePicker:** fix clear button not working ([#2273](https://github.com/rsuite/rsuite/issues/2273)) ([649362a](https://github.com/rsuite/rsuite/commit/649362aa697a292af28c5ec666e4337a7bd449c7))
7
+ - **Dropdown:** wrong submenu placement in RTL direction ([#2280](https://github.com/rsuite/rsuite/issues/2280)) ([c3735c3](https://github.com/rsuite/rsuite/commit/c3735c335d5a8ca6e9954af1e5b77c453b5bd4d2))
8
+ - **Navbar:** fix Whisper on Nav.Item within Navbar wrong positioning ([#2274](https://github.com/rsuite/rsuite/issues/2274)) ([bd0f5e3](https://github.com/rsuite/rsuite/commit/bd0f5e316e6bb910d9a41e43770b4d1a61528d9f)), closes [#2263](https://github.com/rsuite/rsuite/issues/2263)
9
+
1
10
  ## [5.4.3](https://github.com/rsuite/rsuite/compare/v5.4.2...v5.4.3) (2021-12-30)
2
11
 
3
12
  ### Bug Fixes
@@ -73,7 +73,7 @@
73
73
  }
74
74
 
75
75
  // Only has the first level
76
- .without-children & {
76
+ .rs-check-tree-without-children & {
77
77
  padding-left: 34px; //text gap + checkbox space
78
78
 
79
79
  &::before {
@@ -220,26 +220,9 @@
220
220
  right: @dropdown-caret-icon-padding-horizontal;
221
221
  }
222
222
  }
223
- //
224
- //&.rs-dropdown-menu-pull-left {
225
- // &.rs-dropdown-item {
226
- // padding-left: @dropdown-item-padding-x+ @dropdown-item-submenu-icon-angle-spacing +
227
- // @dropdown-item-submenu-icon-angle-width;
228
- //
229
- // > .rs-dropdown-menu-toggle .rs-dropdown-menu-toggle-icon {
230
- // left: @dropdown-caret-icon-padding-horizontal;
231
- // }
232
- // }
233
- //}
234
-
235
- // Pull right
236
- .rs-dropdown-item-pull-right ~ .rs-dropdown-menu {
237
- left: 100%;
238
- }
239
223
 
240
- // Pull Left
241
- .rs-dropdown-item-pull-left ~ .rs-dropdown-menu {
242
- right: 100%;
224
+ .rs-dropdown-menu {
225
+ left: 100%;
243
226
  }
244
227
 
245
228
  // Open
package/README.md CHANGED
@@ -8,7 +8,7 @@ English | [中文版][readm-cn]
8
8
 
9
9
  [![npm][npm-svg]][npm-home]
10
10
  [![GitHub Actions][actions-svg]][actions-home]
11
- [![codecov](https://codecov.io/gh/rsuite/rsuite/branch/next/graph/badge.svg?token=HGeKd0BD3t)](https://codecov.io/gh/rsuite/rsuite)
11
+ [![codecov](https://codecov.io/gh/rsuite/rsuite/branch/main/graph/badge.svg?token=HGeKd0BD3t)](https://codecov.io/gh/rsuite/rsuite)
12
12
  [![Discord][discord-svg]][discord-invite]
13
13
  [![Gitter][gitter-svg]][gitter]
14
14
  [![Gitter][gitter-cn-svg]][gitter-cn]
@@ -1,4 +1,4 @@
1
- declare const useCalendarDate: (value: Date | undefined, defaultDate: Date | undefined) => {
1
+ declare const useCalendarDate: (value: Date | null | undefined, defaultDate: Date | undefined) => {
2
2
  calendarDate: Date;
3
3
  setCalendarDate: (date: Date | undefined) => void;
4
4
  };
@@ -25,7 +25,7 @@ var useCalendarDate = function useCalendarDate(value, defaultDate) {
25
25
  var _valueRef$current;
26
26
 
27
27
  if ((value === null || value === void 0 ? void 0 : value.valueOf()) !== ((_valueRef$current = valueRef.current) === null || _valueRef$current === void 0 ? void 0 : _valueRef$current.valueOf())) {
28
- setCalendarDate(value);
28
+ setCalendarDate(value !== null && value !== void 0 ? value : new Date());
29
29
  valueRef.current = value;
30
30
  }
31
31
  }, [value]);
@@ -62,7 +62,13 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
62
62
  lastIndex = _useState2[0],
63
63
  setLastIndex = _useState2[1];
64
64
 
65
+ var rootRef = (0, _react.useRef)(null);
66
+
65
67
  var handleSlide = function handleSlide(nextActiveIndex, event) {
68
+ if (!rootRef.current) {
69
+ return;
70
+ }
71
+
66
72
  clear();
67
73
  var index = nextActiveIndex !== null && nextActiveIndex !== void 0 ? nextActiveIndex : activeIndex + 1; // When index is greater than count, start from 1 again.
68
74
 
@@ -129,7 +135,7 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
129
135
  var sliderStyles = (_sliderStyles = {}, _sliderStyles[lengthKey] = count * 100 + "%", _sliderStyles.transform = vertical ? "translate3d(0, " + activeRatio + " ,0)" : "translate3d(" + activeRatio + ", 0 ,0)", _sliderStyles);
130
136
  var showMask = count > 1 && activeIndex === 0 && activeIndex !== lastIndex;
131
137
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends4.default)({}, rest, {
132
- ref: ref,
138
+ ref: (0, _utils.mergeRefs)(ref, rootRef),
133
139
  className: classes
134
140
  }), /*#__PURE__*/_react.default.createElement("div", {
135
141
  className: prefix('content')
@@ -211,10 +211,18 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
211
211
  }
212
212
  }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);
213
213
  var handleEntered = (0, _react.useCallback)(function () {
214
+ if (!targetRef.current) {
215
+ return;
216
+ }
217
+
214
218
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
215
219
  setActive(true);
216
220
  }, [onOpen]);
217
221
  var handleExited = (0, _react.useCallback)(function () {
222
+ if (!targetRef.current) {
223
+ return;
224
+ }
225
+
218
226
  onClose === null || onClose === void 0 ? void 0 : onClose();
219
227
  setActive(false);
220
228
  setSearchKeyword('');
@@ -225,7 +233,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
225
233
  (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();
226
234
  }, [triggerRef]);
227
235
  var handleClean = (0, _react.useCallback)(function (event) {
228
- if (disabled) {
236
+ if (disabled || !targetRef.current) {
229
237
  return;
230
238
  }
231
239
 
@@ -283,7 +291,10 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
283
291
  children.then(function (data) {
284
292
  node.loading = false;
285
293
  node[childrenKey] = data;
286
- addColumn(data, cascadePaths.length);
294
+
295
+ if (targetRef.current) {
296
+ addColumn(data, cascadePaths.length);
297
+ }
287
298
  });
288
299
  } else {
289
300
  node.loading = false;
@@ -645,7 +645,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
645
645
  var renderCheckTree = function renderCheckTree() {
646
646
  var _withCheckTreeClassPr, _merge2;
647
647
 
648
- var classes = withCheckTreeClassPrefix((_withCheckTreeClassPr = {}, _withCheckTreeClassPr[className !== null && className !== void 0 ? className : ''] = inline, _withCheckTreeClassPr['without-children'] = !_utils2.isSomeNodeHasChildren, _withCheckTreeClassPr.virtualized = virtualized, _withCheckTreeClassPr));
648
+ var classes = withCheckTreeClassPrefix((_withCheckTreeClassPr = {}, _withCheckTreeClassPr[className !== null && className !== void 0 ? className : ''] = inline, _withCheckTreeClassPr['without-children'] = !(0, _utils2.isSomeNodeHasChildren)(data, childrenKey), _withCheckTreeClassPr.virtualized = virtualized, _withCheckTreeClassPr));
649
649
  var formattedNodes = getFormattedNodes(renderNode);
650
650
 
651
651
  if (!formattedNodes.some(function (v) {
@@ -62,7 +62,7 @@ function isSomeChildChecked(nodes, parent, childrenKey) {
62
62
 
63
63
  function isSomeNodeHasChildren(data, childrenKey) {
64
64
  return data.some(function (node) {
65
- return node[childrenKey];
65
+ return Array.isArray(node[childrenKey]);
66
66
  });
67
67
  }
68
68
  /**
@@ -72,10 +72,10 @@ declare const CustomContext: React.Context<CustomProviderProps<{
72
72
  saturday: string;
73
73
  ok: string;
74
74
  today: string;
75
- yesterday: string; /** Language configuration */
75
+ yesterday: string;
76
76
  hours: string;
77
77
  minutes: string;
78
- seconds: string;
78
+ seconds: string; /** Support right-to-left */
79
79
  formattedMonthPattern: string;
80
80
  formattedDayPattern: string;
81
81
  dateLocale: any;
@@ -90,10 +90,10 @@ declare const CustomContext: React.Context<CustomProviderProps<{
90
90
  saturday: string;
91
91
  ok: string;
92
92
  today: string;
93
- yesterday: string; /** Language configuration */
93
+ yesterday: string;
94
94
  hours: string;
95
95
  minutes: string;
96
- seconds: string;
96
+ seconds: string; /** Support right-to-left */
97
97
  formattedMonthPattern: string;
98
98
  formattedDayPattern: string;
99
99
  dateLocale: any;
@@ -109,10 +109,10 @@ declare const CustomContext: React.Context<CustomProviderProps<{
109
109
  saturday: string;
110
110
  ok: string;
111
111
  today: string;
112
- yesterday: string; /** Language configuration */
112
+ yesterday: string;
113
113
  hours: string;
114
114
  minutes: string;
115
- seconds: string;
115
+ seconds: string; /** Support right-to-left */
116
116
  formattedMonthPattern: string;
117
117
  formattedDayPattern: string;
118
118
  dateLocale: any;
@@ -120,7 +120,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
120
120
  Picker?: {
121
121
  noResultsText: string;
122
122
  placeholder: string;
123
- searchPlaceholder: string; /** Supported themes */
123
+ searchPlaceholder: string;
124
124
  checkAll: string;
125
125
  } | undefined;
126
126
  InputPicker?: {
@@ -176,10 +176,10 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
176
176
  saturday: string;
177
177
  ok: string;
178
178
  today: string;
179
- yesterday: string; /** Language configuration */
179
+ yesterday: string;
180
180
  hours: string;
181
181
  minutes: string;
182
- seconds: string;
182
+ seconds: string; /** Support right-to-left */
183
183
  formattedMonthPattern: string;
184
184
  formattedDayPattern: string;
185
185
  dateLocale: any;
@@ -194,10 +194,10 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
194
194
  saturday: string;
195
195
  ok: string;
196
196
  today: string;
197
- yesterday: string; /** Language configuration */
197
+ yesterday: string;
198
198
  hours: string;
199
199
  minutes: string;
200
- seconds: string;
200
+ seconds: string; /** Support right-to-left */
201
201
  formattedMonthPattern: string;
202
202
  formattedDayPattern: string;
203
203
  dateLocale: any;
@@ -213,10 +213,10 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
213
213
  saturday: string;
214
214
  ok: string;
215
215
  today: string;
216
- yesterday: string; /** Language configuration */
216
+ yesterday: string;
217
217
  hours: string;
218
218
  minutes: string;
219
- seconds: string;
219
+ seconds: string; /** Support right-to-left */
220
220
  formattedMonthPattern: string;
221
221
  formattedDayPattern: string;
222
222
  dateLocale: any;
@@ -224,7 +224,7 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
224
224
  Picker?: {
225
225
  noResultsText: string;
226
226
  placeholder: string;
227
- searchPlaceholder: string; /** Supported themes */
227
+ searchPlaceholder: string;
228
228
  checkAll: string;
229
229
  } | undefined;
230
230
  InputPicker?: {
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
@@ -9,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
11
 
10
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _prefix = require("../utils/prefix");
15
17
 
@@ -37,7 +39,7 @@ var CustomProvider = function CustomProvider(props) {
37
39
  }, rest);
38
40
  }, [classPrefix, theme, rest]);
39
41
 
40
- _react.default.useEffect(function () {
42
+ (0, _react.useEffect)(function () {
41
43
  if (_DOMHelper.canUseDOM && theme) {
42
44
  (0, _DOMHelper.addClass)(document.body, (0, _prefix.prefix)(classPrefix, "theme-" + theme)); // Remove the className that will cause style conflicts
43
45
 
@@ -48,7 +50,6 @@ var CustomProvider = function CustomProvider(props) {
48
50
  });
49
51
  }
50
52
  }, [classPrefix, theme]);
51
-
52
53
  return /*#__PURE__*/_react.default.createElement(Provider, {
53
54
  value: value
54
55
  }, children);
@@ -3,7 +3,7 @@ import { RangeType } from './Toolbar';
3
3
  import { DatePickerLocale } from '../locales';
4
4
  import { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from '../@types/common';
5
5
  export type { RangeType } from './Toolbar';
6
- export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date> {
6
+ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null> {
7
7
  /** Configure shortcut options */
8
8
  ranges?: RangeType<Date>[];
9
9
  /** Calendar panel default presentation date and time */
@@ -15,8 +15,6 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
- var _isNil = _interopRequireDefault(require("lodash/isNil"));
19
-
20
18
  var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
21
19
 
22
20
  var _pick = _interopRequireDefault(require("lodash/pick"));
@@ -194,11 +192,11 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
194
192
  closeOverlay = true;
195
193
  }
196
194
 
197
- var nextValue = !(0, _isNil.default)(nextPageDate) ? nextPageDate : calendarDate;
195
+ var nextValue = typeof nextPageDate !== 'undefined' ? nextPageDate : calendarDate;
198
196
  setCalendarDate(nextValue || new Date());
199
197
  setValue(nextValue);
200
198
 
201
- if (nextValue !== value || !_utils.DateUtils.isSameDay(nextValue, value)) {
199
+ if (nextValue !== value) {
202
200
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
203
201
  } // `closeOverlay` default value is `true`
204
202
 
@@ -152,8 +152,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
152
152
  var classes = mergeItemClassNames(className, withItemClassPrefix({
153
153
  disabled: disabled,
154
154
  open: open,
155
- submenu: true // focus: hasFocus
156
-
155
+ submenu: true
157
156
  }));
158
157
  return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
159
158
  ref: (0, _utils.mergeRefs)(ref, containerRef),
@@ -161,13 +160,10 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
161
160
  }, props), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, null, function (_ref2, buttonRef) {
162
161
  var open = _ref2.open,
163
162
  buttonProps = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["open"]);
164
- var classes = mergeItemClassNames(className, prefixItemClassName("pull-" + (rtl ? 'left' : 'right')), prefixItemClassName(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), // prefixItemClassName`submenu`,
165
- withItemClassPrefix({
163
+ var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), withItemClassPrefix({
166
164
  'with-icon': icon,
167
165
  open: open,
168
- // active: selected,
169
- disabled: disabled // focus: active
170
-
166
+ disabled: disabled
171
167
  }));
172
168
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
173
169
  ref: (0, _utils.mergeRefs)(buttonRef, buttonRef),
@@ -202,8 +198,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
202
198
  var selected = _ref5.selected,
203
199
  active = _ref5.active,
204
200
  menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref5, ["selected", "active"]);
205
- var classes = mergeItemClassNames(className, prefixItemClassName("pull-" + (rtl ? 'left' : 'right')), prefixItemClassName(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), // prefixItemClassName`submenu`,
206
- withItemClassPrefix({
201
+ var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), withItemClassPrefix({
207
202
  'with-icon': icon,
208
203
  open: open,
209
204
  active: selected,
@@ -239,8 +234,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
239
234
  var classes = mergeItemClassNames(className, withItemClassPrefix({
240
235
  disabled: disabled,
241
236
  open: open,
242
- submenu: true // focus: hasFocus
243
-
237
+ submenu: true
244
238
  }));
245
239
  return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
246
240
  ref: (0, _utils.mergeRefs)(ref, menuContainerRef),
@@ -56,21 +56,29 @@ var useBodyStyles = function useBodyStyles(ref, options) {
56
56
 
57
57
  (_windowResizeListener = windowResizeListener.current) === null || _windowResizeListener === void 0 ? void 0 : (_windowResizeListener2 = _windowResizeListener.off) === null || _windowResizeListener2 === void 0 ? void 0 : _windowResizeListener2.call(_windowResizeListener);
58
58
  (_contentElementResize = contentElementResizeObserver.current) === null || _contentElementResize === void 0 ? void 0 : _contentElementResize.disconnect();
59
+ windowResizeListener.current = null;
60
+ contentElementResizeObserver.current = null;
59
61
  }, []);
60
62
  var onChangeBodyStyles = (0, _react.useCallback)(function (entering) {
61
- if (overflow && !drawer) {
63
+ if (overflow && !drawer && ref.current) {
62
64
  updateBodyStyles(undefined, entering);
63
65
  contentElement.current = ref.current.querySelector("." + prefix('content'));
64
- windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);
65
- contentElementResizeObserver.current = new _resizeObserver.ResizeObserver(function () {
66
- return updateBodyStyles();
67
- });
68
- contentElementResizeObserver.current.observe(contentElement.current);
66
+
67
+ if (!windowResizeListener.current) {
68
+ windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);
69
+ }
70
+
71
+ if (contentElement.current && !contentElementResizeObserver.current) {
72
+ contentElementResizeObserver.current = new _resizeObserver.ResizeObserver(function () {
73
+ return updateBodyStyles();
74
+ });
75
+ contentElementResizeObserver.current.observe(contentElement.current);
76
+ }
69
77
  }
70
78
  }, [drawer, overflow, prefix, ref, updateBodyStyles]);
71
79
  (0, _react.useEffect)(function () {
72
- onDestroyEvents();
73
- }, [onDestroyEvents]);
80
+ return onDestroyEvents; // eslint-disable-next-line react-hooks/exhaustive-deps
81
+ }, []);
74
82
  return [overflow ? bodyStyles : {}, onChangeBodyStyles, onDestroyEvents];
75
83
  };
76
84
 
@@ -220,8 +220,11 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
220
220
  children.then(function (data) {
221
221
  node.loading = false;
222
222
  node[childrenKey] = data;
223
- addFlattenData(data, node);
224
- addColumn(data, cascadePaths.length);
223
+
224
+ if (targetRef.current) {
225
+ addFlattenData(data, node);
226
+ addColumn(data, cascadePaths.length);
227
+ }
225
228
  });
226
229
  } else {
227
230
  node.loading = false;
@@ -258,7 +261,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
258
261
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(nextValue, node, checked, event);
259
262
  }, [cascade, onChange, onCheck, setValue, splitValue, value, valueKey]);
260
263
  var handleClean = (0, _react.useCallback)(function (event) {
261
- if (disabled) {
264
+ if (disabled || !targetRef.current) {
262
265
  return;
263
266
  }
264
267
 
@@ -104,7 +104,9 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
104
104
  }
105
105
 
106
106
  if (navbar) {
107
- return /*#__PURE__*/_react.default.createElement(_NavbarItem.default, props);
107
+ return /*#__PURE__*/_react.default.createElement(_NavbarItem.default, (0, _extends2.default)({
108
+ ref: ref
109
+ }, props));
108
110
  }
109
111
 
110
112
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
@@ -122,6 +122,11 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
122
122
 
123
123
  (0, _react.useEffect)(function () {
124
124
  var container = menuBodyContainerRef.current;
125
+
126
+ if (!container) {
127
+ return;
128
+ }
129
+
125
130
  var activeItem = container.querySelector("." + prefix('item-focus'));
126
131
 
127
132
  if (!activeItem) {
@@ -111,11 +111,9 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
111
111
  }
112
112
  }, [input, onFocus]);
113
113
  var handleBlur = (0, _react.useCallback)(function (event) {
114
- if (document.activeElement !== inputRef.current) {
115
- var _inputRef$current2;
116
-
114
+ if (inputRef.current && document.activeElement !== inputRef.current) {
117
115
  setActive(false);
118
- (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();
116
+ inputRef.current.blur();
119
117
  }
120
118
 
121
119
  onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
@@ -4,7 +4,7 @@ import { UploaderLocale } from '../locales';
4
4
  import { WithAsProps } from '../@types/common';
5
5
  export interface UploadFileItemProps extends WithAsProps {
6
6
  file: FileType;
7
- listType: 'text' | 'picture-text' | 'picture';
7
+ listType?: 'text' | 'picture-text' | 'picture';
8
8
  disabled?: boolean;
9
9
  className?: string;
10
10
  maxPreviewFileSize?: number;
@@ -297,7 +297,7 @@ UploadFileItem.displayName = 'UploadFileItem';
297
297
  UploadFileItem.propTypes = {
298
298
  locale: _propTypes.default.any,
299
299
  file: _propTypes.default.object.isRequired,
300
- listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']).isRequired,
300
+ listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']),
301
301
  disabled: _propTypes.default.bool,
302
302
  className: _propTypes.default.string,
303
303
  maxPreviewFileSize: _propTypes.default.number,
@@ -100,6 +100,9 @@ var useFileList = function useFileList(defaultFileList) {
100
100
  (_fileListUpdateCallba = fileListUpdateCallback.current) === null || _fileListUpdateCallba === void 0 ? void 0 : _fileListUpdateCallba.call(fileListUpdateCallback, fileList);
101
101
  fileListUpdateCallback.current = null;
102
102
  }, [fileList]);
103
+ (0, _utils.useWillUnmount)(function () {
104
+ fileListUpdateCallback.current = null;
105
+ });
103
106
  var dispatchCallback = (0, _react.useCallback)(function (action, callback) {
104
107
  dispatch(action);
105
108
  fileListUpdateCallback.current = callback;
@@ -1,7 +1,3 @@
1
- import PropTypes, { Requireable, Validator } from 'prop-types';
2
- declare type ExtractValue<T extends ReadonlyArray<Validator<any>>> = {
3
- [K in keyof T]: T[K] extends Validator<infer V> ? V : never;
4
- };
5
- export declare function tupleType<T extends readonly Validator<any>[]>(...types: T): Requireable<ExtractValue<T>>;
1
+ import PropTypes from 'prop-types';
2
+ export declare function tupleType<T>(...typeCheckers: any[]): PropTypes.Requireable<T>;
6
3
  export declare const refType: PropTypes.Requireable<any>;
7
- export {};
@@ -8,71 +8,19 @@ exports.refType = void 0;
8
8
 
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
 
11
- var ANONYMOUS = '';
12
-
13
- function createChainableTypeChecker(validate) {
14
- function checkType(isRequired, props, propName, componentName, location, propFullName) {
15
- componentName = componentName || ANONYMOUS;
16
- propFullName = propFullName || propName;
17
-
18
- if (props[propName] == null) {
19
- if (isRequired) {
20
- if (props[propName] === null) {
21
- return new Error('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
22
- }
23
-
24
- return new Error('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
25
- }
26
-
27
- return null;
28
- } else {
29
- return validate(props, propName, componentName, location, propFullName);
30
- }
31
- }
32
-
33
- var chainedCheckType = Object.assign(checkType.bind(null, false), {
34
- isRequired: checkType.bind(null, true)
35
- });
36
- return chainedCheckType;
37
- }
38
-
39
11
  function tupleType() {
40
- for (var _len = arguments.length, types = new Array(_len), _key = 0; _key < _len; _key++) {
41
- types[_key] = arguments[_key];
12
+ for (var _len = arguments.length, typeCheckers = new Array(_len), _key = 0; _key < _len; _key++) {
13
+ typeCheckers[_key] = arguments[_key];
42
14
  }
43
15
 
44
- return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {
45
- var value = props[propName];
46
-
47
- if (!location) {
48
- location = 'prop';
49
- }
50
-
51
- if (!propFullName) {
52
- propFullName = propName;
53
- }
54
-
55
- if (!Array.isArray(value)) {
56
- return new Error("Invalid " + location + " `" + propFullName + "` supplied to `" + componentName + "`, expected " + types.length + "-element array");
57
- }
58
-
59
- if (value.length === 0) {
60
- return null;
61
- }
62
-
63
- if (value.length !== types.length) {
64
- return new Error("Invalid " + location + " `" + propFullName + "` supplied to `" + componentName + "`, expected " + types.length + "-element array, got array of length " + value.length);
65
- }
66
-
67
- for (var i = 0; i < value.length; ++i) {
68
- var error = types[i](value, String(i), componentName, 'element', propFullName + "[" + i + "]");
16
+ return _propTypes.default.arrayOf(function (value, index) {
17
+ var _typeCheckers$index;
69
18
 
70
- if (error) {
71
- return error;
72
- }
19
+ for (var _len2 = arguments.length, rest = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
20
+ rest[_key2 - 2] = arguments[_key2];
73
21
  }
74
22
 
75
- return null;
23
+ return (_typeCheckers$index = typeCheckers[index]).call.apply(_typeCheckers$index, [_propTypes.default, value, index].concat(rest));
76
24
  });
77
25
  }
78
26
 
@@ -19,8 +19,12 @@ function useClickOutside(_ref) {
19
19
  (0, _react.useEffect)(function () {
20
20
  if (enabled) {
21
21
  var eventHandler = function eventHandler(event) {
22
- if (isOutsideRef.current(event)) {
23
- handleRef.current(event);
22
+ var _isOutsideRef$current;
23
+
24
+ if ((_isOutsideRef$current = isOutsideRef.current) !== null && _isOutsideRef$current !== void 0 && _isOutsideRef$current.call(isOutsideRef, event)) {
25
+ var _handleRef$current;
26
+
27
+ (_handleRef$current = handleRef.current) === null || _handleRef$current === void 0 ? void 0 : _handleRef$current.call(handleRef, event);
24
28
  }
25
29
  };
26
30
 
@@ -4192,14 +4192,14 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner::before {
4192
4192
  .rs-check-tree-node-label .rs-check-item .rs-checkbox-checker > label .rs-checkbox-wrapper {
4193
4193
  right: 20px;
4194
4194
  }
4195
- .without-children .rs-check-tree-node-label .rs-check-item .rs-checkbox-checker > label {
4195
+ .rs-check-tree-without-children .rs-check-tree-node-label .rs-check-item .rs-checkbox-checker > label {
4196
4196
  padding-right: 34px;
4197
4197
  }
4198
- .without-children .rs-check-tree-node-label .rs-check-item .rs-checkbox-checker > label::before {
4198
+ .rs-check-tree-without-children .rs-check-tree-node-label .rs-check-item .rs-checkbox-checker > label::before {
4199
4199
  width: 28px;
4200
4200
  margin-right: -36px;
4201
4201
  }
4202
- .without-children .rs-check-tree-node-label .rs-check-item .rs-checkbox-checker > label .rs-checkbox-wrapper {
4202
+ .rs-check-tree-without-children .rs-check-tree-node-label .rs-check-item .rs-checkbox-checker > label .rs-checkbox-wrapper {
4203
4203
  right: 0;
4204
4204
  }
4205
4205
  .rs-check-tree-node-all-uncheckable > .rs-check-tree-node-label .rs-check-item .rs-checkbox-checker > label {
@@ -5048,12 +5048,9 @@ label:hover .rs-checkbox-wrapper .rs-checkbox-inner::before {
5048
5048
  .rs-dropdown-item.rs-dropdown-item-submenu .rs-dropdown-menu-toggle-icon {
5049
5049
  left: 9px;
5050
5050
  }
5051
- .rs-dropdown-item-submenu .rs-dropdown-item-pull-right ~ .rs-dropdown-menu {
5051
+ .rs-dropdown-item-submenu .rs-dropdown-menu {
5052
5052
  right: 100%;
5053
5053
  }
5054
- .rs-dropdown-item-submenu .rs-dropdown-item-pull-left ~ .rs-dropdown-menu {
5055
- left: 100%;
5056
- }
5057
5054
  .rs-dropdown-item-submenu.rs-dropdown-item-open > .rs-dropdown-menu {
5058
5055
  display: table;
5059
5056
  -webkit-animation-name: slideUpIn;