rsuite 5.4.0 → 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 (139) hide show
  1. package/Button/styles/index.less +1 -5
  2. package/CHANGELOG.md +38 -0
  3. package/CheckTreePicker/styles/index.less +1 -1
  4. package/Drawer/styles/index.less +3 -0
  5. package/Dropdown/styles/index.less +6 -22
  6. package/Dropdown/styles/mixin.less +0 -2
  7. package/Modal/styles/index.less +23 -22
  8. package/Navbar/styles/index.less +20 -8
  9. package/README.md +1 -1
  10. package/Sidenav/styles/index.less +8 -2
  11. package/cjs/Affix/Affix.js +3 -1
  12. package/cjs/AvatarGroup/AvatarGroup.js +9 -4
  13. package/cjs/ButtonGroup/ButtonGroup.js +9 -4
  14. package/cjs/Calendar/Calendar.js +21 -20
  15. package/cjs/Calendar/Header.js +1 -3
  16. package/cjs/Calendar/Table.js +1 -1
  17. package/cjs/Calendar/TableRow.js +12 -7
  18. package/cjs/Calendar/View.js +9 -5
  19. package/cjs/Calendar/useCalendarDate.d.ts +1 -1
  20. package/cjs/Calendar/useCalendarDate.js +1 -1
  21. package/cjs/Carousel/Carousel.js +7 -1
  22. package/cjs/Cascader/Cascader.js +13 -2
  23. package/cjs/CheckPicker/CheckPicker.d.ts +5 -2
  24. package/cjs/CheckPicker/test/CheckPicker.test.js +8 -0
  25. package/cjs/CheckTree/index.js +9 -4
  26. package/cjs/CheckTreePicker/CheckTreePicker.js +1 -1
  27. package/cjs/CheckTreePicker/utils.js +1 -1
  28. package/cjs/Container/Container.js +6 -3
  29. package/cjs/CustomProvider/CustomProvider.d.ts +14 -14
  30. package/cjs/CustomProvider/CustomProvider.js +4 -3
  31. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  32. package/cjs/DatePicker/DatePicker.js +5 -5
  33. package/cjs/DateRangePicker/DateRangePicker.js +3 -3
  34. package/cjs/Disclosure/Disclosure.d.ts +8 -5
  35. package/cjs/Disclosure/Disclosure.js +51 -11
  36. package/cjs/Disclosure/DisclosureButton.d.ts +2 -2
  37. package/cjs/Disclosure/DisclosureContext.d.ts +6 -1
  38. package/cjs/Dropdown/Dropdown.js +1 -1
  39. package/cjs/Dropdown/DropdownItem.js +9 -10
  40. package/cjs/Dropdown/DropdownMenu.js +78 -26
  41. package/cjs/FormGroup/FormGroup.js +9 -4
  42. package/cjs/Menu/MenuItem.js +1 -1
  43. package/cjs/Modal/Modal.js +34 -22
  44. package/cjs/Modal/utils.js +16 -8
  45. package/cjs/MultiCascader/MultiCascader.js +6 -3
  46. package/cjs/Nav/Nav.js +10 -15
  47. package/cjs/Nav/NavItem.js +3 -1
  48. package/cjs/Navbar/index.d.ts +1 -0
  49. package/cjs/Navbar/index.js +4 -3
  50. package/cjs/Overlay/Modal.js +18 -32
  51. package/cjs/PanelGroup/PanelGroup.js +8 -5
  52. package/cjs/Picker/DropdownMenu.js +5 -0
  53. package/cjs/Picker/PickerToggle.js +2 -4
  54. package/cjs/SelectPicker/SelectPicker.d.ts +5 -2
  55. package/cjs/SelectPicker/test/SelectPicker.test.js +8 -0
  56. package/cjs/Toggle/Toggle.js +2 -1
  57. package/cjs/Tree/Tree.js +9 -4
  58. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  59. package/cjs/Uploader/UploadFileItem.js +1 -1
  60. package/cjs/Uploader/Uploader.js +3 -0
  61. package/cjs/utils/index.d.ts +1 -0
  62. package/cjs/utils/index.js +7 -2
  63. package/cjs/utils/propTypeChecker.d.ts +2 -6
  64. package/cjs/utils/propTypeChecker.js +7 -59
  65. package/cjs/utils/useClickOutside.js +6 -2
  66. package/cjs/utils/useMount.d.ts +2 -0
  67. package/cjs/utils/useMount.js +19 -0
  68. package/dist/rsuite-rtl.css +336 -180
  69. package/dist/rsuite-rtl.min.css +1 -1
  70. package/dist/rsuite-rtl.min.css.map +1 -1
  71. package/dist/rsuite.css +336 -180
  72. package/dist/rsuite.js +67 -45
  73. package/dist/rsuite.js.map +1 -1
  74. package/dist/rsuite.min.css +1 -1
  75. package/dist/rsuite.min.css.map +1 -1
  76. package/dist/rsuite.min.js +1 -1
  77. package/dist/rsuite.min.js.map +1 -1
  78. package/esm/Affix/Affix.js +4 -2
  79. package/esm/AvatarGroup/AvatarGroup.js +7 -4
  80. package/esm/ButtonGroup/ButtonGroup.js +7 -4
  81. package/esm/Calendar/Calendar.js +22 -21
  82. package/esm/Calendar/Header.js +1 -3
  83. package/esm/Calendar/Table.js +1 -1
  84. package/esm/Calendar/TableRow.js +13 -8
  85. package/esm/Calendar/View.js +10 -6
  86. package/esm/Calendar/useCalendarDate.d.ts +1 -1
  87. package/esm/Calendar/useCalendarDate.js +1 -1
  88. package/esm/Carousel/Carousel.js +9 -3
  89. package/esm/Cascader/Cascader.js +13 -2
  90. package/esm/CheckPicker/CheckPicker.d.ts +5 -2
  91. package/esm/CheckPicker/test/CheckPicker.test.js +7 -0
  92. package/esm/CheckTree/index.js +7 -4
  93. package/esm/CheckTreePicker/CheckTreePicker.js +1 -1
  94. package/esm/CheckTreePicker/utils.js +1 -1
  95. package/esm/Container/Container.js +7 -4
  96. package/esm/CustomProvider/CustomProvider.d.ts +14 -14
  97. package/esm/CustomProvider/CustomProvider.js +2 -2
  98. package/esm/DatePicker/DatePicker.d.ts +1 -1
  99. package/esm/DatePicker/DatePicker.js +5 -4
  100. package/esm/DateRangePicker/DateRangePicker.js +3 -3
  101. package/esm/Disclosure/Disclosure.d.ts +8 -5
  102. package/esm/Disclosure/Disclosure.js +52 -13
  103. package/esm/Disclosure/DisclosureButton.d.ts +2 -2
  104. package/esm/Disclosure/DisclosureContext.d.ts +6 -1
  105. package/esm/Dropdown/Dropdown.js +1 -1
  106. package/esm/Dropdown/DropdownItem.js +9 -9
  107. package/esm/Dropdown/DropdownMenu.js +79 -27
  108. package/esm/FormGroup/FormGroup.js +7 -4
  109. package/esm/Menu/MenuItem.js +1 -1
  110. package/esm/Modal/Modal.js +36 -24
  111. package/esm/Modal/utils.js +16 -8
  112. package/esm/MultiCascader/MultiCascader.js +6 -3
  113. package/esm/Nav/Nav.js +11 -16
  114. package/esm/Nav/NavItem.js +3 -1
  115. package/esm/Navbar/index.d.ts +1 -0
  116. package/esm/Navbar/index.js +1 -0
  117. package/esm/Overlay/Modal.js +19 -33
  118. package/esm/PanelGroup/PanelGroup.js +9 -6
  119. package/esm/Picker/DropdownMenu.js +5 -0
  120. package/esm/Picker/PickerToggle.js +2 -4
  121. package/esm/SelectPicker/SelectPicker.d.ts +5 -2
  122. package/esm/SelectPicker/test/SelectPicker.test.js +7 -0
  123. package/esm/Toggle/Toggle.js +2 -1
  124. package/esm/Tree/Tree.js +7 -4
  125. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  126. package/esm/Uploader/UploadFileItem.js +1 -1
  127. package/esm/Uploader/Uploader.js +4 -1
  128. package/esm/utils/index.d.ts +1 -0
  129. package/esm/utils/index.js +2 -1
  130. package/esm/utils/propTypeChecker.d.ts +2 -6
  131. package/esm/utils/propTypeChecker.js +7 -59
  132. package/esm/utils/useClickOutside.js +6 -2
  133. package/esm/utils/useMount.d.ts +2 -0
  134. package/esm/utils/useMount.js +13 -0
  135. package/package.json +2 -2
  136. package/styles/color-modes/dark.less +1 -0
  137. package/styles/color-modes/high-contrast.less +1 -0
  138. package/styles/color-modes/light.less +1 -0
  139. package/styles/mixins/utilities.less +17 -5
@@ -81,7 +81,8 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
81
81
  }, rest), /*#__PURE__*/_react.default.createElement("input", {
82
82
  ref: inputRef,
83
83
  type: "checkbox",
84
- checked: checked,
84
+ checked: checkedProp,
85
+ defaultChecked: defaultChecked,
85
86
  disabled: disabled,
86
87
  readOnly: readOnly,
87
88
  onChange: handleInputChange,
package/cjs/Tree/Tree.js CHANGED
@@ -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;
@@ -7,7 +9,7 @@ exports.default = exports.TREE_NODE_DROP_POSITION = void 0;
7
9
 
8
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _TreePicker = _interopRequireDefault(require("../TreePicker"));
13
15
 
@@ -26,10 +28,13 @@ exports.TREE_NODE_DROP_POSITION = TREE_NODE_DROP_POSITION;
26
28
  })(TREE_NODE_DROP_POSITION || (exports.TREE_NODE_DROP_POSITION = TREE_NODE_DROP_POSITION = {}));
27
29
 
28
30
  var Tree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
29
- return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
30
- value: {
31
+ var contextValue = (0, _react.useMemo)(function () {
32
+ return {
31
33
  inline: true
32
- }
34
+ };
35
+ }, []);
36
+ return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
37
+ value: contextValue
33
38
  }, /*#__PURE__*/_react.default.createElement(_TreePicker.default, (0, _extends2.default)({
34
39
  ref: ref
35
40
  }, props)));
@@ -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;
@@ -40,3 +40,4 @@ export { default as useUpdatedRef } from './useUpdatedRef';
40
40
  export { default as useWillUnmount } from './useWillUnmount';
41
41
  export { default as useUpdateEffect } from './useUpdateEffect';
42
42
  export { default as useIsMounted } from './useIsMounted';
43
+ export { default as useMount } from './useMount';
@@ -41,13 +41,14 @@ var _exportNames = {
41
41
  useWillUnmount: true,
42
42
  useUpdateEffect: true,
43
43
  useIsMounted: true,
44
+ useMount: true,
44
45
  defaultClassPrefix: true,
45
46
  getClassNamePrefix: true,
46
47
  globalKey: true,
47
48
  DateUtils: true,
48
49
  TypeChecker: true
49
50
  };
50
- exports.TypeChecker = exports.DateUtils = exports.globalKey = exports.getClassNamePrefix = exports.defaultClassPrefix = exports.useIsMounted = exports.useUpdateEffect = exports.useWillUnmount = exports.useUpdatedRef = exports.useEventCallback = exports.stringToObject = exports.getSafeRegExpString = exports.useRootClose = exports.useControlled = exports.useTimeout = exports.createComponent = exports.usePortal = exports.useCustom = exports.useElementResize = exports.useEventListener = exports.useClassNames = exports.appendTooltip = exports.scrollTopAnimation = exports.reactToString = exports.composeFunctions = exports.shallowEqualArray = exports.shallowEqual = exports.mergeRefs = exports.getDOMNode = exports.placementPolyfill = exports.clone = exports.getDataGroupBy = exports.previewFile = exports.ajaxUpload = exports.tplTransform = exports.ReactChildren = exports.isOneOf = exports.createChainedFunction = exports.prefix = exports.guid = void 0;
51
+ exports.TypeChecker = exports.DateUtils = exports.globalKey = exports.getClassNamePrefix = exports.defaultClassPrefix = exports.useMount = exports.useIsMounted = exports.useUpdateEffect = exports.useWillUnmount = exports.useUpdatedRef = exports.useEventCallback = exports.stringToObject = exports.getSafeRegExpString = exports.useRootClose = exports.useControlled = exports.useTimeout = exports.createComponent = exports.usePortal = exports.useCustom = exports.useElementResize = exports.useEventListener = exports.useClassNames = exports.appendTooltip = exports.scrollTopAnimation = exports.reactToString = exports.composeFunctions = exports.shallowEqualArray = exports.shallowEqual = exports.mergeRefs = exports.getDOMNode = exports.placementPolyfill = exports.clone = exports.getDataGroupBy = exports.previewFile = exports.ajaxUpload = exports.tplTransform = exports.ReactChildren = exports.isOneOf = exports.createChainedFunction = exports.prefix = exports.guid = void 0;
51
52
 
52
53
  var _BrowserDetection = require("./BrowserDetection");
53
54
 
@@ -234,4 +235,8 @@ exports.useUpdateEffect = _useUpdateEffect.default;
234
235
 
235
236
  var _useIsMounted = _interopRequireDefault(require("./useIsMounted"));
236
237
 
237
- exports.useIsMounted = _useIsMounted.default;
238
+ exports.useIsMounted = _useIsMounted.default;
239
+
240
+ var _useMount = _interopRequireDefault(require("./useMount"));
241
+
242
+ exports.useMount = _useMount.default;
@@ -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
 
@@ -0,0 +1,2 @@
1
+ declare const useMount: (callback: () => void) => void;
2
+ export default useMount;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = require("react");
7
+
8
+ var useMount = function useMount(callback) {
9
+ var mountRef = (0, _react.useRef)(callback);
10
+ mountRef.current = callback;
11
+ (0, _react.useEffect)(function () {
12
+ var _mountRef$current;
13
+
14
+ (_mountRef$current = mountRef.current) === null || _mountRef$current === void 0 ? void 0 : _mountRef$current.call(mountRef);
15
+ }, []);
16
+ };
17
+
18
+ var _default = useMount;
19
+ exports.default = _default;