rsuite 5.20.0 → 5.22.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 (139) hide show
  1. package/CHANGELOG.md +25 -973
  2. package/CheckTreePicker/styles/index.less +0 -25
  3. package/DatePicker/styles/index.less +11 -0
  4. package/Picker/styles/index.less +0 -10
  5. package/Picker/styles/mixin.less +0 -5
  6. package/README.md +4 -2
  7. package/Table/styles/index.less +12 -7
  8. package/TreePicker/styles/index.less +0 -19
  9. package/Windowing/package.json +7 -0
  10. package/cjs/Calendar/MonthDropdown.d.ts +1 -0
  11. package/cjs/Calendar/MonthDropdown.js +27 -40
  12. package/cjs/Cascader/Cascader.d.ts +2 -2
  13. package/cjs/Cascader/DropdownMenu.js +5 -2
  14. package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
  15. package/cjs/CheckPicker/CheckPicker.js +4 -1
  16. package/cjs/CheckTreePicker/CheckTreePicker.js +37 -39
  17. package/cjs/CustomProvider/CustomProvider.d.ts +1 -108
  18. package/cjs/CustomProvider/CustomProvider.js +2 -5
  19. package/cjs/CustomProvider/index.d.ts +2 -2
  20. package/cjs/CustomProvider/index.js +0 -1
  21. package/cjs/DatePicker/DatePicker.js +25 -3
  22. package/cjs/DatePicker/types.d.ts +1 -0
  23. package/cjs/DateRangePicker/DateRangePicker.js +39 -20
  24. package/cjs/Disclosure/Disclosure.d.ts +2 -2
  25. package/cjs/Disclosure/Disclosure.js +6 -6
  26. package/cjs/InputPicker/InputPicker.js +4 -1
  27. package/cjs/Modal/ModalBody.js +18 -17
  28. package/cjs/MultiCascader/DropdownMenu.js +5 -2
  29. package/cjs/Navbar/NavbarDropdownMenu.js +16 -10
  30. package/cjs/Overlay/OverlayTrigger.d.ts +2 -2
  31. package/cjs/Picker/DropdownMenu.d.ts +2 -1
  32. package/cjs/Picker/DropdownMenu.js +38 -34
  33. package/cjs/Picker/PickerOverlay.d.ts +2 -2
  34. package/cjs/Picker/PickerToggle.js +4 -1
  35. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -2
  36. package/cjs/Picker/PickerToggleTrigger.js +11 -10
  37. package/cjs/Picker/index.d.ts +3 -3
  38. package/cjs/Picker/types.d.ts +7 -5
  39. package/cjs/Picker/utils.d.ts +11 -12
  40. package/cjs/Picker/utils.js +4 -0
  41. package/cjs/SelectPicker/SelectPicker.d.ts +4 -5
  42. package/cjs/SelectPicker/SelectPicker.js +4 -1
  43. package/cjs/Tree/Tree.d.ts +2 -5
  44. package/cjs/TreePicker/TreePicker.js +35 -37
  45. package/cjs/TreePicker/test/TreePicker.test.js +14 -0
  46. package/cjs/Whisper/Whisper.d.ts +3 -3
  47. package/cjs/Whisper/Whisper.js +11 -10
  48. package/cjs/Windowing/AutoSizer.d.ts +25 -0
  49. package/cjs/Windowing/AutoSizer.js +103 -0
  50. package/cjs/Windowing/List.d.ts +45 -0
  51. package/cjs/Windowing/List.js +72 -0
  52. package/cjs/Windowing/index.d.ts +5 -0
  53. package/cjs/Windowing/index.js +19 -0
  54. package/cjs/index.d.ts +1 -0
  55. package/cjs/toaster/ToastContainer.d.ts +2 -1
  56. package/cjs/toaster/ToastContainer.js +27 -26
  57. package/cjs/toaster/toaster.d.ts +1 -1
  58. package/cjs/toaster/toaster.js +43 -13
  59. package/cjs/toaster/useToaster.d.ts +1 -1
  60. package/cjs/utils/index.d.ts +1 -0
  61. package/cjs/utils/index.js +6 -1
  62. package/cjs/utils/render.d.ts +3 -0
  63. package/cjs/utils/render.js +49 -0
  64. package/cjs/utils/treeUtils.d.ts +2 -2
  65. package/cjs/utils/useUniqueId.js +10 -2
  66. package/dist/rsuite-rtl.css +20 -73
  67. package/dist/rsuite-rtl.min.css +1 -1
  68. package/dist/rsuite-rtl.min.css.map +1 -1
  69. package/dist/rsuite.css +20 -73
  70. package/dist/rsuite.js +118 -377
  71. package/dist/rsuite.js.map +1 -1
  72. package/dist/rsuite.min.css +1 -1
  73. package/dist/rsuite.min.css.map +1 -1
  74. package/dist/rsuite.min.js +1 -1
  75. package/dist/rsuite.min.js.LICENSE.txt +2 -0
  76. package/dist/rsuite.min.js.map +1 -1
  77. package/esm/Calendar/MonthDropdown.d.ts +1 -0
  78. package/esm/Calendar/MonthDropdown.js +26 -41
  79. package/esm/Cascader/Cascader.d.ts +2 -2
  80. package/esm/Cascader/DropdownMenu.js +5 -2
  81. package/esm/CheckPicker/CheckPicker.d.ts +2 -2
  82. package/esm/CheckPicker/CheckPicker.js +4 -1
  83. package/esm/CheckTreePicker/CheckTreePicker.js +37 -38
  84. package/esm/CustomProvider/CustomProvider.d.ts +1 -108
  85. package/esm/CustomProvider/CustomProvider.js +2 -4
  86. package/esm/CustomProvider/index.d.ts +2 -2
  87. package/esm/CustomProvider/index.js +2 -2
  88. package/esm/DatePicker/DatePicker.js +22 -3
  89. package/esm/DatePicker/types.d.ts +1 -0
  90. package/esm/DateRangePicker/DateRangePicker.js +39 -20
  91. package/esm/Disclosure/Disclosure.d.ts +2 -2
  92. package/esm/Disclosure/Disclosure.js +6 -6
  93. package/esm/InputPicker/InputPicker.js +4 -1
  94. package/esm/Modal/ModalBody.js +16 -17
  95. package/esm/MultiCascader/DropdownMenu.js +5 -2
  96. package/esm/Navbar/NavbarDropdownMenu.js +14 -8
  97. package/esm/Overlay/OverlayTrigger.d.ts +2 -2
  98. package/esm/Picker/DropdownMenu.d.ts +2 -1
  99. package/esm/Picker/DropdownMenu.js +38 -36
  100. package/esm/Picker/PickerOverlay.d.ts +2 -2
  101. package/esm/Picker/PickerToggle.js +4 -1
  102. package/esm/Picker/PickerToggleTrigger.d.ts +2 -2
  103. package/esm/Picker/PickerToggleTrigger.js +10 -11
  104. package/esm/Picker/index.d.ts +3 -3
  105. package/esm/Picker/types.d.ts +7 -5
  106. package/esm/Picker/utils.d.ts +11 -12
  107. package/esm/Picker/utils.js +4 -0
  108. package/esm/SelectPicker/SelectPicker.d.ts +4 -5
  109. package/esm/SelectPicker/SelectPicker.js +4 -1
  110. package/esm/Tree/Tree.d.ts +2 -5
  111. package/esm/TreePicker/TreePicker.js +34 -35
  112. package/esm/TreePicker/test/TreePicker.test.js +14 -0
  113. package/esm/Whisper/Whisper.d.ts +3 -3
  114. package/esm/Whisper/Whisper.js +10 -11
  115. package/esm/Windowing/AutoSizer.d.ts +25 -0
  116. package/esm/Windowing/AutoSizer.js +88 -0
  117. package/esm/Windowing/List.d.ts +45 -0
  118. package/esm/Windowing/List.js +58 -0
  119. package/esm/Windowing/index.d.ts +5 -0
  120. package/esm/Windowing/index.js +3 -0
  121. package/esm/index.d.ts +1 -0
  122. package/esm/toaster/ToastContainer.d.ts +2 -1
  123. package/esm/toaster/ToastContainer.js +28 -26
  124. package/esm/toaster/toaster.d.ts +1 -1
  125. package/esm/toaster/toaster.js +41 -13
  126. package/esm/toaster/useToaster.d.ts +1 -1
  127. package/esm/utils/index.d.ts +1 -0
  128. package/esm/utils/index.js +1 -0
  129. package/esm/utils/render.d.ts +3 -0
  130. package/esm/utils/render.js +37 -0
  131. package/esm/utils/treeUtils.d.ts +2 -2
  132. package/esm/utils/useUniqueId.js +7 -2
  133. package/package.json +5 -5
  134. package/styles/mixins/listbox.less +0 -5
  135. package/styles/variables.less +1 -0
  136. package/cjs/Picker/VirtualizedList.d.ts +0 -37
  137. package/cjs/Picker/VirtualizedList.js +0 -15
  138. package/esm/Picker/VirtualizedList.d.ts +0 -37
  139. package/esm/Picker/VirtualizedList.js +0 -4
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import * as ReactDOM from 'react-dom';
3
+ var majorVersion = parseInt(React.version);
4
+ var SuperposedReactDOM = ReactDOM;
5
+
6
+ function render(element, container) {
7
+ var mountElement = document.createElement('div');
8
+ mountElement.className = 'rs-mount-element';
9
+ var containerElement = container || document.body; // Add the detached element to the root
10
+
11
+ containerElement.appendChild(mountElement);
12
+
13
+ if (majorVersion >= 18) {
14
+ /**
15
+ * ignore react 18 warnings
16
+ * Warning: You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client".
17
+ */
18
+ ReactDOM['__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED'].usingClientEntryPoint = true;
19
+ var createRoot = SuperposedReactDOM.createRoot;
20
+ var root = containerElement.__root || createRoot(mountElement, {
21
+ identifierPrefix: 'rs-root-'
22
+ });
23
+ root.render(element);
24
+ containerElement.__root = root;
25
+ return root;
26
+ }
27
+
28
+ SuperposedReactDOM.render(element, mountElement);
29
+ return {
30
+ unmount: function unmount() {
31
+ SuperposedReactDOM.unmountComponentAtNode(mountElement);
32
+ containerElement.removeChild(mountElement);
33
+ }
34
+ };
35
+ }
36
+
37
+ export default render;
@@ -4,7 +4,7 @@ import { TREE_NODE_DROP_POSITION } from '../utils';
4
4
  import { CheckTreePickerProps } from '../CheckTreePicker/CheckTreePicker';
5
5
  import { ItemDataType } from '../@types/common';
6
6
  import { TreePickerProps } from '../TreePicker/TreePicker';
7
- import { ListInstance } from '../Picker/VirtualizedList';
7
+ import { ListHandle } from '../Windowing';
8
8
  declare type PartialTreeProps = Partial<TreePickerProps | CheckTreePickerProps>;
9
9
  /**
10
10
  * according node parentNode expand state decide node whether to show
@@ -236,7 +236,7 @@ export interface FocusToTreeNodeProps {
236
236
  activeNode: any;
237
237
  virtualized: boolean;
238
238
  container: HTMLElement | null;
239
- list: ListInstance;
239
+ list: ListHandle;
240
240
  formattedNodes: TreeNodeType[];
241
241
  }
242
242
  /**
@@ -1,5 +1,6 @@
1
- import { useRef } from 'react';
1
+ import * as React from 'react';
2
2
  import uniqueId from 'lodash/uniqueId';
3
+ var reactUseId = React['useId' + ''];
3
4
  /**
4
5
  * Used for generating unique ID for DOM elements
5
6
  *
@@ -7,7 +8,11 @@ import uniqueId from 'lodash/uniqueId';
7
8
  */
8
9
 
9
10
  export default function useUniqueId(prefix, idProp) {
10
- var idRef = useRef();
11
+ var idRef = React.useRef();
12
+
13
+ if (reactUseId !== undefined) {
14
+ return idProp !== null && idProp !== void 0 ? idProp : "" + prefix + reactUseId();
15
+ }
11
16
 
12
17
  if (!idRef.current) {
13
18
  idRef.current = uniqueId(prefix);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.20.0",
3
+ "version": "5.22.0",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -24,20 +24,20 @@
24
24
  "url": "git@github.com:rsuite/rsuite.git"
25
25
  },
26
26
  "dependencies": {
27
- "@babel/runtime": "^7.19.0",
27
+ "@babel/runtime": "^7.19.4",
28
28
  "@juggle/resize-observer": "^3.4.0",
29
29
  "@rsuite/icons": "^1.0.2",
30
30
  "@types/chai": "^4.3.3",
31
31
  "@types/lodash": "^4.14.184",
32
32
  "@types/prop-types": "^15.7.5",
33
- "@types/react-virtualized": "^9.21.11",
33
+ "@types/react-window": "^1.8.5",
34
34
  "classnames": "^2.3.1",
35
35
  "date-fns": "^2.29.3",
36
36
  "dom-lib": "^3.1.3",
37
37
  "lodash": "^4.17.11",
38
38
  "prop-types": "^15.8.1",
39
- "react-virtualized": "^9.22.3",
40
- "rsuite-table": "^5.7.2",
39
+ "react-window": "^1.8.7",
40
+ "rsuite-table": "^5.8.0",
41
41
  "schema-typed": "^2.0.3"
42
42
  },
43
43
  "peerDependencies": {
@@ -35,11 +35,6 @@
35
35
  cursor: pointer;
36
36
  text-decoration: none;
37
37
  width: 100%;
38
-
39
- /* stylelint-disable-next-line */ // This class name provide by Virtualized.
40
- .ReactVirtualized__Grid & {
41
- .ellipsis-basic();
42
- }
43
38
  }
44
39
 
45
40
  // "-active" for aria-activedescendant
@@ -224,6 +224,7 @@
224
224
  @table-content-padding-horizontal: 10px; // @deprecated use @table-cell-padding-x instead
225
225
  @table-cell-padding-y: @table-body-content-padding-vertical;
226
226
  @table-cell-padding-x: @table-content-padding-horizontal;
227
+ @table-cell-hover-color: var(--rs-primary-500);
227
228
 
228
229
  @table-scrollbar-timing-duration: 0.1s;
229
230
  @table-scrollbar-width: 10px;
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import { ListProps, ListRowProps } from 'react-virtualized/dist/commonjs/List';
3
- import { AutoSizerProps } from 'react-virtualized/dist/commonjs/AutoSizer';
4
- import type { Alignment } from 'react-virtualized';
5
- export interface ListInstance {
6
- /**
7
- * Forcefully re-render the inner Grid component.
8
- */
9
- forceUpdateGrid(): void;
10
- /**
11
- * Gets offset for a given row and alignment.
12
- */
13
- getOffsetForRow(params: {
14
- alignment?: Alignment;
15
- index?: number;
16
- }): number;
17
- /**
18
- * Pre-measure all rows in a List.
19
- */
20
- measureAllRows(): void;
21
- /**
22
- * Recompute row heights and offsets after the specified index (defaults to 0).
23
- */
24
- recomputeRowHeights(index?: number): void;
25
- /**
26
- * Scroll to the specified offset. Useful for animating position changes.
27
- */
28
- scrollToPosition(scrollTop?: number): void;
29
- /**
30
- * Ensure row is visible. This method can be used to safely scroll back to a cell
31
- * that a user has scrolled away from even if it was previously scrolled to.
32
- */
33
- scrollToRow(index?: number): void;
34
- }
35
- export type { ListProps, AutoSizerProps, ListRowProps };
36
- export declare const List: React.ComponentType<ListProps>;
37
- export declare const AutoSizer: React.ComponentType<AutoSizerProps>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.AutoSizer = exports.List = void 0;
7
-
8
- var _List = _interopRequireDefault(require("react-virtualized/dist/commonjs/List"));
9
-
10
- var _AutoSizer = _interopRequireDefault(require("react-virtualized/dist/commonjs/AutoSizer"));
11
-
12
- var List = _List.default;
13
- exports.List = List;
14
- var AutoSizer = _AutoSizer.default;
15
- exports.AutoSizer = AutoSizer;
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import { ListProps, ListRowProps } from 'react-virtualized/dist/commonjs/List';
3
- import { AutoSizerProps } from 'react-virtualized/dist/commonjs/AutoSizer';
4
- import type { Alignment } from 'react-virtualized';
5
- export interface ListInstance {
6
- /**
7
- * Forcefully re-render the inner Grid component.
8
- */
9
- forceUpdateGrid(): void;
10
- /**
11
- * Gets offset for a given row and alignment.
12
- */
13
- getOffsetForRow(params: {
14
- alignment?: Alignment;
15
- index?: number;
16
- }): number;
17
- /**
18
- * Pre-measure all rows in a List.
19
- */
20
- measureAllRows(): void;
21
- /**
22
- * Recompute row heights and offsets after the specified index (defaults to 0).
23
- */
24
- recomputeRowHeights(index?: number): void;
25
- /**
26
- * Scroll to the specified offset. Useful for animating position changes.
27
- */
28
- scrollToPosition(scrollTop?: number): void;
29
- /**
30
- * Ensure row is visible. This method can be used to safely scroll back to a cell
31
- * that a user has scrolled away from even if it was previously scrolled to.
32
- */
33
- scrollToRow(index?: number): void;
34
- }
35
- export type { ListProps, AutoSizerProps, ListRowProps };
36
- export declare const List: React.ComponentType<ListProps>;
37
- export declare const AutoSizer: React.ComponentType<AutoSizerProps>;
@@ -1,4 +0,0 @@
1
- import VirtualizedList from 'react-virtualized/dist/commonjs/List';
2
- import VirtualizedAutoSizer from 'react-virtualized/dist/commonjs/AutoSizer';
3
- export var List = VirtualizedList;
4
- export var AutoSizer = VirtualizedAutoSizer;