rsuite 5.13.0 → 5.15.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 (149) hide show
  1. package/Button/styles/index.less +1 -0
  2. package/CHANGELOG.md +45 -0
  3. package/Dropdown/styles/index.less +8 -3
  4. package/Grid/styles/index.less +42 -10
  5. package/Sidenav/styles/index.less +45 -11
  6. package/Table/styles/index.less +0 -2
  7. package/Tooltip/styles/index.less +4 -4
  8. package/cjs/@types/common.d.ts +6 -0
  9. package/cjs/Cascader/utils.d.ts +1 -1
  10. package/cjs/Col/Col.d.ts +25 -5
  11. package/cjs/Col/Col.js +9 -1
  12. package/cjs/CustomProvider/CustomProvider.d.ts +20 -7
  13. package/cjs/CustomProvider/CustomProvider.js +24 -3
  14. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  15. package/cjs/Form/Form.d.ts +8 -8
  16. package/cjs/Form/test/Form.test.d.ts +1 -0
  17. package/cjs/Form/test/Form.test.js +18 -0
  18. package/cjs/Modal/test/Modal.test.d.ts +1 -0
  19. package/cjs/Modal/test/Modal.test.js +14 -0
  20. package/cjs/Modal/utils.d.ts +1 -1
  21. package/cjs/Nav/NavDropdownMenu.d.ts +12 -1
  22. package/cjs/Nav/NavDropdownMenu.js +9 -3
  23. package/cjs/Nav/test/Nav.test.d.ts +1 -0
  24. package/cjs/Nav/test/Nav.test.js +17 -0
  25. package/cjs/Navbar/NavbarDropdownMenu.d.ts +12 -1
  26. package/cjs/Navbar/NavbarDropdownMenu.js +9 -3
  27. package/cjs/Overlay/Modal.d.ts +1 -4
  28. package/cjs/Overlay/Overlay.d.ts +3 -1
  29. package/cjs/Overlay/Overlay.js +6 -2
  30. package/cjs/Overlay/OverlayTrigger.d.ts +8 -4
  31. package/cjs/Overlay/OverlayTrigger.js +32 -4
  32. package/cjs/Overlay/Position.d.ts +3 -1
  33. package/cjs/Overlay/Position.js +12 -4
  34. package/cjs/Overlay/positionUtils.d.ts +11 -4
  35. package/cjs/Overlay/positionUtils.js +48 -2
  36. package/cjs/Panel/Panel.js +9 -6
  37. package/cjs/Picker/utils.d.ts +1 -1
  38. package/cjs/Popover/Popover.d.ts +2 -0
  39. package/cjs/Popover/Popover.js +6 -3
  40. package/cjs/Sidenav/SidenavDropdownToggle.js +2 -1
  41. package/cjs/Sidenav/SidenavItem.d.ts +4 -0
  42. package/cjs/Sidenav/SidenavItem.js +40 -31
  43. package/cjs/Sidenav/SidenavToggle.d.ts +5 -1
  44. package/cjs/Sidenav/SidenavToggle.js +25 -9
  45. package/cjs/Toggle/Toggle.d.ts +1 -1
  46. package/cjs/Tooltip/Tooltip.d.ts +3 -1
  47. package/cjs/Tooltip/Tooltip.js +8 -3
  48. package/cjs/Whisper/Whisper.d.ts +3 -5
  49. package/cjs/Whisper/Whisper.js +6 -1
  50. package/cjs/Whisper/test/Whisper.test.d.ts +1 -0
  51. package/cjs/Whisper/test/Whisper.test.js +23 -0
  52. package/cjs/index.d.ts +3 -3
  53. package/cjs/index.js +3 -2
  54. package/cjs/toaster/ToastContainer.d.ts +1 -0
  55. package/cjs/toaster/ToastContainer.js +4 -1
  56. package/cjs/toaster/index.d.ts +1 -0
  57. package/cjs/toaster/index.js +4 -1
  58. package/cjs/toaster/toaster.d.ts +0 -1
  59. package/cjs/toaster/useToaster.d.ts +12 -0
  60. package/cjs/toaster/useToaster.js +43 -0
  61. package/cjs/utils/constants.d.ts +1 -0
  62. package/cjs/utils/constants.js +3 -1
  63. package/cjs/utils/stringToObject.d.ts +1 -1
  64. package/cjs/utils/tplTransform.d.ts +1 -1
  65. package/cjs/utils/treeUtils.d.ts +3 -3
  66. package/cjs/utils/treeUtils.js +8 -10
  67. package/cjs/utils/useCustom.d.ts +1 -1
  68. package/cjs/utils/useCustom.js +5 -3
  69. package/cjs/utils/useFocus.d.ts +1 -1
  70. package/dist/rsuite-rtl.css +741 -71
  71. package/dist/rsuite-rtl.min.css +1 -1
  72. package/dist/rsuite-rtl.min.css.map +1 -1
  73. package/dist/rsuite.css +741 -71
  74. package/dist/rsuite.js +92 -103
  75. package/dist/rsuite.js.map +1 -1
  76. package/dist/rsuite.min.css +1 -1
  77. package/dist/rsuite.min.css.map +1 -1
  78. package/dist/rsuite.min.js +1 -1
  79. package/dist/rsuite.min.js.map +1 -1
  80. package/esm/@types/common.d.ts +6 -0
  81. package/esm/Cascader/utils.d.ts +1 -1
  82. package/esm/Col/Col.d.ts +25 -5
  83. package/esm/Col/Col.js +10 -2
  84. package/esm/CustomProvider/CustomProvider.d.ts +20 -7
  85. package/esm/CustomProvider/CustomProvider.js +22 -3
  86. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  87. package/esm/Form/Form.d.ts +8 -8
  88. package/esm/Form/test/Form.test.d.ts +1 -0
  89. package/esm/Form/test/Form.test.js +11 -0
  90. package/esm/Modal/test/Modal.test.d.ts +1 -0
  91. package/esm/Modal/test/Modal.test.js +9 -0
  92. package/esm/Modal/utils.d.ts +1 -1
  93. package/esm/Nav/NavDropdownMenu.d.ts +12 -1
  94. package/esm/Nav/NavDropdownMenu.js +8 -3
  95. package/esm/Nav/test/Nav.test.d.ts +1 -0
  96. package/esm/Nav/test/Nav.test.js +11 -0
  97. package/esm/Navbar/NavbarDropdownMenu.d.ts +12 -1
  98. package/esm/Navbar/NavbarDropdownMenu.js +8 -3
  99. package/esm/Overlay/Modal.d.ts +1 -4
  100. package/esm/Overlay/Overlay.d.ts +3 -1
  101. package/esm/Overlay/Overlay.js +6 -2
  102. package/esm/Overlay/OverlayTrigger.d.ts +8 -4
  103. package/esm/Overlay/OverlayTrigger.js +33 -5
  104. package/esm/Overlay/Position.d.ts +3 -1
  105. package/esm/Overlay/Position.js +12 -4
  106. package/esm/Overlay/positionUtils.d.ts +11 -4
  107. package/esm/Overlay/positionUtils.js +46 -2
  108. package/esm/Panel/Panel.js +9 -6
  109. package/esm/Picker/utils.d.ts +1 -1
  110. package/esm/Popover/Popover.d.ts +2 -0
  111. package/esm/Popover/Popover.js +6 -3
  112. package/esm/Sidenav/SidenavDropdownToggle.js +2 -1
  113. package/esm/Sidenav/SidenavItem.d.ts +4 -0
  114. package/esm/Sidenav/SidenavItem.js +38 -31
  115. package/esm/Sidenav/SidenavToggle.d.ts +5 -1
  116. package/esm/Sidenav/SidenavToggle.js +22 -9
  117. package/esm/Toggle/Toggle.d.ts +1 -1
  118. package/esm/Tooltip/Tooltip.d.ts +3 -1
  119. package/esm/Tooltip/Tooltip.js +8 -3
  120. package/esm/Whisper/Whisper.d.ts +3 -5
  121. package/esm/Whisper/Whisper.js +6 -1
  122. package/esm/Whisper/test/Whisper.test.d.ts +1 -0
  123. package/esm/Whisper/test/Whisper.test.js +16 -0
  124. package/esm/index.d.ts +3 -3
  125. package/esm/index.js +1 -1
  126. package/esm/toaster/ToastContainer.d.ts +1 -0
  127. package/esm/toaster/ToastContainer.js +1 -0
  128. package/esm/toaster/index.d.ts +1 -0
  129. package/esm/toaster/index.js +1 -0
  130. package/esm/toaster/toaster.d.ts +0 -1
  131. package/esm/toaster/useToaster.d.ts +12 -0
  132. package/esm/toaster/useToaster.js +34 -0
  133. package/esm/utils/constants.d.ts +1 -0
  134. package/esm/utils/constants.js +1 -0
  135. package/esm/utils/stringToObject.d.ts +1 -1
  136. package/esm/utils/tplTransform.d.ts +1 -1
  137. package/esm/utils/treeUtils.d.ts +3 -3
  138. package/esm/utils/treeUtils.js +8 -10
  139. package/esm/utils/useCustom.d.ts +1 -1
  140. package/esm/utils/useCustom.js +5 -3
  141. package/esm/utils/useFocus.d.ts +1 -1
  142. package/package.json +1 -1
  143. package/styles/color-modes/dark.less +223 -181
  144. package/styles/color-modes/high-contrast.less +221 -179
  145. package/styles/color-modes/light.less +47 -5
  146. package/styles/colors/dark.less +91 -91
  147. package/styles/colors/high-contrast.less +91 -91
  148. package/styles/variables.less +35 -12
  149. package/styles/color-modes/common.less +0 -44
@@ -776,11 +776,7 @@ function useFlattenTreeData(_ref8) {
776
776
  var forceUpdate = (0, _react.useCallback)(function () {
777
777
  dispatch(Object.create(null));
778
778
  }, [dispatch]);
779
-
780
- var _useRef = (0, _react.useRef)({}),
781
- _useRef$current = _useRef.current,
782
- flattenNodes = _useRef$current === void 0 ? {} : _useRef$current;
783
-
779
+ var flattenNodes = (0, _react.useRef)({});
784
780
  var flattenTreeData = (0, _react.useCallback)(function (treeData, ref, parent, layer) {
785
781
  if (layer === void 0) {
786
782
  layer = 1;
@@ -795,20 +791,20 @@ function useFlattenTreeData(_ref8) {
795
791
 
796
792
  var refKey = ref + "-" + index;
797
793
  node.refKey = refKey;
798
- flattenNodes[refKey] = (0, _extends3.default)((_extends2 = {
794
+ flattenNodes.current[refKey] = (0, _extends3.default)((_extends2 = {
799
795
  layer: layer
800
796
  }, _extends2[labelKey] = node[labelKey], _extends2[valueKey] = node[valueKey], _extends2.uncheckable = uncheckableItemValues.some(function (value) {
801
797
  return (0, _utils2.shallowEqual)(node[valueKey], value);
802
798
  }), _extends2), node);
803
799
 
804
800
  if (parent) {
805
- flattenNodes[refKey].parent = (0, _omit2.default)(parent, 'parent', 'children');
801
+ flattenNodes.current[refKey].parent = (0, _omit2.default)(parent, 'parent', 'children');
806
802
  }
807
803
 
808
804
  flattenTreeData(node[childrenKey], refKey, node, layer + 1);
809
805
  });
810
- callback === null || callback === void 0 ? void 0 : callback(flattenNodes);
811
- }, [childrenKey, valueKey, labelKey, callback, uncheckableItemValues, flattenNodes]);
806
+ callback === null || callback === void 0 ? void 0 : callback(flattenNodes.current);
807
+ }, [childrenKey, valueKey, labelKey, callback, uncheckableItemValues]);
812
808
  var serializeListOnlyParent = (0, _react.useCallback)(function (nodes, key) {
813
809
  var list = [];
814
810
  Object.keys(nodes).forEach(function (refKey) {
@@ -909,12 +905,14 @@ function useFlattenTreeData(_ref8) {
909
905
  };
910
906
 
911
907
  (0, _react.useEffect)(function () {
908
+ // when data is changed, should clear the flattenNodes, avoid duplicate keys
909
+ flattenNodes.current = {};
912
910
  flattenTreeData(data, '0');
913
911
  }, [data]); // eslint-disable-line react-hooks/exhaustive-deps
914
912
 
915
913
  return {
916
914
  forceUpdate: forceUpdate,
917
- flattenNodes: flattenNodes,
915
+ flattenNodes: flattenNodes.current,
918
916
  flattenTreeData: flattenTreeData,
919
917
  serializeListOnlyParent: serializeListOnlyParent,
920
918
  unSerializeList: unSerializeList,
@@ -3,5 +3,5 @@ import { CustomValue } from '../CustomProvider/CustomProvider';
3
3
  * A hook to get custom configuration of `<CustomProvider>`
4
4
  * @param keys
5
5
  */
6
- declare function useCustom<T = any>(keys: string | string[], overrideLocale?: any): CustomValue<T>;
6
+ declare function useCustom<T = any>(keys?: string | string[], overrideLocale?: any): CustomValue<T>;
7
7
  export default useCustom;
@@ -40,11 +40,12 @@ function useCustom(keys, overrideLocale) {
40
40
  _useContext$rtl = _useContext.rtl,
41
41
  rtl = _useContext$rtl === void 0 ? getDefaultRTL() : _useContext$rtl,
42
42
  formatDate = _useContext.formatDate,
43
- parseDate = _useContext.parseDate;
43
+ parseDate = _useContext.parseDate,
44
+ toasters = _useContext.toasters;
44
45
 
45
- 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] : mergeObject(keys.map(function (key) {
46
+ 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) {
46
47
  return locale === null || locale === void 0 ? void 0 : locale[key];
47
- }))); // Component custom locale
48
+ })) : {}); // Component custom locale
48
49
 
49
50
  if (overrideLocale) {
50
51
  componentLocale = mergeObject([componentLocale, overrideLocale]);
@@ -67,6 +68,7 @@ function useCustom(keys, overrideLocale) {
67
68
  return {
68
69
  locale: componentLocale,
69
70
  rtl: rtl,
71
+ toasters: toasters,
70
72
  formatDate: formatDate || defaultFormatDate,
71
73
  parseDate: parseDate || defaultParseDate
72
74
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  export default function useFocus<E extends HTMLElement>(elementRef: React.RefObject<E>): {
3
3
  grab: () => void;
4
- release: (options?: FocusOptions | undefined) => void;
4
+ release: (options?: FocusOptions) => void;
5
5
  };