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
@@ -0,0 +1,167 @@
1
+ 'use client';
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
+ import React, { useEffect, useRef } from 'react';
5
+ import SpinnerIcon from '@rsuite/icons/legacy/Spinner';
6
+ import isUndefined from 'lodash/isUndefined';
7
+ import isNil from 'lodash/isNil';
8
+ import { shallowEqual, useClassNames, mergeRefs, useCustom, useEventCallback } from '../utils';
9
+ import { ListItem, useCombobox } from '../Picker';
10
+ import AngleLeftIcon from '@rsuite/icons/legacy/AngleLeft';
11
+ import AngleRightIcon from '@rsuite/icons/legacy/AngleRight';
12
+ import getPosition from 'dom-lib/getPosition';
13
+ import scrollTop from 'dom-lib/scrollTop';
14
+ var emptyArray = [];
15
+ var TreeView = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
+ var _props$as = props.as,
17
+ Component = _props$as === void 0 ? 'div' : _props$as,
18
+ activeItemValue = props.activeItemValue,
19
+ classPrefix = props.classPrefix,
20
+ className = props.className,
21
+ _props$childrenKey = props.childrenKey,
22
+ childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
23
+ _props$disabledItemVa = props.disabledItemValues,
24
+ disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
25
+ _props$menuWidth = props.menuWidth,
26
+ menuWidth = _props$menuWidth === void 0 ? 120 : _props$menuWidth,
27
+ _props$menuHeight = props.menuHeight,
28
+ menuHeight = _props$menuHeight === void 0 ? 200 : _props$menuHeight,
29
+ _props$valueKey = props.valueKey,
30
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
31
+ _props$cascadeData = props.cascadeData,
32
+ cascadeData = _props$cascadeData === void 0 ? emptyArray : _props$cascadeData,
33
+ _props$cascadePaths = props.cascadePaths,
34
+ cascadePaths = _props$cascadePaths === void 0 ? emptyArray : _props$cascadePaths,
35
+ loadingItemsSet = props.loadingItemsSet,
36
+ _props$labelKey = props.labelKey,
37
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
38
+ style = props.style,
39
+ renderMenu = props.renderMenu,
40
+ renderMenuItem = props.renderMenuItem,
41
+ onSelect = props.onSelect,
42
+ rest = _objectWithoutPropertiesLoose(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "style", "renderMenu", "renderMenuItem", "onSelect"]);
43
+ var _useClassNames = useClassNames(classPrefix),
44
+ merge = _useClassNames.merge,
45
+ prefix = _useClassNames.prefix;
46
+ var classes = merge(className, prefix('items'));
47
+ var rootRef = useRef();
48
+ var _useCustom = useCustom(),
49
+ rtl = _useCustom.rtl;
50
+ var _useCombobox = useCombobox(),
51
+ id = _useCombobox.id,
52
+ labelId = _useCombobox.labelId,
53
+ popupType = _useCombobox.popupType;
54
+ useEffect(function () {
55
+ var _rootRef$current;
56
+ var columns = ((_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelectorAll('[data-type="column"]')) || [];
57
+ columns.forEach(function (column) {
58
+ if (!column) {
59
+ return;
60
+ }
61
+ var activeItem = column.querySelector("." + prefix('item-focus'));
62
+ if (!activeItem) {
63
+ activeItem = column.querySelector("." + prefix('item-active'));
64
+ }
65
+ if (activeItem) {
66
+ var position = getPosition(activeItem, column);
67
+ // Let the active option scroll into view.
68
+ scrollTop(column, position === null || position === void 0 ? void 0 : position.top);
69
+ }
70
+ });
71
+ }, [prefix]);
72
+ var getCascadePaths = function getCascadePaths(layer, node) {
73
+ var paths = [];
74
+ for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
75
+ if (i < layer - 1 && cascadePaths) {
76
+ paths.push(cascadePaths[i]);
77
+ }
78
+ }
79
+ paths.push(node);
80
+ return paths;
81
+ };
82
+ var handleSelect = useEventCallback(function (layer, node, event) {
83
+ var isLeafNode = isNil(node[childrenKey]);
84
+ var cascadePaths = getCascadePaths(layer + 1, node);
85
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, isLeafNode, event);
86
+ });
87
+ var renderCascadeNode = function renderCascadeNode(nodeProps) {
88
+ var _loadingItemsSet$has;
89
+ var node = nodeProps.node,
90
+ index = nodeProps.index,
91
+ layer = nodeProps.layer,
92
+ focus = nodeProps.focus,
93
+ size = nodeProps.size;
94
+ var children = node[childrenKey];
95
+ var value = node[valueKey];
96
+ var label = node[labelKey];
97
+ var disabled = disabledItemValues.some(function (disabledValue) {
98
+ return shallowEqual(disabledValue, value);
99
+ });
100
+ var loading = (_loadingItemsSet$has = loadingItemsSet === null || loadingItemsSet === void 0 ? void 0 : loadingItemsSet.has(node)) !== null && _loadingItemsSet$has !== void 0 ? _loadingItemsSet$has : false;
101
+
102
+ // Use `value` in keys when If `value` is string or number
103
+ var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
104
+ var Icon = loading ? SpinnerIcon : rtl ? AngleLeftIcon : AngleRightIcon;
105
+ return /*#__PURE__*/React.createElement(ListItem, {
106
+ as: 'li',
107
+ role: "treeitem",
108
+ "aria-level": layer + 1,
109
+ "aria-setsize": size,
110
+ "aria-posinset": index + 1,
111
+ "aria-label": typeof label === 'string' ? label : undefined,
112
+ classPrefix: "picker-cascader-menu-item",
113
+ key: layer + "-" + onlyKey,
114
+ disabled: disabled,
115
+ active: !isUndefined(activeItemValue) && shallowEqual(activeItemValue, value),
116
+ focus: focus,
117
+ value: value,
118
+ className: children ? prefix('has-children') : undefined,
119
+ onSelect: function onSelect(_value, event) {
120
+ return handleSelect(layer, node, event);
121
+ }
122
+ }, renderMenuItem ? renderMenuItem(label, node) : label, children ? /*#__PURE__*/React.createElement(Icon, {
123
+ className: prefix('caret'),
124
+ spin: loading,
125
+ "data-testid": "spinner"
126
+ }) : null);
127
+ };
128
+ var cascadeNodes = cascadeData.map(function (children, layer) {
129
+ var onlyKey = layer + "_" + children.length;
130
+ var parentNode = cascadePaths[layer - 1];
131
+ var menu = /*#__PURE__*/React.createElement(React.Fragment, null, children.map(function (item, index) {
132
+ var focus = cascadePaths[layer] && shallowEqual(cascadePaths[layer][valueKey], item[valueKey]);
133
+ return renderCascadeNode({
134
+ node: item,
135
+ index: index,
136
+ layer: layer,
137
+ focus: focus,
138
+ size: children.length
139
+ });
140
+ }));
141
+ return /*#__PURE__*/React.createElement("ul", {
142
+ role: "group",
143
+ "data-layer": layer,
144
+ "data-type": 'column',
145
+ key: onlyKey,
146
+ className: prefix('column'),
147
+ style: {
148
+ height: menuHeight,
149
+ width: menuWidth
150
+ }
151
+ }, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
152
+ });
153
+ var styles = _extends({}, style, {
154
+ width: cascadeData.length * menuWidth
155
+ });
156
+ return /*#__PURE__*/React.createElement(Component, _extends({
157
+ role: "tree",
158
+ id: id + "-" + popupType,
159
+ "aria-labelledby": labelId
160
+ }, rest, {
161
+ ref: mergeRefs(rootRef, ref),
162
+ className: classes,
163
+ style: styles
164
+ }), cascadeNodes);
165
+ });
166
+ TreeView.displayName = 'TreeView';
167
+ export default TreeView;
@@ -1,4 +1,4 @@
1
- import React, { Ref } from 'react';
1
+ import React from 'react';
2
2
  import { PickerLocale } from '../locales';
3
3
  import { PickerHandle, PickerToggleProps } from '../Picker';
4
4
  import { ItemDataType, FormControlPickerProps } from '../@types/common';
@@ -12,7 +12,7 @@ export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerL
12
12
  }
13
13
  export interface CheckPickerComponent {
14
14
  <T>(props: CheckPickerProps<T> & {
15
- ref?: Ref<PickerHandle>;
15
+ ref?: React.Ref<PickerHandle>;
16
16
  }): JSX.Element | null;
17
17
  displayName?: string;
18
18
  propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
@@ -3,7 +3,7 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
5
  var _templateObject;
6
- import React, { useRef, useState, useCallback } from 'react';
6
+ import React, { useState } from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clone from 'lodash/clone';
9
9
  import isUndefined from 'lodash/isUndefined';
@@ -13,9 +13,9 @@ import omit from 'lodash/omit';
13
13
  import pick from 'lodash/pick';
14
14
  import isNil from 'lodash/isNil';
15
15
  import { filterNodesOfTree } from '../utils/treeUtils';
16
- import { createChainedFunction, useClassNames, shallowEqual, useCustom, useControlled, mergeRefs } from '../utils';
16
+ import { createChainedFunction, useClassNames, shallowEqual, useCustom, useControlled, useEventCallback, mergeRefs } from '../utils';
17
17
  import { getDataGroupBy } from '../utils/getDataGroupBy';
18
- import { DropdownMenu, DropdownMenuCheckItem as DropdownMenuItem, PickerToggle, PickerOverlay, SearchBar, SelectedElement, PickerToggleTrigger, useFocusItemValue, usePickerClassName, useSearch, usePublicMethods, useToggleKeyDownEvent, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../Picker';
18
+ import { Listbox, ListCheckItem, PickerToggle, PickerPopup, SearchBar, SelectedElement, PickerToggleTrigger, useFocusItemValue, usePickerClassName, useSearch, useToggleKeyDownEvent, usePickerRef, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../Picker';
19
19
  var emptyArray = [];
20
20
  /**
21
21
  * A component for selecting checkable items in a dropdown list.
@@ -80,11 +80,13 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
80
80
  onClose = props.onClose,
81
81
  onOpen = props.onOpen,
82
82
  rest = _objectWithoutPropertiesLoose(props, ["as", "appearance", "classPrefix", "countable", "data", "disabledItemValues", "valueKey", "labelKey", "searchable", "virtualized", "cleanable", "placement", "menuAutoWidth", "menuMaxHeight", "menuClassName", "menuStyle", "locale", "placeholder", "disabled", "toggleAs", "style", "sticky", "value", "defaultValue", "groupBy", "listProps", "id", "sort", "searchBy", "renderMenuItem", "renderMenuGroup", "renderValue", "renderExtraFooter", "renderMenu", "onGroupTitleClick", "onSearch", "onEnter", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onClose", "onOpen"]);
83
- var triggerRef = useRef(null);
84
- var targetRef = useRef(null);
85
- var overlayRef = useRef(null);
86
- var searchInputRef = useRef(null);
87
- var listRef = useRef(null);
83
+ var _usePickerRef = usePickerRef(ref),
84
+ trigger = _usePickerRef.trigger,
85
+ root = _usePickerRef.root,
86
+ target = _usePickerRef.target,
87
+ overlay = _usePickerRef.overlay,
88
+ list = _usePickerRef.list,
89
+ searchInput = _usePickerRef.searchInput;
88
90
  var _useCustom = useCustom('Picker', overrideLocale),
89
91
  locale = _useCustom.locale;
90
92
  var _useControlled = useControlled(valueProp, defaultValue || []),
@@ -94,18 +96,18 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
94
96
  data: data,
95
97
  valueKey: valueKey,
96
98
  target: function target() {
97
- return overlayRef.current;
99
+ return overlay.current;
98
100
  }
99
101
  }),
100
102
  focusItemValue = _useFocusItemValue.focusItemValue,
101
103
  setFocusItemValue = _useFocusItemValue.setFocusItemValue,
102
104
  onFocusItem = _useFocusItemValue.onKeyDown;
103
- var handleSearchCallback = useCallback(function (searchKeyword, filteredData, event) {
105
+ var handleSearchCallback = useEventCallback(function (searchKeyword, filteredData, event) {
104
106
  var _filteredData$;
105
107
  // The first option after filtering is the focus.
106
108
  setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);
107
109
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
108
- }, [setFocusItemValue, onSearch, valueKey]);
110
+ });
109
111
 
110
112
  // Use search keywords to filter options.
111
113
  var _useSearch = useSearch(data, {
@@ -139,17 +141,17 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
139
141
  }
140
142
  setStickyItems(nextStickyItems);
141
143
  };
142
- var handleChangeValue = useCallback(function (value, event) {
144
+ var handleChangeValue = useEventCallback(function (value, event) {
143
145
  onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
144
- }, [onChange]);
145
- var handleClean = useCallback(function (event) {
146
+ });
147
+ var handleClean = useEventCallback(function (event) {
146
148
  if (disabled || !cleanable) {
147
149
  return;
148
150
  }
149
151
  setValue([]);
150
152
  onClean === null || onClean === void 0 ? void 0 : onClean(event);
151
153
  handleChangeValue([], event);
152
- }, [disabled, cleanable, setValue, onClean, handleChangeValue]);
154
+ });
153
155
  var handleMenuPressEnter = function handleMenuPressEnter(event) {
154
156
  var nextValue = clone(value);
155
157
  if (!focusItemValue) {
@@ -173,10 +175,10 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
173
175
  };
174
176
  var onPickerKeyDown = useToggleKeyDownEvent(_extends({
175
177
  toggle: !focusItemValue || !active,
176
- triggerRef: triggerRef,
177
- targetRef: targetRef,
178
- overlayRef: overlayRef,
179
- searchInputRef: searchInputRef,
178
+ trigger: trigger,
179
+ target: target,
180
+ overlay: overlay,
181
+ searchInput: searchInput,
180
182
  active: active,
181
183
  onExit: handleClean,
182
184
  onMenuKeyDown: onFocusItem,
@@ -186,10 +188,10 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
186
188
  setFocusItemValue(null);
187
189
  }
188
190
  }, rest));
189
- var handleSelect = useCallback(function (nextItemValue, item, event) {
191
+ var handleSelect = useEventCallback(function (nextItemValue, item, event) {
190
192
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextItemValue, item, event);
191
- }, [onSelect]);
192
- var handleItemSelect = useCallback(function (nextItemValue, item, event, checked) {
193
+ });
194
+ var handleItemSelect = useEventCallback(function (nextItemValue, item, event, checked) {
193
195
  var nextValue = clone(value);
194
196
  if (checked) {
195
197
  nextValue.push(nextItemValue);
@@ -202,22 +204,16 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
202
204
  setFocusItemValue(nextItemValue);
203
205
  handleSelect(nextValue, item, event);
204
206
  handleChangeValue(nextValue, event);
205
- }, [value, setValue, handleSelect, handleChangeValue, setFocusItemValue]);
206
- var handleEntered = useCallback(function () {
207
+ });
208
+ var handleEntered = useEventCallback(function () {
207
209
  setActive(true);
208
210
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
209
- }, [onOpen]);
210
- var handleExited = useCallback(function () {
211
+ });
212
+ var handleExited = useEventCallback(function () {
211
213
  resetSearch();
212
214
  setFocusItemValue(null);
213
215
  setActive(false);
214
216
  onClose === null || onClose === void 0 ? void 0 : onClose();
215
- }, [onClose, setFocusItemValue, resetSearch]);
216
- usePublicMethods(ref, {
217
- triggerRef: triggerRef,
218
- overlayRef: overlayRef,
219
- targetRef: targetRef,
220
- listRef: listRef
221
217
  });
222
218
  var selectedItems = data.filter(function (item) {
223
219
  return value === null || value === void 0 ? void 0 : value.some(function (val) {
@@ -250,7 +246,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
250
246
  hasValue = false;
251
247
  }
252
248
  }
253
- var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
249
+ var renderPopup = function renderPopup(positionProps, speakerRef) {
254
250
  var left = positionProps.left,
255
251
  top = positionProps.top,
256
252
  className = positionProps.className;
@@ -278,10 +274,9 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
278
274
  } else if (typeof sort === 'function') {
279
275
  items = items.sort(sort(false));
280
276
  }
281
- var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(DropdownMenu, {
282
- id: id ? id + "-listbox" : undefined,
277
+ var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(Listbox, {
283
278
  listProps: listProps,
284
- listRef: listRef,
279
+ listRef: list,
285
280
  disabledItemValues: disabledItemValues,
286
281
  valueKey: valueKey,
287
282
  labelKey: labelKey,
@@ -289,7 +284,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
289
284
  renderMenuItem: renderMenuItem,
290
285
  maxHeight: menuMaxHeight,
291
286
  classPrefix: 'picker-check-menu',
292
- dropdownMenuItemAs: DropdownMenuItem,
287
+ listItemAs: ListCheckItem,
293
288
  activeItemValues: value,
294
289
  focusItemValue: focusItemValue,
295
290
  data: [].concat(filteredStickyItems, items)
@@ -303,18 +298,18 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
303
298
  }) : /*#__PURE__*/React.createElement("div", {
304
299
  className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["none"])))
305
300
  }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
306
- return /*#__PURE__*/React.createElement(PickerOverlay, {
307
- ref: mergeRefs(overlayRef, speakerRef),
301
+ return /*#__PURE__*/React.createElement(PickerPopup, {
302
+ ref: mergeRefs(overlay, speakerRef),
308
303
  autoWidth: menuAutoWidth,
309
304
  className: classes,
310
305
  style: styles,
311
306
  onKeyDown: onPickerKeyDown,
312
- target: triggerRef
307
+ target: trigger
313
308
  }, searchable && /*#__PURE__*/React.createElement(SearchBar, {
314
309
  placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
315
310
  onChange: handleSearch,
316
311
  value: searchKeyword,
317
- inputRef: searchInputRef
312
+ inputRef: searchInput
318
313
  }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
319
314
  };
320
315
  var _usePickerClassName = usePickerClassName(_extends({}, props, {
@@ -328,19 +323,21 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
328
323
  classes = _usePickerClassName[0],
329
324
  usedClassNamePropKeys = _usePickerClassName[1];
330
325
  return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
326
+ id: id,
327
+ multiple: true,
331
328
  pickerProps: pick(props, pickTriggerPropKeys),
332
- ref: triggerRef,
329
+ ref: trigger,
333
330
  placement: placement,
334
331
  onEnter: createChainedFunction(initStickyItems, onEnter),
335
332
  onEntered: createChainedFunction(handleEntered, onEntered),
336
333
  onExited: createChainedFunction(handleExited, onExited),
337
- speaker: renderDropdownMenu
334
+ speaker: renderPopup
338
335
  }, /*#__PURE__*/React.createElement(Component, {
339
336
  className: classes,
340
- style: style
337
+ style: style,
338
+ ref: root
341
339
  }, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys)), {
342
- id: id,
343
- ref: targetRef,
340
+ ref: target,
344
341
  appearance: appearance,
345
342
  disabled: disabled,
346
343
  onClean: handleClean,
@@ -350,7 +347,8 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
350
347
  hasValue: hasValue,
351
348
  active: active,
352
349
  placement: placement,
353
- inputValue: value
350
+ inputValue: value,
351
+ focusItemValue: focusItemValue
354
352
  }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
355
353
  });
356
354
  CheckPicker.displayName = 'CheckPicker';
@@ -21,8 +21,8 @@ export interface CheckTreeNodeProps extends WithAsProps {
21
21
  allUncheckable?: boolean;
22
22
  onExpand?: (nodeData: any) => void;
23
23
  onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
24
- onRenderTreeIcon?: (nodeData: any, expandIcon?: React.ReactNode) => React.ReactNode;
25
- onRenderTreeNode?: (nodeData: any) => React.ReactNode;
24
+ renderTreeIcon?: (nodeData: any, expandIcon?: React.ReactNode) => React.ReactNode;
25
+ renderTreeNode?: (nodeData: any) => React.ReactNode;
26
26
  }
27
27
  declare const CheckTreeNode: RsRefForwardingComponent<'div', CheckTreeNodeProps>;
28
28
  export default CheckTreeNode;
@@ -1,13 +1,12 @@
1
1
  'use client';
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- import React, { forwardRef, useCallback } from 'react';
5
- import PropTypes from 'prop-types';
4
+ import React, { forwardRef } from 'react';
6
5
  import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
7
6
  import Spinner from '@rsuite/icons/legacy/Spinner';
8
- import DropdownMenuCheckItem from '../Picker/DropdownMenuCheckItem';
7
+ import ListCheckItem from '../Picker/ListCheckItem';
9
8
  import { getTreeNodeIndent } from '../utils/treeUtils';
10
- import { useClassNames, CHECK_STATE, reactToString } from '../utils';
9
+ import { useClassNames, useEventCallback, CHECK_STATE, reactToString } from '../utils';
11
10
  var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
12
11
  var _ref$as = _ref.as,
13
12
  Component = _ref$as === void 0 ? 'div' : _ref$as,
@@ -29,11 +28,12 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
29
28
  label = _ref.label,
30
29
  uncheckable = _ref.uncheckable,
31
30
  checkState = _ref.checkState,
31
+ value = _ref.value,
32
32
  onExpand = _ref.onExpand,
33
33
  onSelect = _ref.onSelect,
34
- onRenderTreeIcon = _ref.onRenderTreeIcon,
35
- onRenderTreeNode = _ref.onRenderTreeNode,
36
- rest = _objectWithoutPropertiesLoose(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "onExpand", "onSelect", "onRenderTreeIcon", "onRenderTreeNode"]);
34
+ renderTreeIcon = _ref.renderTreeIcon,
35
+ renderTreeNode = _ref.renderTreeNode,
36
+ rest = _objectWithoutPropertiesLoose(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "value", "onExpand", "onSelect", "renderTreeIcon", "renderTreeNode"]);
37
37
  var _useClassNames = useClassNames(classPrefix),
38
38
  prefix = _useClassNames.prefix,
39
39
  merge = _useClassNames.merge,
@@ -46,13 +46,13 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
46
46
  return nodes.join('');
47
47
  }
48
48
  };
49
- var handleExpand = useCallback(function (event) {
49
+ var handleExpand = useEventCallback(function (event) {
50
50
  var _event$nativeEvent, _event$nativeEvent$st;
51
51
  // stop propagation when using custom loading icon
52
52
  event === null || event === void 0 ? void 0 : (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : (_event$nativeEvent$st = _event$nativeEvent.stopImmediatePropagation) === null || _event$nativeEvent$st === void 0 ? void 0 : _event$nativeEvent$st.call(_event$nativeEvent);
53
53
  onExpand === null || onExpand === void 0 ? void 0 : onExpand(nodeData);
54
- }, [nodeData, onExpand]);
55
- var handleSelect = useCallback(function (_value, event) {
54
+ });
55
+ var handleSelect = useEventCallback(function (_value, event) {
56
56
  if (disabled || uncheckable) {
57
57
  return;
58
58
  }
@@ -67,7 +67,7 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
67
67
  check: isChecked
68
68
  });
69
69
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextNodeData, event);
70
- }, [disabled, checkState, uncheckable, nodeData, onSelect]);
70
+ });
71
71
  var renderIcon = function renderIcon() {
72
72
  var expandIconClasses = prefix('expand-icon', 'icon', {
73
73
  expanded: expand
@@ -82,8 +82,8 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
82
82
  spin: true
83
83
  }));
84
84
  }
85
- if (typeof onRenderTreeIcon === 'function') {
86
- var customIcon = onRenderTreeIcon(nodeData);
85
+ if (typeof renderTreeIcon === 'function') {
86
+ var customIcon = renderTreeIcon(nodeData);
87
87
  expandIcon = customIcon !== null ? /*#__PURE__*/React.createElement("div", {
88
88
  className: prefix('custom-icon')
89
89
  }, customIcon) : expandIcon;
@@ -96,23 +96,6 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
96
96
  onClick: handleExpand
97
97
  }, expandIcon) : null;
98
98
  };
99
- var renderLabel = function renderLabel() {
100
- return /*#__PURE__*/React.createElement(DropdownMenuCheckItem, {
101
- as: "div",
102
- active: checkState === CHECK_STATE.CHECK,
103
- indeterminate: checkState === CHECK_STATE.INDETERMINATE,
104
- focus: focus,
105
- checkable: !uncheckable,
106
- disabled: disabled,
107
- "data-layer": layer,
108
- value: nodeData.refKey,
109
- className: prefix('label'),
110
- title: getTitle(),
111
- onSelect: handleSelect
112
- }, /*#__PURE__*/React.createElement("span", {
113
- className: prefix('text-wrapper')
114
- }, typeof onRenderTreeNode === 'function' ? onRenderTreeNode(nodeData) : label));
115
- };
116
99
  var classes = merge(className, withClassPrefix({
117
100
  disabled: disabled,
118
101
  'all-uncheckable': !!allUncheckable,
@@ -120,42 +103,31 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
120
103
  focus: focus
121
104
  }));
122
105
  var styles = _extends({}, style, getTreeNodeIndent(rtl, layer - 1));
123
- return visible ? /*#__PURE__*/React.createElement(Component, _extends({
106
+ return visible ? /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
107
+ style: styles,
108
+ className: classes,
109
+ ref: ref
110
+ }), renderIcon(), /*#__PURE__*/React.createElement(ListCheckItem, {
111
+ as: "div",
124
112
  role: "treeitem",
125
113
  "aria-label": label,
126
114
  "aria-expanded": expand,
127
115
  "aria-selected": checkState === CHECK_STATE.CHECK,
128
116
  "aria-disabled": disabled,
129
- "aria-level": layer
130
- }, rest, {
131
- style: styles,
132
- className: classes,
133
- ref: ref
134
- }), renderIcon(), renderLabel()) : null;
117
+ "aria-level": layer,
118
+ active: checkState === CHECK_STATE.CHECK,
119
+ indeterminate: checkState === CHECK_STATE.INDETERMINATE,
120
+ focus: focus,
121
+ checkable: !uncheckable,
122
+ disabled: disabled,
123
+ "data-layer": layer,
124
+ value: nodeData.refKey || value,
125
+ className: prefix('label'),
126
+ title: getTitle(),
127
+ onSelect: handleSelect
128
+ }, /*#__PURE__*/React.createElement("span", {
129
+ className: prefix('text-wrapper')
130
+ }, typeof renderTreeNode === 'function' ? renderTreeNode(nodeData) : label))) : null;
135
131
  });
136
132
  CheckTreeNode.displayName = 'CheckTreeNode';
137
- CheckTreeNode.propTypes = {
138
- as: PropTypes.elementType,
139
- rtl: PropTypes.bool,
140
- classPrefix: PropTypes.string,
141
- visible: PropTypes.bool,
142
- style: PropTypes.object,
143
- label: PropTypes.any,
144
- layer: PropTypes.number,
145
- loading: PropTypes.bool,
146
- value: PropTypes.any,
147
- focus: PropTypes.bool,
148
- expand: PropTypes.bool,
149
- nodeData: PropTypes.object,
150
- disabled: PropTypes.bool,
151
- className: PropTypes.string,
152
- checkState: PropTypes.oneOf([CHECK_STATE.UNCHECK, CHECK_STATE.CHECK, CHECK_STATE.INDETERMINATE]),
153
- hasChildren: PropTypes.bool,
154
- uncheckable: PropTypes.bool,
155
- allUncheckable: PropTypes.bool,
156
- onExpand: PropTypes.func,
157
- onSelect: PropTypes.func,
158
- onRenderTreeIcon: PropTypes.func,
159
- onRenderTreeNode: PropTypes.func
160
- };
161
133
  export default CheckTreeNode;