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
@@ -13,7 +13,7 @@ var _pick = _interopRequireDefault(require("lodash/pick"));
13
13
  var _omit = _interopRequireDefault(require("lodash/omit"));
14
14
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
15
15
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
16
- var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
16
+ var _TreeView = _interopRequireDefault(require("./TreeView"));
17
17
  var _Checkbox = _interopRequireDefault(require("../Checkbox"));
18
18
  var _utils = require("./utils");
19
19
  var _treeUtils = require("../utils/treeUtils");
@@ -120,15 +120,12 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
120
120
  var _useState2 = (0, _react.useState)(),
121
121
  selectedPaths = _useState2[0],
122
122
  setSelectedPaths = _useState2[1];
123
- var triggerRef = (0, _react.useRef)(null);
124
- var overlayRef = (0, _react.useRef)(null);
125
- var targetRef = (0, _react.useRef)(null);
126
- var searchInputRef = (0, _react.useRef)(null);
127
- (0, _Picker.usePublicMethods)(ref, {
128
- triggerRef: triggerRef,
129
- overlayRef: overlayRef,
130
- targetRef: targetRef
131
- });
123
+ var _usePickerRef = (0, _Picker.usePickerRef)(ref),
124
+ trigger = _usePickerRef.trigger,
125
+ root = _usePickerRef.root,
126
+ target = _usePickerRef.target,
127
+ overlay = _usePickerRef.overlay,
128
+ searchInput = _usePickerRef.searchInput;
132
129
  var _useCustom = (0, _utils3.useCustom)('Picker', overrideLocale),
133
130
  locale = _useCustom.locale,
134
131
  rtl = _useCustom.rtl;
@@ -145,7 +142,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
145
142
  valueKey: valueKey,
146
143
  defaultLayer: selectedPaths !== null && selectedPaths !== void 0 && selectedPaths.length ? selectedPaths.length - 1 : 0,
147
144
  target: function target() {
148
- return overlayRef.current;
145
+ return overlay.current;
149
146
  },
150
147
  callback: (0, _react.useCallback)(function (value) {
151
148
  var _getColumnsAndPaths = (0, _utils2.getColumnsAndPaths)(data, flattenData.find(function (item) {
@@ -179,16 +176,16 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
179
176
  var _useState3 = (0, _react.useState)(''),
180
177
  searchKeyword = _useState3[0],
181
178
  setSearchKeyword = _useState3[1];
182
- var handleEntered = (0, _react.useCallback)(function () {
179
+ var handleEntered = (0, _utils3.useEventCallback)(function () {
183
180
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
184
181
  setActive(true);
185
- }, [onOpen]);
186
- var handleExited = (0, _react.useCallback)(function () {
182
+ });
183
+ var handleExited = (0, _utils3.useEventCallback)(function () {
187
184
  setActive(false);
188
185
  setSearchKeyword('');
189
- }, []);
190
- var handleSelect = (0, _react.useCallback)(function (node, cascadePaths, event) {
191
- var _node$childrenKey, _node$childrenKey2, _triggerRef$current, _triggerRef$current$u;
186
+ });
187
+ var handleSelect = (0, _utils3.useEventCallback)(function (node, cascadePaths, event) {
188
+ var _node$childrenKey, _node$childrenKey2, _trigger$current, _trigger$current$upda;
192
189
  setSelectedPaths(cascadePaths);
193
190
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
194
191
  var columnIndex = cascadePaths.length;
@@ -201,7 +198,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
201
198
  children.then(function (data) {
202
199
  node.loading = false;
203
200
  node[childrenKey] = data;
204
- if (targetRef.current || inline) {
201
+ if (target.current || inline) {
205
202
  addFlattenData(data, node);
206
203
  addColumn(data, columnIndex);
207
204
  }
@@ -218,9 +215,9 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
218
215
  // Removes subsequent columns of the current column when the clicked node is a leaf node.
219
216
  removeColumnByIndex(columnIndex);
220
217
  }
221
- (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$u = _triggerRef$current.updatePosition) === null || _triggerRef$current$u === void 0 ? void 0 : _triggerRef$current$u.call(_triggerRef$current);
222
- }, [onSelect, getChildren, childrenKey, inline, addFlattenData, addColumn, removeColumnByIndex]);
223
- var handleCheck = (0, _react.useCallback)(function (node, event, checked) {
218
+ (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$upda = _trigger$current.updatePosition) === null || _trigger$current$upda === void 0 ? void 0 : _trigger$current$upda.call(_trigger$current);
219
+ });
220
+ var handleCheck = (0, _utils3.useEventCallback)(function (node, event, checked) {
224
221
  var nodeValue = node[valueKey];
225
222
  var nextValue = [];
226
223
  if (cascade) {
@@ -238,38 +235,38 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
238
235
  setValue(nextValue);
239
236
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
240
237
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(nextValue, node, checked, event);
241
- }, [cascade, onChange, onCheck, setValue, splitValue, value, valueKey]);
242
- var handleClean = (0, _react.useCallback)(function (event) {
243
- if (disabled || !targetRef.current) {
238
+ });
239
+ var handleClean = (0, _utils3.useEventCallback)(function (event) {
240
+ if (disabled || !target.current) {
244
241
  return;
245
242
  }
246
243
  setSelectedPaths([]);
247
244
  setValue([]);
248
245
  setColumnData([data]);
249
246
  onChange === null || onChange === void 0 ? void 0 : onChange([], event);
250
- }, [data, disabled, onChange, setColumnData, setValue]);
251
- var handleMenuPressEnter = (0, _react.useCallback)(function (event) {
252
- var _overlayRef$current;
247
+ });
248
+ var handleMenuPressEnter = (0, _utils3.useEventCallback)(function (event) {
249
+ var _overlay$current;
253
250
  var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
254
251
  return item[valueKey] === focusItemValue;
255
252
  });
256
- var checkbox = (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.querySelector("[data-key=\"" + focusItemValue + "\"] [type=\"checkbox\"]");
253
+ var checkbox = (_overlay$current = overlay.current) === null || _overlay$current === void 0 ? void 0 : _overlay$current.querySelector("[data-key=\"" + focusItemValue + "\"] [type=\"checkbox\"]");
257
254
  if (checkbox) {
258
255
  handleCheck(focusItem, event, (checkbox === null || checkbox === void 0 ? void 0 : checkbox.getAttribute('aria-checked')) !== 'true');
259
256
  }
260
- }, [data, focusItemValue, handleCheck, valueKey]);
257
+ });
261
258
  var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({
262
259
  toggle: !focusItemValue || !active,
263
- triggerRef: triggerRef,
264
- targetRef: targetRef,
265
- overlayRef: overlayRef,
266
- searchInputRef: searchInputRef,
260
+ trigger: trigger,
261
+ target: target,
262
+ overlay: overlay,
263
+ searchInput: searchInput,
267
264
  active: active,
268
265
  onExit: handleClean,
269
266
  onMenuKeyDown: onFocusItem,
270
267
  onMenuPressEnter: handleMenuPressEnter
271
268
  }, rest));
272
- var handleSearch = (0, _react.useCallback)(function (value, event) {
269
+ var handleSearch = (0, _utils3.useEventCallback)(function (value, event) {
273
270
  setSearchKeyword(value);
274
271
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
275
272
  if (value) {
@@ -278,8 +275,8 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
278
275
  setLayer(selectedPaths.length - 1);
279
276
  }
280
277
  setKeys([]);
281
- }, [onSearch, selectedPaths, setKeys, setLayer]);
282
- var getSearchResult = (0, _react.useCallback)(function () {
278
+ });
279
+ var getSearchResult = function getSearchResult() {
283
280
  var items = [];
284
281
  var result = flattenData.filter(function (item) {
285
282
  if (uncheckableItemValues.some(function (value) {
@@ -301,7 +298,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
301
298
  }
302
299
  }
303
300
  return items;
304
- }, [flattenData, labelKey, searchKeyword, uncheckableItemValues, valueKey]);
301
+ };
305
302
  var renderSearchRow = function renderSearchRow(item, key) {
306
303
  var _extends2;
307
304
  var nodes = (0, _treeUtils.getNodeParents)(item);
@@ -337,9 +334,10 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
337
334
  'cascader-row-focus': item[valueKey] === focusItemValue
338
335
  });
339
336
  return /*#__PURE__*/_react.default.createElement("div", {
337
+ role: "treeitem",
338
+ "aria-disabled": disabled,
340
339
  key: key,
341
340
  className: itemClasses,
342
- "aria-disabled": disabled,
343
341
  "data-key": item[valueKey]
344
342
  }, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
345
343
  disabled: disabled,
@@ -368,12 +366,13 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
368
366
  var items = getSearchResult();
369
367
  return /*#__PURE__*/_react.default.createElement("div", {
370
368
  className: prefix('cascader-search-panel'),
371
- "data-layer": 0
369
+ "data-layer": 0,
370
+ role: "tree"
372
371
  }, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement("div", {
373
372
  className: prefix('none')
374
373
  }, locale.noResultsText));
375
374
  };
376
- var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
375
+ var renderTreeView = function renderTreeView(positionProps, speakerRef) {
377
376
  var _ref = positionProps || {},
378
377
  left = _ref.left,
379
378
  top = _ref.top,
@@ -385,19 +384,18 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
385
384
  var classes = merge(className, menuClassName, prefix('cascader-menu', 'multi-cascader-menu', {
386
385
  inline: inline
387
386
  }));
388
- return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
389
- ref: (0, _utils3.mergeRefs)(overlayRef, speakerRef),
387
+ return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
388
+ ref: (0, _utils3.mergeRefs)(overlay, speakerRef),
390
389
  className: classes,
391
390
  style: styles,
392
- target: triggerRef,
391
+ target: trigger,
393
392
  onKeyDown: onPickerKeyDown
394
393
  }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {
395
394
  placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
396
395
  onChange: handleSearch,
397
396
  value: searchKeyword,
398
- inputRef: searchInputRef
399
- }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {
400
- id: id ? id + "-listbox" : undefined,
397
+ inputRef: searchInput
398
+ }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_TreeView.default, {
401
399
  cascade: cascade,
402
400
  menuWidth: menuWidth,
403
401
  menuHeight: menuHeight,
@@ -447,25 +445,28 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
447
445
  classes = _usePickerClassName[0],
448
446
  usedClassNamePropKeys = _usePickerClassName[1];
449
447
  if (inline) {
450
- return renderDropdownMenu();
448
+ return renderTreeView();
451
449
  }
452
450
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
451
+ id: id,
452
+ popupType: "tree",
453
+ multiple: true,
453
454
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
454
- ref: triggerRef,
455
+ ref: trigger,
455
456
  placement: placement,
456
457
  onEnter: (0, _utils3.createChainedFunction)(handleEntered, onEnter),
457
458
  onExited: (0, _utils3.createChainedFunction)(handleExited, onExited),
458
459
  onExit: (0, _utils3.createChainedFunction)(onClose, onExit),
459
- speaker: renderDropdownMenu
460
+ speaker: renderTreeView
460
461
  }, /*#__PURE__*/_react.default.createElement(Component, {
461
462
  className: classes,
462
- style: style
463
+ style: style,
464
+ ref: root
463
465
  }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
464
- id: id,
465
466
  as: toggleAs,
466
467
  appearance: appearance,
467
468
  disabled: disabled,
468
- ref: targetRef,
469
+ ref: target,
469
470
  onClean: (0, _utils3.createChainedFunction)(handleClean, onClean),
470
471
  onKeyDown: onPickerKeyDown,
471
472
  cleanable: cleanable && !disabled,
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  import { ValueType } from './MultiCascader';
4
- export interface DropdownMenuProps extends WithAsProps {
4
+ export interface TreeViewProps extends WithAsProps {
5
5
  disabledItemValues: ValueType;
6
6
  value: ValueType;
7
7
  childrenKey: string;
@@ -21,5 +21,5 @@ export interface DropdownMenuProps extends WithAsProps {
21
21
  /**
22
22
  * TODO: reuse Menu from Cascader for consistent behavior
23
23
  */
24
- declare const DropdownMenu: RsRefForwardingComponent<'div', DropdownMenuProps>;
25
- export default DropdownMenu;
24
+ declare const TreeView: RsRefForwardingComponent<'div', TreeViewProps>;
25
+ export default TreeView;
@@ -1,14 +1,12 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
5
  exports.__esModule = true;
7
6
  exports.default = void 0;
8
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _react = _interopRequireDefault(require("react"));
12
10
  var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
13
11
  var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
14
12
  var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
@@ -20,7 +18,7 @@ var emptyArray = [];
20
18
  /**
21
19
  * TODO: reuse Menu from Cascader for consistent behavior
22
20
  */
23
- var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
21
+ var TreeView = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
24
22
  var _props$as = props.as,
25
23
  Component = _props$as === void 0 ? 'div' : _props$as,
26
24
  _props$classPrefix = props.classPrefix,
@@ -46,18 +44,24 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
46
44
  valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
47
45
  _props$labelKey = props.labelKey,
48
46
  labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
47
+ style = props.style,
49
48
  renderMenuItem = props.renderMenuItem,
50
49
  renderMenu = props.renderMenu,
51
50
  _onCheck = props.onCheck,
52
51
  onSelect = props.onSelect,
53
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "cascade", "cascadeData", "cascadePaths", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "uncheckableItemValues", "value", "valueKey", "labelKey", "renderMenuItem", "renderMenu", "onCheck", "onSelect"]);
52
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "cascade", "cascadeData", "cascadePaths", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "uncheckableItemValues", "value", "valueKey", "labelKey", "style", "renderMenuItem", "renderMenu", "onCheck", "onSelect"]);
54
53
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
55
54
  merge = _useClassNames.merge,
56
55
  prefix = _useClassNames.prefix;
57
56
  var classes = merge(className, prefix('items'));
58
- var _useCustom = (0, _utils.useCustom)('DropdownMenu'),
57
+ var _useCustom = (0, _utils.useCustom)(),
59
58
  rtl = _useCustom.rtl;
60
- var getCascadePaths = (0, _react.useCallback)(function (layer, node) {
59
+ var _useCombobox = (0, _Picker.useCombobox)(),
60
+ id = _useCombobox.id,
61
+ labelId = _useCombobox.labelId,
62
+ popupType = _useCombobox.popupType,
63
+ multiple = _useCombobox.multiple;
64
+ var getCascadePaths = function getCascadePaths(layer, node) {
61
65
  var paths = [];
62
66
  for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
63
67
  if (i < layer - 1 && cascadePaths) {
@@ -66,15 +70,21 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
66
70
  }
67
71
  paths.push(node);
68
72
  return paths;
69
- }, [cascadeData, cascadePaths]);
70
- var handleSelect = (0, _react.useCallback)(function (layer, node, event) {
73
+ };
74
+ var handleSelect = (0, _utils.useEventCallback)(function (layer, node, event) {
71
75
  var cascadePaths = getCascadePaths(layer + 1, node);
72
76
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
73
- }, [getCascadePaths, onSelect]);
74
- var renderCascadeNode = function renderCascadeNode(node, index, layer, focus, uncheckable) {
77
+ });
78
+ var renderCascadeNode = function renderCascadeNode(nodeProps) {
79
+ var node = nodeProps.node,
80
+ index = nodeProps.index,
81
+ layer = nodeProps.layer,
82
+ focus = nodeProps.focus,
83
+ uncheckable = nodeProps.uncheckable,
84
+ size = nodeProps.size;
75
85
  var children = node[childrenKey];
76
86
  var nodeValue = node[valueKey];
77
- var nodeLabel = node[labelKey];
87
+ var label = node[labelKey];
78
88
  var disabled = disabledItemValues.some(function (disabledValue) {
79
89
  return (0, _utils.shallowEqual)(disabledValue, nodeValue);
80
90
  });
@@ -90,8 +100,13 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
90
100
  valueKey: valueKey
91
101
  });
92
102
  }
93
- return /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenuCheckItem, {
103
+ return /*#__PURE__*/_react.default.createElement(_Picker.ListCheckItem, {
94
104
  as: "li",
105
+ role: "treeitem",
106
+ "aria-level": layer + 1,
107
+ "aria-setsize": size,
108
+ "aria-posinset": index + 1,
109
+ "aria-label": typeof label === 'string' ? label : undefined,
95
110
  key: layer + "-" + onlyKey,
96
111
  disabled: disabled,
97
112
  active: active,
@@ -111,73 +126,61 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
111
126
  return _onCheck === null || _onCheck === void 0 ? void 0 : _onCheck(node, event, checked);
112
127
  },
113
128
  checkable: !uncheckable
114
- }, renderMenuItem ? renderMenuItem(nodeLabel, node) : nodeLabel, children ? /*#__PURE__*/_react.default.createElement(Icon, {
129
+ }, renderMenuItem ? renderMenuItem(label, node) : label, children ? /*#__PURE__*/_react.default.createElement(Icon, {
115
130
  className: prefix('caret'),
116
131
  spin: node.loading
117
132
  }) : null);
118
133
  };
119
- var renderCascade = function renderCascade() {
120
- var styles = {
121
- width: cascadeData.length * menuWidth
122
- };
123
- var columnStyles = {
124
- height: menuHeight,
125
- width: menuWidth
126
- };
127
- var cascadeNodes = cascadeData.map(function (children, layer) {
128
- var uncheckableCount = 0;
129
- var onlyKey = layer + "_" + children.length;
130
- var menu = /*#__PURE__*/_react.default.createElement("ul", {
131
- role: "listbox"
132
- }, children.map(function (item, index) {
133
- var uncheckable = uncheckableItemValues.some(function (uncheckableValue) {
134
- return (0, _utils.shallowEqual)(uncheckableValue, item[valueKey]);
135
- });
136
- if (uncheckable) {
137
- uncheckableCount++;
138
- }
139
- return renderCascadeNode(item, index, layer, cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]), uncheckable);
140
- }));
141
- var parentNode = cascadePaths[layer - 1];
142
- var columnClasses = prefix('column', {
143
- 'column-uncheckable': uncheckableCount === children.length
134
+ var columnStyles = {
135
+ height: menuHeight,
136
+ width: menuWidth
137
+ };
138
+ var cascadeNodes = cascadeData.map(function (children, layer) {
139
+ var uncheckableCount = 0;
140
+ var onlyKey = layer + "_" + children.length;
141
+ var menu = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children.map(function (item, index) {
142
+ var uncheckable = uncheckableItemValues.some(function (uncheckableValue) {
143
+ return (0, _utils.shallowEqual)(uncheckableValue, item[valueKey]);
144
144
  });
145
- return /*#__PURE__*/_react.default.createElement("div", {
146
- key: onlyKey,
147
- className: columnClasses,
148
- "data-layer": layer,
149
- style: columnStyles
150
- }, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
145
+ if (uncheckable) {
146
+ uncheckableCount++;
147
+ }
148
+ var focus = cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]);
149
+ return renderCascadeNode({
150
+ node: item,
151
+ index: index,
152
+ layer: layer,
153
+ focus: focus,
154
+ uncheckable: uncheckable,
155
+ size: children.length
156
+ });
157
+ }));
158
+ var parentNode = cascadePaths[layer - 1];
159
+ var columnClasses = prefix('column', {
160
+ 'column-uncheckable': uncheckableCount === children.length
151
161
  });
152
- return /*#__PURE__*/_react.default.createElement("div", {
153
- style: styles
154
- }, cascadeNodes);
155
- };
156
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
162
+ return /*#__PURE__*/_react.default.createElement("ul", {
163
+ role: "group",
164
+ key: onlyKey,
165
+ className: columnClasses,
166
+ "data-layer": layer,
167
+ style: columnStyles
168
+ }, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
169
+ });
170
+ var styles = (0, _extends2.default)({}, style, {
171
+ width: cascadeData.length * menuWidth
172
+ });
173
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
174
+ role: "tree",
175
+ id: id + "-" + popupType,
176
+ "aria-labelledby": labelId,
177
+ "aria-multiselectable": multiple
178
+ }, rest, {
157
179
  ref: ref,
158
- className: classes
159
- }), renderCascade());
180
+ className: classes,
181
+ style: styles
182
+ }), cascadeNodes);
160
183
  });
161
- DropdownMenu.displayName = 'DropdownMenu';
162
- DropdownMenu.propTypes = {
163
- classPrefix: _propTypes.default.string,
164
- data: _propTypes.default.array,
165
- disabledItemValues: _propTypes.default.array,
166
- value: _propTypes.default.array,
167
- childrenKey: _propTypes.default.string,
168
- valueKey: _propTypes.default.string,
169
- labelKey: _propTypes.default.string,
170
- menuWidth: _propTypes.default.number,
171
- menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
172
- className: _propTypes.default.string,
173
- cascade: _propTypes.default.bool,
174
- cascadeData: _propTypes.default.array,
175
- cascadePaths: _propTypes.default.array,
176
- uncheckableItemValues: _propTypes.default.array,
177
- renderMenuItem: _propTypes.default.func,
178
- renderMenu: _propTypes.default.func,
179
- onSelect: _propTypes.default.func,
180
- onCheck: _propTypes.default.func
181
- };
182
- var _default = DropdownMenu;
184
+ TreeView.displayName = 'TreeView';
185
+ var _default = TreeView;
183
186
  exports.default = _default;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { CheckboxProps } from '../Checkbox';
3
3
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
4
- export interface DropdownMenuCheckItemProps extends WithAsProps {
4
+ export interface ListCheckItemProps extends WithAsProps {
5
5
  active?: boolean;
6
6
  checkboxAs?: React.ElementType | string;
7
7
  classPrefix?: string;
@@ -19,5 +19,5 @@ export interface DropdownMenuCheckItemProps extends WithAsProps {
19
19
  onKeyDown?: (event: React.KeyboardEvent) => void;
20
20
  renderMenuItemCheckbox?: (checkboxProps: CheckboxProps) => React.ReactNode;
21
21
  }
22
- declare const DropdownMenuCheckItem: RsRefForwardingComponent<'div', DropdownMenuCheckItemProps>;
23
- export default DropdownMenuCheckItem;
22
+ declare const ListCheckItem: RsRefForwardingComponent<'div', ListCheckItemProps>;
23
+ export default ListCheckItem;
@@ -1,17 +1,16 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
5
  exports.__esModule = true;
7
6
  exports.default = void 0;
8
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _react = _interopRequireDefault(require("react"));
12
10
  var _utils = require("../utils");
13
11
  var _Checkbox = _interopRequireDefault(require("../Checkbox"));
14
- var DropdownMenuCheckItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
12
+ var _useCombobox2 = _interopRequireDefault(require("./hooks/useCombobox"));
13
+ var ListCheckItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
15
14
  var _props$active = props.active,
16
15
  active = _props$active === void 0 ? false : _props$active,
17
16
  _props$as = props.as,
@@ -34,19 +33,21 @@ var DropdownMenuCheckItem = /*#__PURE__*/_react.default.forwardRef(function (pro
34
33
  onSelectItem = props.onSelectItem,
35
34
  renderMenuItemCheckbox = props.renderMenuItemCheckbox,
36
35
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["active", "as", "checkboxAs", "classPrefix", "checkable", "disabled", "value", "focus", "children", "className", "indeterminate", "onKeyDown", "onSelect", "onCheck", "onSelectItem", "renderMenuItemCheckbox"]);
37
- var handleChange = (0, _react.useCallback)(function (value, checked, event) {
36
+ var handleChange = (0, _utils.useEventCallback)(function (value, checked, event) {
38
37
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, event, checked);
39
- }, [onSelect]);
40
- var handleCheck = (0, _react.useCallback)(function (event) {
38
+ });
39
+ var handleCheck = (0, _utils.useEventCallback)(function (event) {
41
40
  if (!disabled) {
42
41
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(value, event, !active);
43
42
  }
44
- }, [value, disabled, onCheck, active]);
45
- var handleSelectItem = (0, _react.useCallback)(function (event) {
43
+ });
44
+ var handleSelectItem = (0, _utils.useEventCallback)(function (event) {
46
45
  if (!disabled) {
47
46
  onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(value, event, !active);
48
47
  }
49
- }, [value, disabled, onSelectItem, active]);
48
+ });
49
+ var _useCombobox = (0, _useCombobox2.default)(),
50
+ id = _useCombobox.id;
50
51
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
51
52
  withClassPrefix = _useClassNames.withClassPrefix;
52
53
  var checkboxItemClasses = withClassPrefix({
@@ -69,6 +70,7 @@ var DropdownMenuCheckItem = /*#__PURE__*/_react.default.forwardRef(function (pro
69
70
  role: "option",
70
71
  "aria-selected": active,
71
72
  "aria-disabled": disabled,
73
+ id: id ? id + "-opt-" + value : undefined,
72
74
  "data-key": value
73
75
  }, rest, {
74
76
  ref: ref,
@@ -78,24 +80,6 @@ var DropdownMenuCheckItem = /*#__PURE__*/_react.default.forwardRef(function (pro
78
80
  role: "checkbox"
79
81
  }, checkboxProps)));
80
82
  });
81
- DropdownMenuCheckItem.displayName = 'DropdownMenuCheckItem';
82
- DropdownMenuCheckItem.propTypes = {
83
- classPrefix: _propTypes.default.string,
84
- active: _propTypes.default.bool,
85
- disabled: _propTypes.default.bool,
86
- checkable: _propTypes.default.bool,
87
- indeterminate: _propTypes.default.bool,
88
- value: _propTypes.default.any,
89
- onSelect: _propTypes.default.func,
90
- onCheck: _propTypes.default.func,
91
- onSelectItem: _propTypes.default.func,
92
- onKeyDown: _propTypes.default.func,
93
- focus: _propTypes.default.bool,
94
- title: _propTypes.default.string,
95
- className: _propTypes.default.string,
96
- children: _propTypes.default.node,
97
- as: _propTypes.default.elementType,
98
- checkboxAs: _propTypes.default.elementType
99
- };
100
- var _default = DropdownMenuCheckItem;
83
+ ListCheckItem.displayName = 'ListCheckItem';
84
+ var _default = ListCheckItem;
101
85
  exports.default = _default;
@@ -1,14 +1,14 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
- export interface DropdownMenuItemProps extends WithAsProps {
3
+ export interface ListItemProps extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> {
4
4
  active?: boolean;
5
5
  disabled?: boolean;
6
- value?: any;
6
+ value?: string | number;
7
7
  focus?: boolean;
8
8
  title?: string;
9
9
  onSelect?: (value: any, event: React.MouseEvent) => void;
10
10
  onKeyDown?: (event: React.KeyboardEvent) => void;
11
11
  renderItem?: (value: any) => React.ReactNode;
12
12
  }
13
- declare const DropdownMenuItem: RsRefForwardingComponent<'div', DropdownMenuItemProps>;
14
- export default DropdownMenuItem;
13
+ declare const ListItem: RsRefForwardingComponent<'div', ListItemProps>;
14
+ export default ListItem;