rsuite 5.49.0 → 5.51.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 (233) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/Cascader/styles/index.less +4 -4
  3. package/CheckTreePicker/styles/index.less +3 -3
  4. package/DatePicker/styles/index.less +1 -1
  5. package/DateRangePicker/styles/index.less +15 -5
  6. package/Dropdown/styles/index.less +5 -4
  7. package/Dropdown/styles/mixin.less +0 -11
  8. package/Form/styles/mixin.less +1 -2
  9. package/InputGroup/styles/index.less +0 -14
  10. package/InputPicker/styles/index.less +1 -1
  11. package/Picker/styles/index.less +33 -26
  12. package/Picker/styles/mixin.less +20 -16
  13. package/README.md +4 -4
  14. package/TagInput/styles/index.less +2 -2
  15. package/TagPicker/styles/index.less +5 -1
  16. package/TreePicker/styles/index.less +2 -2
  17. package/cjs/@types/common.d.ts +8 -0
  18. package/cjs/AutoComplete/AutoComplete.js +39 -37
  19. package/cjs/AutoComplete/Combobox.d.ts +8 -0
  20. package/cjs/AutoComplete/Combobox.js +31 -0
  21. package/cjs/Calendar/Calendar.d.ts +5 -1
  22. package/cjs/Calendar/CalendarContainer.d.ts +5 -1
  23. package/cjs/Calendar/CalendarContainer.js +35 -37
  24. package/cjs/Cascader/Cascader.js +58 -59
  25. package/cjs/Cascader/DropdownMenu.d.ts +3 -20
  26. package/cjs/Cascader/DropdownMenu.js +48 -48
  27. package/cjs/Cascader/TreeView.d.ts +24 -0
  28. package/cjs/Cascader/TreeView.js +174 -0
  29. package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
  30. package/cjs/CheckPicker/CheckPicker.js +42 -44
  31. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +2 -2
  32. package/cjs/CheckTreePicker/CheckTreeNode.js +31 -59
  33. package/cjs/CheckTreePicker/CheckTreePicker.js +81 -84
  34. package/cjs/DatePicker/DatePicker.d.ts +5 -1
  35. package/cjs/DatePicker/DatePicker.js +7 -10
  36. package/cjs/DatePicker/Toolbar.js +2 -1
  37. package/cjs/DateRangeInput/DateRangeInput.js +2 -2
  38. package/cjs/DateRangePicker/Calendar.js +24 -23
  39. package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
  40. package/cjs/DateRangePicker/DateRangePicker.js +239 -202
  41. package/cjs/DateRangePicker/types.d.ts +11 -3
  42. package/cjs/DateRangePicker/utils.d.ts +2 -1
  43. package/cjs/DateRangePicker/utils.js +7 -5
  44. package/cjs/Form/Form.d.ts +14 -0
  45. package/cjs/Form/Form.js +39 -30
  46. package/cjs/Form/FormContext.d.ts +1 -0
  47. package/cjs/FormControl/FormControl.d.ts +11 -1
  48. package/cjs/FormControl/FormControl.js +40 -17
  49. package/cjs/FormGroup/FormGroup.js +2 -1
  50. package/cjs/InputPicker/InputPicker.js +108 -92
  51. package/cjs/InputPicker/InputSearch.js +3 -15
  52. package/cjs/InputPicker/TagList.d.ts +3 -0
  53. package/cjs/InputPicker/TagList.js +29 -0
  54. package/cjs/InputPicker/TextBox.d.ts +18 -0
  55. package/cjs/InputPicker/TextBox.js +48 -0
  56. package/cjs/MultiCascader/MultiCascader.js +53 -52
  57. package/cjs/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
  58. package/cjs/MultiCascader/{DropdownMenu.js → TreeView.js} +77 -74
  59. package/{esm/Picker/DropdownMenuCheckItem.d.ts → cjs/Picker/ListCheckItem.d.ts} +3 -3
  60. package/cjs/Picker/{DropdownMenuCheckItem.js → ListCheckItem.js} +14 -30
  61. package/cjs/Picker/{DropdownMenuItem.d.ts → ListItem.d.ts} +4 -4
  62. package/cjs/Picker/{DropdownMenuItem.js → ListItem.js} +15 -24
  63. package/cjs/Picker/ListItemGroup.d.ts +6 -0
  64. package/cjs/Picker/{DropdownMenuGroup.js → ListItemGroup.js} +3 -9
  65. package/cjs/Picker/Listbox.d.ts +35 -0
  66. package/cjs/Picker/{DropdownMenu.js → Listbox.js} +49 -64
  67. package/cjs/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
  68. package/cjs/{DatePicker → Picker}/PickerIndicator.js +2 -1
  69. package/cjs/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
  70. package/cjs/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
  71. package/cjs/Picker/{PickerOverlay.js → PickerPopup.js} +9 -7
  72. package/cjs/Picker/PickerToggle.d.ts +17 -22
  73. package/cjs/Picker/PickerToggle.js +63 -181
  74. package/cjs/Picker/PickerToggleTrigger.d.ts +15 -0
  75. package/cjs/Picker/PickerToggleTrigger.js +21 -5
  76. package/cjs/Picker/SearchBar.js +7 -9
  77. package/cjs/Picker/TreeView.d.ts +7 -0
  78. package/cjs/Picker/TreeView.js +31 -0
  79. package/cjs/Picker/hooks/index.d.ts +6 -0
  80. package/cjs/Picker/hooks/index.js +18 -0
  81. package/cjs/Picker/hooks/useCombobox.d.ts +7 -0
  82. package/cjs/Picker/hooks/useCombobox.js +22 -0
  83. package/cjs/Picker/hooks/useFocusItemValue.d.ts +30 -0
  84. package/cjs/Picker/hooks/useFocusItemValue.js +246 -0
  85. package/cjs/Picker/hooks/usePickerClassName.d.ts +21 -0
  86. package/cjs/Picker/hooks/usePickerClassName.js +39 -0
  87. package/cjs/Picker/{usePickerRef.d.ts → hooks/usePickerRef.d.ts} +5 -3
  88. package/cjs/Picker/{usePickerRef.js → hooks/usePickerRef.js} +13 -7
  89. package/cjs/Picker/hooks/useSearch.d.ts +18 -0
  90. package/cjs/Picker/hooks/useSearch.js +57 -0
  91. package/cjs/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
  92. package/cjs/Picker/hooks/useToggleKeyDownEvent.js +101 -0
  93. package/cjs/Picker/index.d.ts +9 -5
  94. package/cjs/Picker/index.js +32 -16
  95. package/cjs/Picker/propTypes.d.ts +0 -6
  96. package/cjs/Picker/propTypes.js +0 -5
  97. package/cjs/Picker/utils.d.ts +2 -100
  98. package/cjs/Picker/utils.js +1 -473
  99. package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
  100. package/cjs/SelectPicker/SelectPicker.js +47 -50
  101. package/cjs/TagInput/index.js +4 -0
  102. package/cjs/TreePicker/TreeNode.d.ts +2 -2
  103. package/cjs/TreePicker/TreeNode.js +22 -56
  104. package/cjs/TreePicker/TreePicker.js +91 -95
  105. package/cjs/utils/constants.d.ts +2 -1
  106. package/cjs/utils/constants.js +1 -0
  107. package/cjs/utils/dateUtils.d.ts +0 -1
  108. package/cjs/utils/dateUtils.js +0 -6
  109. package/cjs/utils/getStringLength.d.ts +2 -0
  110. package/cjs/utils/getStringLength.js +18 -0
  111. package/cjs/utils/index.d.ts +1 -0
  112. package/cjs/utils/index.js +4 -1
  113. package/dist/rsuite-no-reset-rtl.css +201 -186
  114. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  115. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  116. package/dist/rsuite-no-reset.css +201 -186
  117. package/dist/rsuite-no-reset.min.css +1 -1
  118. package/dist/rsuite-no-reset.min.css.map +1 -1
  119. package/dist/rsuite-rtl.css +201 -186
  120. package/dist/rsuite-rtl.min.css +1 -1
  121. package/dist/rsuite-rtl.min.css.map +1 -1
  122. package/dist/rsuite.css +201 -186
  123. package/dist/rsuite.js +235 -104
  124. package/dist/rsuite.js.map +1 -1
  125. package/dist/rsuite.min.css +1 -1
  126. package/dist/rsuite.min.css.map +1 -1
  127. package/dist/rsuite.min.js +1 -1
  128. package/dist/rsuite.min.js.map +1 -1
  129. package/esm/@types/common.d.ts +8 -0
  130. package/esm/AutoComplete/AutoComplete.js +42 -40
  131. package/esm/AutoComplete/Combobox.d.ts +8 -0
  132. package/esm/AutoComplete/Combobox.js +25 -0
  133. package/esm/Calendar/Calendar.d.ts +5 -1
  134. package/esm/Calendar/CalendarContainer.d.ts +5 -1
  135. package/esm/Calendar/CalendarContainer.js +37 -39
  136. package/esm/Cascader/Cascader.js +61 -62
  137. package/esm/Cascader/DropdownMenu.d.ts +3 -20
  138. package/esm/Cascader/DropdownMenu.js +50 -49
  139. package/esm/Cascader/TreeView.d.ts +24 -0
  140. package/esm/Cascader/TreeView.js +167 -0
  141. package/esm/CheckPicker/CheckPicker.d.ts +2 -2
  142. package/esm/CheckPicker/CheckPicker.js +45 -47
  143. package/esm/CheckTreePicker/CheckTreeNode.d.ts +2 -2
  144. package/esm/CheckTreePicker/CheckTreeNode.js +33 -61
  145. package/esm/CheckTreePicker/CheckTreePicker.js +84 -87
  146. package/esm/DatePicker/DatePicker.d.ts +5 -1
  147. package/esm/DatePicker/DatePicker.js +5 -8
  148. package/esm/DatePicker/Toolbar.js +2 -1
  149. package/esm/DateRangeInput/DateRangeInput.js +2 -2
  150. package/esm/DateRangePicker/Calendar.js +25 -23
  151. package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
  152. package/esm/DateRangePicker/DateRangePicker.js +241 -204
  153. package/esm/DateRangePicker/types.d.ts +11 -3
  154. package/esm/DateRangePicker/utils.d.ts +2 -1
  155. package/esm/DateRangePicker/utils.js +7 -5
  156. package/esm/Form/Form.d.ts +14 -0
  157. package/esm/Form/Form.js +41 -32
  158. package/esm/Form/FormContext.d.ts +1 -0
  159. package/esm/FormControl/FormControl.d.ts +11 -1
  160. package/esm/FormControl/FormControl.js +41 -18
  161. package/esm/FormGroup/FormGroup.js +3 -2
  162. package/esm/InputPicker/InputPicker.js +110 -94
  163. package/esm/InputPicker/InputSearch.js +4 -15
  164. package/esm/InputPicker/TagList.d.ts +3 -0
  165. package/esm/InputPicker/TagList.js +23 -0
  166. package/esm/InputPicker/TextBox.d.ts +18 -0
  167. package/esm/InputPicker/TextBox.js +42 -0
  168. package/esm/MultiCascader/MultiCascader.js +56 -55
  169. package/esm/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
  170. package/esm/MultiCascader/{DropdownMenu.js → TreeView.js} +79 -75
  171. package/{cjs/Picker/DropdownMenuCheckItem.d.ts → esm/Picker/ListCheckItem.d.ts} +3 -3
  172. package/esm/Picker/{DropdownMenuCheckItem.js → ListCheckItem.js} +15 -30
  173. package/esm/Picker/{DropdownMenuItem.d.ts → ListItem.d.ts} +4 -4
  174. package/esm/Picker/{DropdownMenuItem.js → ListItem.js} +16 -24
  175. package/esm/Picker/ListItemGroup.d.ts +6 -0
  176. package/esm/Picker/{DropdownMenuGroup.js → ListItemGroup.js} +3 -9
  177. package/esm/Picker/Listbox.d.ts +35 -0
  178. package/esm/Picker/{DropdownMenu.js → Listbox.js} +50 -64
  179. package/esm/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
  180. package/esm/{DatePicker → Picker}/PickerIndicator.js +2 -1
  181. package/esm/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
  182. package/esm/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
  183. package/esm/Picker/{PickerOverlay.js → PickerPopup.js} +10 -8
  184. package/esm/Picker/PickerToggle.d.ts +17 -22
  185. package/esm/Picker/PickerToggle.js +65 -183
  186. package/esm/Picker/PickerToggleTrigger.d.ts +15 -0
  187. package/esm/Picker/PickerToggleTrigger.js +20 -5
  188. package/esm/Picker/SearchBar.js +8 -9
  189. package/esm/Picker/TreeView.d.ts +7 -0
  190. package/esm/Picker/TreeView.js +25 -0
  191. package/esm/Picker/hooks/index.d.ts +6 -0
  192. package/esm/Picker/hooks/index.js +7 -0
  193. package/esm/Picker/hooks/useCombobox.d.ts +7 -0
  194. package/esm/Picker/hooks/useCombobox.js +17 -0
  195. package/esm/Picker/hooks/useFocusItemValue.d.ts +30 -0
  196. package/esm/Picker/hooks/useFocusItemValue.js +240 -0
  197. package/esm/Picker/hooks/usePickerClassName.d.ts +21 -0
  198. package/esm/Picker/hooks/usePickerClassName.js +33 -0
  199. package/esm/Picker/{usePickerRef.d.ts → hooks/usePickerRef.d.ts} +5 -3
  200. package/esm/Picker/{usePickerRef.js → hooks/usePickerRef.js} +13 -8
  201. package/esm/Picker/hooks/useSearch.d.ts +18 -0
  202. package/esm/Picker/hooks/useSearch.js +51 -0
  203. package/esm/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
  204. package/esm/Picker/hooks/useToggleKeyDownEvent.js +96 -0
  205. package/esm/Picker/index.d.ts +9 -5
  206. package/esm/Picker/index.js +9 -5
  207. package/esm/Picker/propTypes.d.ts +0 -6
  208. package/esm/Picker/propTypes.js +0 -5
  209. package/esm/Picker/utils.d.ts +2 -100
  210. package/esm/Picker/utils.js +2 -467
  211. package/esm/SelectPicker/SelectPicker.d.ts +2 -2
  212. package/esm/SelectPicker/SelectPicker.js +50 -53
  213. package/esm/TagInput/index.js +4 -0
  214. package/esm/TreePicker/TreeNode.d.ts +2 -2
  215. package/esm/TreePicker/TreeNode.js +24 -58
  216. package/esm/TreePicker/TreePicker.js +94 -98
  217. package/esm/utils/constants.d.ts +2 -1
  218. package/esm/utils/constants.js +1 -0
  219. package/esm/utils/dateUtils.d.ts +0 -1
  220. package/esm/utils/dateUtils.js +0 -5
  221. package/esm/utils/getStringLength.d.ts +2 -0
  222. package/esm/utils/getStringLength.js +13 -0
  223. package/esm/utils/index.d.ts +1 -0
  224. package/esm/utils/index.js +1 -0
  225. package/package.json +1 -1
  226. package/styles/mixins/combobox.less +10 -0
  227. package/styles/variables.less +1 -3
  228. package/cjs/Picker/DropdownMenu.d.ts +0 -59
  229. package/cjs/Picker/DropdownMenuGroup.d.ts +0 -6
  230. package/esm/Picker/DropdownMenu.d.ts +0 -59
  231. package/esm/Picker/DropdownMenuGroup.d.ts +0 -6
  232. /package/cjs/{DatePicker → Picker}/PickerLabel.js +0 -0
  233. /package/esm/{DatePicker → Picker}/PickerLabel.js +0 -0
@@ -6,14 +6,14 @@ import _isNil from "lodash/isNil";
6
6
  import _isUndefined from "lodash/isUndefined";
7
7
  import _omit from "lodash/omit";
8
8
  import _pick from "lodash/pick";
9
- import React, { useState, useRef, useEffect, useCallback, useContext, useMemo } from 'react';
9
+ import React, { useState, useEffect, useContext, useMemo } from 'react';
10
10
  import PropTypes from 'prop-types';
11
11
  import { List, AutoSizer } from '../Windowing';
12
12
  import TreeNode from './TreeNode';
13
13
  import { createDragPreview, getKeyParentMap, getPathTowardsItem, getTreeNodeIndent, removeDragPreview, stringifyTreeNodeLabel } from '../utils/treeUtils';
14
- import { createChainedFunction, useClassNames, useCustom, useControlled, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
14
+ import { createChainedFunction, useClassNames, useCustom, useControlled, useEventCallback, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
15
15
  import { getExpandWhenSearching, hasVisibleChildren, getDragNodeKeys, calDropNodePosition, createUpdateTreeDataFunction, useTreeDrag, useFlattenTreeData, getTreeActiveNode, getDefaultExpandItemValues, useTreeNodeRefs, useTreeSearch, focusPreviousItem, getFocusableItems, focusNextItem, getActiveItem, toggleExpand, useGetTreeNodeChildren, focusToActiveTreeNode, leftArrowHandler, focusTreeNode, rightArrowHandler, isSearching } from '../utils/treeUtils';
16
- import { PickerToggle, PickerOverlay, SearchBar, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, onMenuKeyDown as _onMenuKeyDown, usePublicMethods, listPickerPropTypes, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../Picker';
16
+ import { PickerToggle, PickerPopup, TreeView, SearchBar, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, usePickerRef, onMenuKeyDown as _onMenuKeyDown, listPickerPropTypes, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../Picker';
17
17
  import TreeContext from '../Tree/TreeContext';
18
18
  var emptyArray = [];
19
19
  var itemSize = function itemSize() {
@@ -101,17 +101,21 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
101
101
  renderMenu = props.renderMenu,
102
102
  renderValue = props.renderValue,
103
103
  rest = _objectWithoutPropertiesLoose(props, ["as", "data", "appearance", "style", "showIndentLine", "value", "locale", "height", "menuMaxHeight", "menuStyle", "className", "disabled", "placement", "cleanable", "searchable", "virtualized", "classPrefix", "defaultValue", "placeholder", "searchKeyword", "menuClassName", "menuAutoWidth", "searchBy", "toggleAs", "labelKey", "valueKey", "childrenKey", "draggable", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "id", "listProps", "getChildren", "renderTreeIcon", "renderTreeNode", "onExit", "onExited", "onClean", "onOpen", "onSearch", "onSelect", "onSelectItem", "onChange", "onEntered", "onClose", "onDragEnd", "onDragStart", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onExpand", "renderExtraFooter", "renderMenu", "renderValue"]);
104
- var triggerRef = useRef(null);
105
- var targetRef = useRef(null);
106
- var listRef = useRef(null);
107
- var overlayRef = useRef(null);
108
- var searchInputRef = useRef(null);
109
- var treeViewRef = useRef(null);
110
104
  var _useCustom = useCustom('Picker', overrideLocale),
111
105
  rtl = _useCustom.rtl,
112
106
  locale = _useCustom.locale;
113
107
  var _useContext = useContext(TreeContext),
114
108
  inline = _useContext.inline;
109
+ var _usePickerRef = usePickerRef(ref, {
110
+ inline: inline
111
+ }),
112
+ trigger = _usePickerRef.trigger,
113
+ root = _usePickerRef.root,
114
+ target = _usePickerRef.target,
115
+ overlay = _usePickerRef.overlay,
116
+ list = _usePickerRef.list,
117
+ searchInput = _usePickerRef.searchInput,
118
+ treeView = _usePickerRef.treeView;
115
119
  var _useControlled = useControlled(controlledValue, defaultValue),
116
120
  value = _useControlled[0],
117
121
  setValue = _useControlled[1],
@@ -182,7 +186,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
182
186
  treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,
183
187
  saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;
184
188
  var activeNode = getTreeActiveNode(flattenNodes, value, valueKey);
185
- var getFormattedNodes = useCallback(function (render) {
189
+ var getFormattedNodes = function getFormattedNodes(render) {
186
190
  if (virtualized) {
187
191
  return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
188
192
  searchKeyword: searchKeywordState
@@ -193,20 +197,20 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
193
197
  return filteredData.map(function (dataItem, index) {
194
198
  return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
195
199
  });
196
- }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized]);
197
- var focusActiveNode = useCallback(function () {
198
- if (listRef.current) {
200
+ };
201
+ var focusActiveNode = function focusActiveNode() {
202
+ if (list.current) {
199
203
  focusToActiveTreeNode({
200
- list: listRef.current,
204
+ list: list.current,
201
205
  valueKey: valueKey,
202
206
  selector: "." + treePrefix('node-active'),
203
207
  activeNode: activeNode,
204
208
  virtualized: virtualized,
205
- container: treeViewRef.current,
209
+ container: treeView.current,
206
210
  formattedNodes: getFormattedNodes()
207
211
  });
208
212
  }
209
- }, [treePrefix, activeNode, getFormattedNodes, valueKey, virtualized]);
213
+ };
210
214
  useEffect(function () {
211
215
  setFilteredData(data, searchKeywordState);
212
216
  setTreeData(data);
@@ -222,7 +226,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
222
226
  useEffect(function () {
223
227
  setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
224
228
  }, [searchKeyword, setSearchKeyword]);
225
- var getDropData = useCallback(function (nodeData) {
229
+ var getDropData = function getDropData(nodeData) {
226
230
  var options = {
227
231
  valueKey: valueKey,
228
232
  childrenKey: childrenKey
@@ -240,7 +244,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
240
244
  dropNodePosition: dropNodePosition
241
245
  }, options)
242
246
  };
243
- }, [dragNode, valueKey, childrenKey, dropNodePosition]);
247
+ };
244
248
  var getTreeNodeProps = function getTreeNodeProps(node, layer, index) {
245
249
  var draggingNode = dragNode !== null && dragNode !== void 0 ? dragNode : {};
246
250
  return {
@@ -275,8 +279,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
275
279
  onDragEnd: handleDragEnd,
276
280
  onDrop: handleDrop,
277
281
  onExpand: handleExpand,
278
- onRenderTreeNode: renderTreeNode,
279
- onRenderTreeIcon: renderTreeIcon
282
+ renderTreeNode: renderTreeNode,
283
+ renderTreeIcon: renderTreeIcon
280
284
  };
281
285
  };
282
286
 
@@ -289,8 +293,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
289
293
  return node[childrenKey];
290
294
  });
291
295
  }, [childrenKey, data, valueKey]);
292
- var handleSelect = useCallback(function (nodeData, event) {
293
- var _targetRef$current, _triggerRef$current, _triggerRef$current$c;
296
+ var handleSelect = useEventCallback(function (nodeData, event) {
297
+ var _target$current, _trigger$current, _trigger$current$clos;
294
298
  if (!nodeData) {
295
299
  return;
296
300
  }
@@ -304,10 +308,10 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
304
308
  onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(nodeData, getPathTowardsItem(nodeData, function (item) {
305
309
  return itemParentMap.get(item[valueKey]);
306
310
  }));
307
- (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();
308
- (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);
309
- }, [valueKey, isControlled, onChange, onSelect, onSelectItem, setValue, itemParentMap]);
310
- var handleExpand = useCallback(function (node) {
311
+ (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
312
+ (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
313
+ });
314
+ var handleExpand = useEventCallback(function (node) {
311
315
  var nextExpandItemValues = toggleExpand({
312
316
  node: node,
313
317
  isExpand: !node.expand,
@@ -322,8 +326,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
322
326
  if (_isFunction(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {
323
327
  loadChildren(node, getChildren);
324
328
  }
325
- }, [valueKey, childrenKey, expandItemValues, getChildren, onExpand, setExpandItemValues, loadChildren]);
326
- var handleDragStart = useCallback(function (nodeData, event) {
329
+ });
330
+ var handleDragStart = useEventCallback(function (nodeData, event) {
327
331
  if (draggable) {
328
332
  var _event$dataTransfer;
329
333
  var dragMoverNode = createDragPreview(stringifyTreeNodeLabel(nodeData[labelKey]), treePrefix('drag-preview'));
@@ -332,8 +336,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
332
336
  setDragNode(flattenNodes[nodeData.refKey]);
333
337
  onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);
334
338
  }
335
- }, [draggable, labelKey, treePrefix, setDragNodeKeys, childrenKey, valueKey, setDragNode, flattenNodes, onDragStart]);
336
- var handleDragEnter = useCallback(function (nodeData, event) {
339
+ });
340
+ var handleDragEnter = useEventCallback(function (nodeData, event) {
337
341
  if (dragNodeKeys.some(function (d) {
338
342
  return shallowEqual(d, nodeData[valueKey]);
339
343
  })) {
@@ -344,8 +348,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
344
348
  setDropNodePosition(calDropNodePosition(event, treeNodesRefs[nodeData.refKey]));
345
349
  }
346
350
  onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter(nodeData, event);
347
- }, [dragNode, treeNodesRefs, dragNodeKeys, onDragEnter, setDragOverNodeKey, setDropNodePosition, valueKey]);
348
- var handleDragOver = useCallback(function (nodeData, event) {
351
+ });
352
+ var handleDragOver = useEventCallback(function (nodeData, event) {
349
353
  if (dragNodeKeys.some(function (d) {
350
354
  return shallowEqual(d, nodeData[valueKey]);
351
355
  })) {
@@ -358,18 +362,18 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
358
362
  setDropNodePosition(lastDropNodePosition);
359
363
  }
360
364
  onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver(nodeData, event);
361
- }, [dragNode, dragNodeKeys, dragOverNodeKey, dropNodePosition, onDragOver, setDropNodePosition, treeNodesRefs, valueKey]);
362
- var handleDragLeave = useCallback(function (nodeData, event) {
365
+ });
366
+ var handleDragLeave = useEventCallback(function (nodeData, event) {
363
367
  onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(nodeData, event);
364
- }, [onDragLeave]);
365
- var handleDragEnd = useCallback(function (nodeData, event) {
368
+ });
369
+ var handleDragEnd = useEventCallback(function (nodeData, event) {
366
370
  removeDragPreview();
367
371
  setDragNode(null);
368
372
  setDragNodeKeys([]);
369
373
  setDragOverNodeKey(null);
370
374
  onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(nodeData, event);
371
- }, [setDragNode, setDragNodeKeys, setDragOverNodeKey, onDragEnd]);
372
- var handleDrop = useCallback(function (nodeData, event) {
375
+ });
376
+ var handleDrop = useEventCallback(function (nodeData, event) {
373
377
  if (dragNodeKeys.some(function (d) {
374
378
  return shallowEqual(d, nodeData[valueKey]);
375
379
  })) {
@@ -382,34 +386,26 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
382
386
  setDragNode(null);
383
387
  setDragNodeKeys([]);
384
388
  setDragOverNodeKey(null);
385
- }, [dragNodeKeys, setDragNode, setDragOverNodeKey, setDragNodeKeys, onDrop, getDropData, valueKey]);
386
- var handleOpen = useCallback(function () {
387
- var _triggerRef$current2, _triggerRef$current2$;
388
- (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : (_triggerRef$current2$ = _triggerRef$current2.open) === null || _triggerRef$current2$ === void 0 ? void 0 : _triggerRef$current2$.call(_triggerRef$current2);
389
+ });
390
+ var handleOpen = useEventCallback(function () {
391
+ var _trigger$current2, _trigger$current2$ope;
392
+ (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$ope = _trigger$current2.open) === null || _trigger$current2$ope === void 0 ? void 0 : _trigger$current2$ope.call(_trigger$current2);
389
393
  focusActiveNode();
390
394
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
391
395
  setActive(true);
392
- }, [focusActiveNode, onOpen]);
393
- var handleClose = useCallback(function () {
394
- var _triggerRef$current3, _triggerRef$current3$, _targetRef$current2;
395
- (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : (_triggerRef$current3$ = _triggerRef$current3.close) === null || _triggerRef$current3$ === void 0 ? void 0 : _triggerRef$current3$.call(_triggerRef$current3);
396
+ });
397
+ var handleClose = useEventCallback(function () {
398
+ var _trigger$current3, _trigger$current3$clo, _target$current2;
399
+ (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : (_trigger$current3$clo = _trigger$current3.close) === null || _trigger$current3$clo === void 0 ? void 0 : _trigger$current3$clo.call(_trigger$current3);
396
400
  setSearchKeyword('');
397
401
  setActive(false);
398
402
  setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);
399
403
  /**
400
404
  * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu
401
405
  */
402
- (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.focus();
403
- }, [activeNode, setSearchKeyword, valueKey]);
404
- usePublicMethods(ref, {
405
- rootRef: inline ? treeViewRef : undefined,
406
- triggerRef: triggerRef,
407
- overlayRef: overlayRef,
408
- targetRef: targetRef,
409
- listRef: listRef,
410
- inline: inline
406
+ (_target$current2 = target.current) === null || _target$current2 === void 0 ? void 0 : _target$current2.focus();
411
407
  });
412
- var handleFocusItem = useCallback(function (key) {
408
+ var handleFocusItem = useEventCallback(function (key) {
413
409
  var focusableItems = getFocusableItems(filteredData, {
414
410
  disabledItemValues: disabledItemValues,
415
411
  valueKey: valueKey,
@@ -434,8 +430,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
434
430
  if (key === KEY_VALUES.UP) {
435
431
  focusPreviousItem(focusProps);
436
432
  }
437
- }, [searchKeywordState, expandItemValues, filteredData, focusItemValue, treeNodesRefs, treePrefix, valueKey, childrenKey, disabledItemValues]);
438
- var handleLeftArrow = useCallback(function () {
433
+ });
434
+ var handleLeftArrow = useEventCallback(function () {
439
435
  if (_isNil(focusItemValue)) return;
440
436
  var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
441
437
  leftArrowHandler({
@@ -449,8 +445,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
449
445
  focusTreeNode(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, "." + treePrefix('node-label'));
450
446
  }
451
447
  });
452
- }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey, childrenKey]);
453
- var handleRightArrow = useCallback(function () {
448
+ });
449
+ var handleRightArrow = useEventCallback(function () {
454
450
  if (_isNil(focusItemValue)) return;
455
451
  var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
456
452
  rightArrowHandler({
@@ -462,30 +458,30 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
462
458
  handleFocusItem(KEY_VALUES.DOWN);
463
459
  }
464
460
  });
465
- }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
466
- var selectActiveItem = useCallback(function (event) {
461
+ });
462
+ var selectActiveItem = useEventCallback(function (event) {
467
463
  if (_isNil(focusItemValue)) return;
468
464
  var activeItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
469
465
  handleSelect(activeItem, event);
470
- }, [flattenNodes, valueKey, focusItemValue, handleSelect]);
471
- var handleClean = useCallback(function (event) {
466
+ });
467
+ var handleClean = useEventCallback(function (event) {
472
468
  var nullValue = null;
473
469
  var target = event.target;
474
- // exclude searchBar
475
- if (target.matches('div[role="searchbox"] > input') || disabled || !cleanable) {
470
+ // exclude searchbox
471
+ if (target.matches('input[role="searchbox"]') || disabled || !cleanable) {
476
472
  return;
477
473
  }
478
474
  if (!isControlled) {
479
475
  setValue(null);
480
476
  }
481
477
  onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);
482
- }, [cleanable, disabled, onChange, setValue, isControlled]);
478
+ });
483
479
  var onPickerKeydown = useToggleKeyDownEvent(_extends({
484
480
  toggle: !activeNode || !active,
485
- triggerRef: triggerRef,
486
- targetRef: targetRef,
487
- overlayRef: overlayRef,
488
- searchInputRef: searchInputRef,
481
+ trigger: trigger,
482
+ target: target,
483
+ overlay: overlay,
484
+ searchInput: searchInput,
489
485
  active: active,
490
486
  onExit: handleClean,
491
487
  onClose: handleClose,
@@ -504,8 +500,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
504
500
  });
505
501
  }
506
502
  }, rest));
507
- var handleTreeKeyDown = useCallback(function (event) {
508
- if (!treeViewRef.current) {
503
+ var handleTreeKeyDown = useEventCallback(function (event) {
504
+ if (!treeView.current) {
509
505
  return;
510
506
  }
511
507
  _onMenuKeyDown(event, {
@@ -519,7 +515,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
519
515
  right: rtl ? handleLeftArrow : handleRightArrow,
520
516
  enter: selectActiveItem
521
517
  });
522
- }, [handleFocusItem, handleLeftArrow, handleRightArrow, rtl, selectActiveItem]);
518
+ });
523
519
  var renderNode = function renderNode(node, index, layer) {
524
520
  if (!node.visible) {
525
521
  return null;
@@ -546,7 +542,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
546
542
  return saveTreeNodeRef(_ref, node.refKey);
547
543
  }
548
544
  })), /*#__PURE__*/React.createElement("div", {
549
- className: treePrefix('children')
545
+ className: treePrefix('group'),
546
+ role: "group"
550
547
  }, nodes.map(function (child, i) {
551
548
  return renderNode(child, i, layer);
552
549
  }), showIndentLine && /*#__PURE__*/React.createElement("span", {
@@ -588,18 +585,14 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
588
585
  var _withTreeClassPrefix;
589
586
  var classes = withTreeClassPrefix((_withTreeClassPrefix = {}, _withTreeClassPrefix[className !== null && className !== void 0 ? className : ''] = inline, _withTreeClassPrefix.virtualized = virtualized, _withTreeClassPrefix));
590
587
  var formattedNodes = getFormattedNodes(renderNode);
591
- var styles = inline ? _extends({
592
- height: height
593
- }, style) : {};
594
- return /*#__PURE__*/React.createElement("div", {
595
- role: "tree",
596
- id: id ? id + "-listbox" : undefined,
597
- ref: treeViewRef,
588
+ return /*#__PURE__*/React.createElement(TreeView, {
589
+ treeRootClassName: treePrefix('root'),
590
+ ref: inline ? root : treeView,
598
591
  className: classes,
599
- style: styles,
592
+ style: inline ? _extends({
593
+ height: height
594
+ }, style) : {},
600
595
  onKeyDown: inline ? handleTreeKeyDown : undefined
601
- }, /*#__PURE__*/React.createElement("div", {
602
- className: treePrefix('nodes')
603
596
  }, virtualized ? /*#__PURE__*/React.createElement(AutoSizer, {
604
597
  defaultHeight: inline ? height : menuMaxHeight,
605
598
  style: {
@@ -609,15 +602,15 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
609
602
  }, function (_ref5) {
610
603
  var height = _ref5.height;
611
604
  return /*#__PURE__*/React.createElement(List, _extends({
612
- ref: listRef,
605
+ ref: list,
613
606
  height: height,
614
607
  itemSize: itemSize,
615
608
  itemCount: formattedNodes.length,
616
609
  itemData: formattedNodes
617
610
  }, listProps), renderVirtualListNode);
618
- }) : formattedNodes));
611
+ }) : formattedNodes);
619
612
  };
620
- var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
613
+ var renderTreeView = function renderTreeView(positionProps, speakerRef) {
621
614
  var left = positionProps.left,
622
615
  top = positionProps.top,
623
616
  className = positionProps.className;
@@ -626,18 +619,18 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
626
619
  left: left,
627
620
  top: top
628
621
  });
629
- return /*#__PURE__*/React.createElement(PickerOverlay, {
622
+ return /*#__PURE__*/React.createElement(PickerPopup, {
630
623
  autoWidth: menuAutoWidth,
631
624
  className: classes,
632
625
  style: mergedMenuStyle,
633
- ref: mergeRefs(overlayRef, speakerRef),
626
+ ref: mergeRefs(overlay, speakerRef),
634
627
  onKeyDown: onPickerKeydown,
635
- target: triggerRef
628
+ target: trigger
636
629
  }, searchable ? /*#__PURE__*/React.createElement(SearchBar, {
637
630
  placeholder: locale.searchPlaceholder,
638
631
  onChange: handleSearch,
639
632
  value: searchKeywordState,
640
- inputRef: searchInputRef
633
+ inputRef: searchInput
641
634
  }) : null, renderMenu ? renderMenu(renderTree()) : renderTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
642
635
  };
643
636
 
@@ -670,20 +663,22 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
670
663
  return renderTree();
671
664
  }
672
665
  return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
666
+ id: id,
667
+ popupType: "tree",
673
668
  pickerProps: _pick(props, pickTriggerPropKeys),
674
- ref: triggerRef,
669
+ ref: trigger,
675
670
  placement: placement,
676
671
  onEnter: handleOpen,
677
672
  onEntered: onEntered,
678
673
  onExit: createChainedFunction(onClose, onExit),
679
674
  onExited: createChainedFunction(handleClose, onExited),
680
- speaker: renderDropdownMenu
675
+ speaker: renderTreeView
681
676
  }, /*#__PURE__*/React.createElement(Component, {
682
677
  className: classes,
683
- style: style
678
+ style: style,
679
+ ref: root
684
680
  }, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, _omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys, ['cascade'])), {
685
- id: id,
686
- ref: targetRef,
681
+ ref: target,
687
682
  appearance: appearance,
688
683
  onKeyDown: onPickerKeydown,
689
684
  onClean: createChainedFunction(handleClean, onClean),
@@ -693,7 +688,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
693
688
  hasValue: hasValidValue,
694
689
  active: active,
695
690
  placement: placement,
696
- inputValue: value
691
+ inputValue: value,
692
+ focusItemValue: focusItemValue
697
693
  }), selectedElement || locale.placeholder)));
698
694
  });
699
695
  TreePicker.displayName = 'TreePicker';
@@ -49,5 +49,6 @@ export declare const KEY_VALUES: {
49
49
  export declare enum DATERANGE_DISABLED_TARGET {
50
50
  CALENDAR = "CALENDAR",
51
51
  TOOLBAR_BUTTON_OK = "TOOLBAR_BUTTON_OK",
52
- TOOLBAR_SHORTCUT = "TOOLBAR_SHORTCUT"
52
+ TOOLBAR_SHORTCUT = "TOOLBAR_SHORTCUT",
53
+ INPUT = "INPUT"
53
54
  }
@@ -60,4 +60,5 @@ export var DATERANGE_DISABLED_TARGET;
60
60
  DATERANGE_DISABLED_TARGET["CALENDAR"] = "CALENDAR";
61
61
  DATERANGE_DISABLED_TARGET["TOOLBAR_BUTTON_OK"] = "TOOLBAR_BUTTON_OK";
62
62
  DATERANGE_DISABLED_TARGET["TOOLBAR_SHORTCUT"] = "TOOLBAR_SHORTCUT";
63
+ DATERANGE_DISABLED_TARGET["INPUT"] = "INPUT";
63
64
  })(DATERANGE_DISABLED_TARGET || (DATERANGE_DISABLED_TARGET = {}));
@@ -63,7 +63,6 @@ export declare const shouldOnlyRenderTime: (format: string) => boolean;
63
63
  * @return date[]
64
64
  */
65
65
  export declare function getMonthView(monthDate: Date, isoWeek: boolean): Date[];
66
- export declare function getDateMask(formatStr: string): (string | RegExp)[];
67
66
  /**
68
67
  * Copy the time of one date to another
69
68
  */
@@ -130,11 +130,6 @@ export function getMonthView(monthDate, isoWeek) {
130
130
  }
131
131
  return weeks;
132
132
  }
133
- export function getDateMask(formatStr) {
134
- return Array.from(formatStr).map(function (i) {
135
- return i.match(/[A-Za-z]/) ? /[\d|A-Za-z]/ : i;
136
- });
137
- }
138
133
 
139
134
  /**
140
135
  * Copy the time of one date to another
@@ -0,0 +1,2 @@
1
+ declare function getStringLength(str: string): number;
2
+ export default getStringLength;
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ function getStringLength(str) {
3
+ var length = 0;
4
+ Array.from(str).forEach(function (char) {
5
+ if (char.charCodeAt(0) > 255) {
6
+ length += 2;
7
+ } else {
8
+ length++;
9
+ }
10
+ });
11
+ return length;
12
+ }
13
+ export default getStringLength;
@@ -24,6 +24,7 @@ export { default as scrollTopAnimation } from './scrollTopAnimation';
24
24
  export { default as appendTooltip } from './appendTooltip';
25
25
  export { default as render } from './render';
26
26
  export { default as safeSetSelection } from './safeSetSelection';
27
+ export { default as getStringLength } from './getStringLength';
27
28
  /** Hooks **/
28
29
  export { default as useClassNames } from './useClassNames';
29
30
  export { default as useEventListener } from './useEventListener';
@@ -27,6 +27,7 @@ export { default as scrollTopAnimation } from './scrollTopAnimation';
27
27
  export { default as appendTooltip } from './appendTooltip';
28
28
  export { default as render } from './render';
29
29
  export { default as safeSetSelection } from './safeSetSelection';
30
+ export { default as getStringLength } from './getStringLength';
30
31
 
31
32
  /** Hooks **/
32
33
  export { default as useClassNames } from './useClassNames';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.49.0",
3
+ "version": "5.51.0",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -0,0 +1,10 @@
1
+ .combobox-indicator-icon(@right:@padding-x) {
2
+ display: flex;
3
+ align-items: center;
4
+ margin-left: 2px;
5
+ position: absolute;
6
+ top: @padding-y;
7
+ right: @right;
8
+ height: @line-height-computed;
9
+ font-size: 12px;
10
+ }
@@ -849,12 +849,10 @@
849
849
  @zindex-date-range-picker-calendar-dropdown: 1;
850
850
  @zindex-date-range-picker-table-cell-content: 1;
851
851
  @zindex-badge-content: 1;
852
- @zindex-input: 2;
853
- @zindex-input-group-icon: 4;
854
852
  @zindex-dropdown: 5;
855
853
  @zindex-picker-toggle: 5; // The same with zindex-dropdown
856
854
  @zindex-picker-input: (@zindex-picker-toggle + 1); // Greater than picker toggle
857
- @zindex-picker-menu: (@zindex-picker-toggle + 2); // Greater than picker toggle and input
855
+ @zindex-picker-popup: (@zindex-picker-toggle + 2); // Greater than picker toggle and input
858
856
  @zindex-dropdown-a: 10;
859
857
  @zindex-list-helper: 99;
860
858
  @zindex-navbar: 1000;
@@ -1,59 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { ListProps, ListHandle } from '../Windowing';
4
- import { StandardProps, ItemDataType } from '../@types/common';
5
- export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
6
- classPrefix: string;
7
- data?: ItemDataType[];
8
- group?: boolean;
9
- groupBy?: string;
10
- disabledItemValues?: any[];
11
- activeItemValues?: any[];
12
- focusItemValue?: any;
13
- maxHeight?: number;
14
- valueKey?: string;
15
- labelKey?: string;
16
- className?: string;
17
- style?: React.CSSProperties;
18
- dropdownMenuItemAs: React.ElementType | string;
19
- dropdownMenuItemClassPrefix?: string;
20
- dropdownMenuItemProps?: any;
21
- rowHeight?: number;
22
- rowGroupHeight?: number;
23
- virtualized?: boolean;
24
- listProps?: Partial<ListProps>;
25
- listRef?: React.Ref<ListHandle>;
26
- /** Custom selected option */
27
- renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
28
- renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
29
- onSelect?: Multiple extends true ? (value: any, item: any, event: React.MouseEvent, checked: boolean) => void : Multiple extends false ? (value: any, item: any, event: React.MouseEvent) => void : any;
30
- onGroupTitleClick?: (event: React.MouseEvent) => void;
31
- }
32
- export declare type DropdownMenuComponent = React.ForwardRefExoticComponent<DropdownMenuProps> & {
33
- <Multiple = false>(props: DropdownMenuProps<Multiple>): React.ReactElement | null;
34
- };
35
- declare const DropdownMenu: DropdownMenuComponent;
36
- export declare const dropdownMenuPropTypes: {
37
- classPrefix: PropTypes.Validator<string>;
38
- className: PropTypes.Requireable<string>;
39
- dropdownMenuItemAs: PropTypes.Validator<PropTypes.ReactComponentLike>;
40
- dropdownMenuItemClassPrefix: PropTypes.Requireable<string>;
41
- data: PropTypes.Requireable<any[]>;
42
- group: PropTypes.Requireable<boolean>;
43
- disabledItemValues: PropTypes.Requireable<any[]>;
44
- activeItemValues: PropTypes.Requireable<any[]>;
45
- focusItemValue: PropTypes.Requireable<any>;
46
- maxHeight: PropTypes.Requireable<number>;
47
- valueKey: PropTypes.Requireable<string>;
48
- labelKey: PropTypes.Requireable<string>;
49
- style: PropTypes.Requireable<object>;
50
- renderMenuItem: PropTypes.Requireable<(...args: any[]) => any>;
51
- renderMenuGroup: PropTypes.Requireable<(...args: any[]) => any>;
52
- onSelect: PropTypes.Requireable<(...args: any[]) => any>;
53
- onGroupTitleClick: PropTypes.Requireable<(...args: any[]) => any>;
54
- virtualized: PropTypes.Requireable<boolean>;
55
- listProps: PropTypes.Requireable<any>;
56
- rowHeight: PropTypes.Requireable<number>;
57
- rowGroupHeight: PropTypes.Requireable<number>;
58
- };
59
- export default DropdownMenu;
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { WithAsProps } from '../@types/common';
3
- export interface DropdownMenuGroupProps extends WithAsProps, React.HTMLAttributes<HTMLDivElement> {
4
- }
5
- declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
6
- export default DropdownMenuGroup;