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,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _reactWindow = require("react-window");
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var List = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
21
+ var rowHeight = props.rowHeight,
22
+ _props$as = props.as,
23
+ Component = _props$as === void 0 ? _reactWindow.VariableSizeList : _props$as,
24
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["rowHeight", "as"]);
25
+ var listRef = (0, _react.useRef)(null);
26
+
27
+ var _useCustom = (0, _utils.useCustom)(),
28
+ rtl = _useCustom.rtl;
29
+
30
+ (0, _react.useImperativeHandle)(ref, function () {
31
+ return {
32
+ resetAfterIndex: function resetAfterIndex(index, shouldForceUpdate) {
33
+ var _listRef$current, _listRef$current$rese;
34
+
35
+ (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : (_listRef$current$rese = _listRef$current.resetAfterIndex) === null || _listRef$current$rese === void 0 ? void 0 : _listRef$current$rese.call(_listRef$current, index, shouldForceUpdate);
36
+ },
37
+ scrollTo: function scrollTo(scrollOffset) {
38
+ var _listRef$current2, _listRef$current2$scr;
39
+
40
+ (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : (_listRef$current2$scr = _listRef$current2.scrollTo) === null || _listRef$current2$scr === void 0 ? void 0 : _listRef$current2$scr.call(_listRef$current2, scrollOffset);
41
+ },
42
+ scrollToItem: function scrollToItem(index, align) {
43
+ var _listRef$current3, _listRef$current3$scr;
44
+
45
+ (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : (_listRef$current3$scr = _listRef$current3.scrollToItem) === null || _listRef$current3$scr === void 0 ? void 0 : _listRef$current3$scr.call(_listRef$current3, index, align);
46
+ },
47
+ scrollToRow: function scrollToRow(index) {
48
+ var _listRef$current4, _listRef$current4$scr;
49
+
50
+ (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 ? void 0 : (_listRef$current4$scr = _listRef$current4.scrollToItem) === null || _listRef$current4$scr === void 0 ? void 0 : _listRef$current4$scr.call(_listRef$current4, index);
51
+ }
52
+ };
53
+ });
54
+ var setRowHeight = (0, _react.useCallback)(function (index) {
55
+ return typeof rowHeight === 'function' ? rowHeight({
56
+ index: index
57
+ }) : rowHeight || 0;
58
+ }, [rowHeight]);
59
+ var compatibleProps = (0, _extends2.default)({}, rest);
60
+
61
+ if (rowHeight) {
62
+ compatibleProps.itemSize = Component === _reactWindow.VariableSizeList ? setRowHeight : rowHeight;
63
+ }
64
+
65
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
66
+ ref: listRef,
67
+ direction: rtl ? 'rtl' : 'ltr'
68
+ }, compatibleProps));
69
+ });
70
+
71
+ var _default = List;
72
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ export { default as AutoSizer } from './AutoSizer';
2
+ export { default as List } from './List';
3
+ export { FixedSizeList, VariableSizeList } from 'react-window';
4
+ export type { ListChildComponentProps } from 'react-window';
5
+ export type { ListProps, ListHandle } from './List';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.VariableSizeList = exports.FixedSizeList = exports.List = exports.AutoSizer = void 0;
7
+
8
+ var _AutoSizer = _interopRequireDefault(require("./AutoSizer"));
9
+
10
+ exports.AutoSizer = _AutoSizer.default;
11
+
12
+ var _List = _interopRequireDefault(require("./List"));
13
+
14
+ exports.List = _List.default;
15
+
16
+ var _reactWindow = require("react-window");
17
+
18
+ exports.FixedSizeList = _reactWindow.FixedSizeList;
19
+ exports.VariableSizeList = _reactWindow.VariableSizeList;
package/cjs/index.d.ts CHANGED
@@ -155,3 +155,4 @@ export type { AffixProps } from './Affix';
155
155
  export { default as CustomProvider } from './CustomProvider';
156
156
  export type { CustomProviderProps } from './CustomProvider';
157
157
  export type { Locale, CalendarLocale, PlaintextLocale, PaginationLocale, TableLocale, DatePickerLocale, DateRangePickerLocale, PickerLocale, InputPickerLocale, UploaderLocale, BreadcrumbLocale, ToggleLocale } from './locales';
158
+ export type { PickerHandle } from './Picker';
@@ -7,6 +7,7 @@ export interface ToastContainerProps extends WithAsProps {
7
7
  placement?: PlacementType;
8
8
  /** Set the message to appear in the specified container */
9
9
  container?: HTMLElement | (() => HTMLElement);
10
+ callback?: (ref: React.RefObject<ToastContainerInstance>) => void;
10
11
  }
11
12
  export interface ToastContainerInstance {
12
13
  root: HTMLElement;
@@ -19,7 +20,7 @@ export interface NodeProps extends WithAsProps {
19
20
  onClose?: (event?: React.MouseEvent<HTMLDivElement>) => void;
20
21
  }
21
22
  interface ToastContainerComponent extends RsRefForwardingComponent<'div', ToastContainerProps> {
22
- getInstance: (props: ToastContainerProps) => [React.RefObject<ToastContainerInstance>, () => void];
23
+ getInstance: (props: ToastContainerProps) => Promise<[React.RefObject<ToastContainerInstance>, () => void]>;
23
24
  }
24
25
  declare const ToastContainer: ToastContainerComponent;
25
26
  export default ToastContainer;
@@ -13,8 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
- var _reactDom = require("react-dom");
17
-
18
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
17
 
20
18
  var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
@@ -40,13 +38,15 @@ var useMessages = function useMessages() {
40
38
  }, [messages]);
41
39
  var push = (0, _react.useCallback)(function (message) {
42
40
  var key = (0, _utils.guid)();
43
- setMessages([].concat(messages, [{
44
- key: key,
45
- visible: true,
46
- node: message
47
- }]));
41
+ setMessages(function (prevMessages) {
42
+ return [].concat(prevMessages, [{
43
+ key: key,
44
+ visible: true,
45
+ node: message
46
+ }]);
47
+ });
48
48
  return key;
49
- }, [messages]);
49
+ }, []);
50
50
  var clear = (0, _react.useCallback)(function () {
51
51
  // Set all existing messages to be invisible.
52
52
  setMessages(messages.map(function (msg) {
@@ -93,7 +93,8 @@ var ToastContainer = /*#__PURE__*/_react.default.forwardRef(function (props, ref
93
93
  classPrefix = _props$classPrefix === void 0 ? 'toast-container' : _props$classPrefix,
94
94
  _props$placement = props.placement,
95
95
  placement = _props$placement === void 0 ? 'topCenter' : _props$placement,
96
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "placement"]);
96
+ callback = props.callback,
97
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "placement", "callback"]);
97
98
 
98
99
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
99
100
  withClassPrefix = _useClassNames.withClassPrefix,
@@ -141,7 +142,10 @@ var ToastContainer = /*#__PURE__*/_react.default.forwardRef(function (props, ref
141
142
  });
142
143
  });
143
144
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
144
- ref: rootRef,
145
+ ref: function ref(selfRef) {
146
+ rootRef.current = selfRef;
147
+ callback === null || callback === void 0 ? void 0 : callback(selfRef);
148
+ },
145
149
  className: classes
146
150
  }), elements);
147
151
  });
@@ -152,22 +156,18 @@ ToastContainer.getInstance = function (props) {
152
156
 
153
157
  var containerRef = /*#__PURE__*/_react.default.createRef();
154
158
 
155
- var mountElement = document.createElement('div');
156
- var containerElement = typeof container === 'function' ? container() : container; // Parent is document.body or the existing dom element
157
-
158
- var parentElement = containerElement || document.body; // Add the detached element to the parent
159
-
160
- parentElement.appendChild(mountElement);
161
-
162
- function destroy() {
163
- (0, _reactDom.unmountComponentAtNode)(mountElement);
164
- parentElement.removeChild(mountElement);
165
- }
159
+ var containerElement = (typeof container === 'function' ? container() : container) || document.body;
160
+ return new Promise(function (resolve) {
161
+ var renderCallback = function renderCallback() {
162
+ resolve([containerRef, unmount]);
163
+ };
166
164
 
167
- (0, _reactDom.render)( /*#__PURE__*/_react.default.createElement(ToastContainer, (0, _extends2.default)({}, rest, {
168
- ref: containerRef
169
- })), mountElement);
170
- return [containerRef, destroy];
165
+ var _render = (0, _utils.render)( /*#__PURE__*/_react.default.createElement(ToastContainer, (0, _extends2.default)({}, rest, {
166
+ ref: containerRef,
167
+ callback: renderCallback
168
+ })), containerElement),
169
+ unmount = _render.unmount;
170
+ });
171
171
  };
172
172
 
173
173
  ToastContainer.displayName = 'ToastContainer';
@@ -175,7 +175,8 @@ ToastContainer.propTypes = {
175
175
  className: _propTypes.default.string,
176
176
  classPrefix: _propTypes.default.string,
177
177
  placement: _propTypes.default.elementType,
178
- container: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func])
178
+ container: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
179
+ callback: _propTypes.default.func
179
180
  };
180
181
  var _default = ToastContainer;
181
182
  exports.default = _default;
@@ -7,7 +7,7 @@ export interface Toaster {
7
7
  * @param message
8
8
  * @param options
9
9
  */
10
- push(message: React.ReactNode, options?: ToastContainerProps): string | undefined;
10
+ push(message: React.ReactNode, options?: ToastContainerProps): string | undefined | Promise<string | undefined>;
11
11
  /**
12
12
  * Remove a message by key
13
13
  * @param key
@@ -5,6 +5,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports.default = void 0;
7
7
 
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
8
12
  var _ToastContainer = _interopRequireDefault(require("./ToastContainer"));
9
13
 
10
14
  var defaultContainerId = 'default';
@@ -15,12 +19,8 @@ var containers = new Map();
15
19
  * @param options
16
20
  */
17
21
 
18
- function createContainer(containerId, props) {
19
- var _ToastContainer$getIn = _ToastContainer.default.getInstance(props),
20
- container = _ToastContainer$getIn[0];
21
-
22
- containers.set(containerId || defaultContainerId, container);
23
- return container;
22
+ function createContainer(_x, _x2) {
23
+ return _createContainer.apply(this, arguments);
24
24
  }
25
25
  /**
26
26
  * Get the container by ID. Use default ID when ID is not available.
@@ -28,6 +28,33 @@ function createContainer(containerId, props) {
28
28
  */
29
29
 
30
30
 
31
+ function _createContainer() {
32
+ _createContainer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(containerId, props) {
33
+ var _yield$ToastContainer, container;
34
+
35
+ return _regenerator.default.wrap(function _callee$(_context) {
36
+ while (1) {
37
+ switch (_context.prev = _context.next) {
38
+ case 0:
39
+ _context.next = 2;
40
+ return _ToastContainer.default.getInstance(props);
41
+
42
+ case 2:
43
+ _yield$ToastContainer = _context.sent;
44
+ container = _yield$ToastContainer[0];
45
+ containers.set(containerId || defaultContainerId, container);
46
+ return _context.abrupt("return", container);
47
+
48
+ case 6:
49
+ case "end":
50
+ return _context.stop();
51
+ }
52
+ }
53
+ }, _callee);
54
+ }));
55
+ return _createContainer.apply(this, arguments);
56
+ }
57
+
31
58
  function getContainer(containerId) {
32
59
  if (containers.size == 0) {
33
60
  return null;
@@ -41,21 +68,24 @@ var toaster = function toaster(message) {
41
68
  };
42
69
 
43
70
  toaster.push = function (message, options) {
44
- var _container$current;
71
+ var _options;
45
72
 
46
73
  if (options === void 0) {
47
74
  options = {};
48
75
  }
49
76
 
50
- var container = getContainer(options.placement);
51
-
52
- if (!container) {
53
- var _options$placement;
77
+ var containerId = (_options = options) === null || _options === void 0 ? void 0 : _options.placement;
78
+ var container = getContainer(containerId);
54
79
 
55
- container = createContainer((_options$placement = options.placement) !== null && _options$placement !== void 0 ? _options$placement : '', options);
80
+ if (container !== null && container !== void 0 && container.current) {
81
+ return container.current.push(message);
56
82
  }
57
83
 
58
- return (_container$current = container.current) === null || _container$current === void 0 ? void 0 : _container$current.push(message);
84
+ return createContainer(containerId !== null && containerId !== void 0 ? containerId : '', options).then(function (ref) {
85
+ var _ref$current;
86
+
87
+ return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.push(message);
88
+ });
59
89
  };
60
90
 
61
91
  toaster.remove = function (key) {
@@ -5,7 +5,7 @@ import { ToastContainerProps } from './ToastContainer';
5
5
  * @returns toaster { push, remove, clear }
6
6
  */
7
7
  declare const useToaster: () => {
8
- push: (message: React.ReactNode, options?: ToastContainerProps) => string | undefined;
8
+ push: (message: React.ReactNode, options?: ToastContainerProps) => string | Promise<string | undefined> | undefined;
9
9
  remove: (key: string) => void;
10
10
  clear: () => void;
11
11
  };
@@ -23,6 +23,7 @@ export { default as composeFunctions } from './composeFunctions';
23
23
  export { default as reactToString } from './reactToString';
24
24
  export { default as scrollTopAnimation } from './scrollTopAnimation';
25
25
  export { default as appendTooltip } from './appendTooltip';
26
+ export { default as render } from './render';
26
27
  /** Hooks **/
27
28
  export { default as useClassNames } from './useClassNames';
28
29
  export { default as useEventListener } from './useEventListener';
@@ -25,6 +25,7 @@ var _exportNames = {
25
25
  reactToString: true,
26
26
  scrollTopAnimation: true,
27
27
  appendTooltip: true,
28
+ render: true,
28
29
  useClassNames: true,
29
30
  useEventListener: true,
30
31
  useElementResize: true,
@@ -48,7 +49,7 @@ var _exportNames = {
48
49
  DateUtils: true,
49
50
  TypeChecker: true
50
51
  };
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;
52
+ 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.render = 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;
52
53
 
53
54
  var _BrowserDetection = require("./BrowserDetection");
54
55
 
@@ -173,6 +174,10 @@ var _appendTooltip = _interopRequireDefault(require("./appendTooltip"));
173
174
 
174
175
  exports.appendTooltip = _appendTooltip.default;
175
176
 
177
+ var _render = _interopRequireDefault(require("./render"));
178
+
179
+ exports.render = _render.default;
180
+
176
181
  var _useClassNames = _interopRequireDefault(require("./useClassNames"));
177
182
 
178
183
  exports.useClassNames = _useClassNames.default;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare function render(element: React.ReactElement<any>, container: HTMLElement): any;
3
+ export default render;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var ReactDOM = _interopRequireWildcard(require("react-dom"));
13
+
14
+ var majorVersion = parseInt(_react.default.version);
15
+ var SuperposedReactDOM = ReactDOM;
16
+
17
+ function render(element, container) {
18
+ var mountElement = document.createElement('div');
19
+ mountElement.className = 'rs-mount-element';
20
+ var containerElement = container || document.body; // Add the detached element to the root
21
+
22
+ containerElement.appendChild(mountElement);
23
+
24
+ if (majorVersion >= 18) {
25
+ /**
26
+ * ignore react 18 warnings
27
+ * Warning: You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client".
28
+ */
29
+ ReactDOM['__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED'].usingClientEntryPoint = true;
30
+ var createRoot = SuperposedReactDOM.createRoot;
31
+ var root = containerElement.__root || createRoot(mountElement, {
32
+ identifierPrefix: 'rs-root-'
33
+ });
34
+ root.render(element);
35
+ containerElement.__root = root;
36
+ return root;
37
+ }
38
+
39
+ SuperposedReactDOM.render(element, mountElement);
40
+ return {
41
+ unmount: function unmount() {
42
+ SuperposedReactDOM.unmountComponentAtNode(mountElement);
43
+ containerElement.removeChild(mountElement);
44
+ }
45
+ };
46
+ }
47
+
48
+ var _default = render;
49
+ exports.default = _default;
@@ -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
  /**
@@ -2,20 +2,28 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
5
7
  exports.__esModule = true;
6
8
  exports.default = useUniqueId;
7
9
 
8
- var _react = require("react");
10
+ var React = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _uniqueId = _interopRequireDefault(require("lodash/uniqueId"));
11
13
 
14
+ var reactUseId = React['useId' + ''];
12
15
  /**
13
16
  * Used for generating unique ID for DOM elements
14
17
  *
15
18
  * @param idProp If id is provided, it will be used instead of generating a new one
16
19
  */
20
+
17
21
  function useUniqueId(prefix, idProp) {
18
- var idRef = (0, _react.useRef)();
22
+ var idRef = React.useRef();
23
+
24
+ if (reactUseId !== undefined) {
25
+ return idProp !== null && idProp !== void 0 ? idProp : "" + prefix + reactUseId();
26
+ }
19
27
 
20
28
  if (!idRef.current) {
21
29
  idRef.current = (0, _uniqueId.default)(prefix);