rsuite 5.6.0 → 5.6.3

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 (73) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +3 -1
  3. package/cjs/@types/common.d.ts +4 -4
  4. package/cjs/Affix/Affix.js +0 -2
  5. package/cjs/Animation/Transition.d.ts +1 -1
  6. package/cjs/Animation/Transition.js +10 -4
  7. package/cjs/CheckTreePicker/CheckTreePicker.js +12 -5
  8. package/cjs/CheckTreePicker/utils.js +1 -1
  9. package/cjs/DatePicker/DatePicker.d.ts +2 -1
  10. package/cjs/DatePicker/DatePicker.js +4 -3
  11. package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
  12. package/cjs/DateRangePicker/DateRangePicker.js +4 -3
  13. package/cjs/IconButton/IconButton.d.ts +5 -2
  14. package/cjs/IconButton/IconButton.js +2 -2
  15. package/cjs/IconButton/test/IconButton.test.d.ts +1 -0
  16. package/cjs/IconButton/test/IconButton.test.js +24 -0
  17. package/cjs/List/helper/AutoScroller.d.ts +2 -3
  18. package/cjs/List/helper/useManager.d.ts +2 -2
  19. package/cjs/List/helper/useSortHelper.js +23 -9
  20. package/cjs/List/helper/utils.d.ts +4 -3
  21. package/cjs/List/helper/utils.js +2 -2
  22. package/cjs/MaskedInput/conformToMask.js +1 -0
  23. package/cjs/MultiCascader/DropdownMenu.js +2 -1
  24. package/cjs/MultiCascader/utils.js +7 -7
  25. package/cjs/Overlay/Position.js +1 -2
  26. package/cjs/Pagination/PaginationGroup.js +3 -3
  27. package/cjs/Picker/SelectedElement.js +1 -1
  28. package/cjs/Picker/index.d.ts +2 -1
  29. package/cjs/TreePicker/TreePicker.js +1 -1
  30. package/cjs/Uploader/Uploader.js +5 -1
  31. package/cjs/toaster/toaster.d.ts +1 -1
  32. package/cjs/toaster/toaster.js +9 -3
  33. package/cjs/utils/treeUtils.js +6 -4
  34. package/cjs/utils/useTimeout.d.ts +2 -2
  35. package/cjs/utils/useTimeout.js +17 -8
  36. package/dist/rsuite.js +38 -357
  37. package/dist/rsuite.js.map +1 -1
  38. package/dist/rsuite.min.js +1 -1
  39. package/dist/rsuite.min.js.map +1 -1
  40. package/esm/@types/common.d.ts +4 -4
  41. package/esm/Affix/Affix.js +0 -2
  42. package/esm/Animation/Transition.d.ts +1 -1
  43. package/esm/Animation/Transition.js +10 -4
  44. package/esm/CheckTreePicker/CheckTreePicker.js +12 -5
  45. package/esm/CheckTreePicker/utils.js +1 -1
  46. package/esm/DatePicker/DatePicker.d.ts +2 -1
  47. package/esm/DatePicker/DatePicker.js +4 -3
  48. package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
  49. package/esm/DateRangePicker/DateRangePicker.js +4 -3
  50. package/esm/IconButton/IconButton.d.ts +5 -2
  51. package/esm/IconButton/IconButton.js +1 -1
  52. package/esm/IconButton/test/IconButton.test.d.ts +1 -0
  53. package/esm/IconButton/test/IconButton.test.js +18 -0
  54. package/esm/List/helper/AutoScroller.d.ts +2 -3
  55. package/esm/List/helper/useManager.d.ts +2 -2
  56. package/esm/List/helper/useSortHelper.js +23 -9
  57. package/esm/List/helper/utils.d.ts +4 -3
  58. package/esm/List/helper/utils.js +2 -2
  59. package/esm/MaskedInput/conformToMask.js +1 -0
  60. package/esm/MultiCascader/DropdownMenu.js +2 -1
  61. package/esm/MultiCascader/utils.js +7 -7
  62. package/esm/Overlay/Position.js +1 -2
  63. package/esm/Pagination/PaginationGroup.js +3 -3
  64. package/esm/Picker/SelectedElement.js +1 -1
  65. package/esm/Picker/index.d.ts +2 -1
  66. package/esm/TreePicker/TreePicker.js +1 -1
  67. package/esm/Uploader/Uploader.js +5 -1
  68. package/esm/toaster/toaster.d.ts +1 -1
  69. package/esm/toaster/toaster.js +9 -3
  70. package/esm/utils/treeUtils.js +6 -4
  71. package/esm/utils/useTimeout.d.ts +2 -2
  72. package/esm/utils/useTimeout.js +17 -8
  73. package/package.json +2 -2
@@ -4,32 +4,41 @@ import { useEffect, useRef, useCallback } from 'react';
4
4
  * A timer hook
5
5
  * @param fn Timer callback function
6
6
  * @param ms Milliseconds of the timer
7
- * @param open Whether to open the timer
7
+ * @param enabled Whether to open the timer
8
8
  */
9
- function useTimeout(fn, ms, open) {
9
+ function useTimeout(fn, ms, enabled) {
10
10
  if (ms === void 0) {
11
11
  ms = 0;
12
12
  }
13
13
 
14
- if (open === void 0) {
15
- open = true;
14
+ if (enabled === void 0) {
15
+ enabled = true;
16
16
  }
17
17
 
18
18
  var timeout = useRef();
19
+ var callback = useRef(fn);
19
20
  var clear = useCallback(function () {
20
21
  timeout.current && clearTimeout(timeout.current);
21
22
  }, []);
22
23
  var set = useCallback(function () {
23
- if (open) {
24
+ timeout.current && clearTimeout(timeout.current);
25
+
26
+ if (enabled) {
24
27
  timeout.current = setTimeout(function () {
25
- return fn === null || fn === void 0 ? void 0 : fn();
28
+ var _callback$current;
29
+
30
+ (_callback$current = callback.current) === null || _callback$current === void 0 ? void 0 : _callback$current.call(callback);
26
31
  }, ms);
27
32
  }
28
- }, [ms, fn, open]);
33
+ }, [ms, enabled]); // update ref when function changes
34
+
35
+ useEffect(function () {
36
+ callback.current = fn;
37
+ }, [fn]);
29
38
  useEffect(function () {
30
39
  set();
31
40
  return clear;
32
- }, [fn, ms, open, clear, set]);
41
+ }, [ms, enabled, set, clear]);
33
42
  return {
34
43
  clear: clear,
35
44
  reset: set
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.6.0",
3
+ "version": "5.6.3",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -37,7 +37,7 @@
37
37
  "lodash": "^4.17.11",
38
38
  "prop-types": "^15.7.2",
39
39
  "react-virtualized": "^9.22.3",
40
- "rsuite-table": "^5.3.3",
40
+ "rsuite-table": "^5.3.5",
41
41
  "schema-typed": "^2.0.2"
42
42
  },
43
43
  "peerDependencies": {