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
@@ -8,10 +8,9 @@ exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/legacy/ArrowDown"));
13
12
  var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
14
- var _DropdownMenuCheckItem = _interopRequireDefault(require("../Picker/DropdownMenuCheckItem"));
13
+ var _ListCheckItem = _interopRequireDefault(require("../Picker/ListCheckItem"));
15
14
  var _treeUtils = require("../utils/treeUtils");
16
15
  var _utils = require("../utils");
17
16
  var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
@@ -35,11 +34,12 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
35
34
  label = _ref.label,
36
35
  uncheckable = _ref.uncheckable,
37
36
  checkState = _ref.checkState,
37
+ value = _ref.value,
38
38
  onExpand = _ref.onExpand,
39
39
  onSelect = _ref.onSelect,
40
- onRenderTreeIcon = _ref.onRenderTreeIcon,
41
- onRenderTreeNode = _ref.onRenderTreeNode,
42
- rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "onExpand", "onSelect", "onRenderTreeIcon", "onRenderTreeNode"]);
40
+ renderTreeIcon = _ref.renderTreeIcon,
41
+ renderTreeNode = _ref.renderTreeNode,
42
+ rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "value", "onExpand", "onSelect", "renderTreeIcon", "renderTreeNode"]);
43
43
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
44
44
  prefix = _useClassNames.prefix,
45
45
  merge = _useClassNames.merge,
@@ -52,13 +52,13 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
52
52
  return nodes.join('');
53
53
  }
54
54
  };
55
- var handleExpand = (0, _react.useCallback)(function (event) {
55
+ var handleExpand = (0, _utils.useEventCallback)(function (event) {
56
56
  var _event$nativeEvent, _event$nativeEvent$st;
57
57
  // stop propagation when using custom loading icon
58
58
  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);
59
59
  onExpand === null || onExpand === void 0 ? void 0 : onExpand(nodeData);
60
- }, [nodeData, onExpand]);
61
- var handleSelect = (0, _react.useCallback)(function (_value, event) {
60
+ });
61
+ var handleSelect = (0, _utils.useEventCallback)(function (_value, event) {
62
62
  if (disabled || uncheckable) {
63
63
  return;
64
64
  }
@@ -73,7 +73,7 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
73
73
  check: isChecked
74
74
  });
75
75
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextNodeData, event);
76
- }, [disabled, checkState, uncheckable, nodeData, onSelect]);
76
+ });
77
77
  var renderIcon = function renderIcon() {
78
78
  var expandIconClasses = prefix('expand-icon', 'icon', {
79
79
  expanded: expand
@@ -88,8 +88,8 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
88
88
  spin: true
89
89
  }));
90
90
  }
91
- if (typeof onRenderTreeIcon === 'function') {
92
- var customIcon = onRenderTreeIcon(nodeData);
91
+ if (typeof renderTreeIcon === 'function') {
92
+ var customIcon = renderTreeIcon(nodeData);
93
93
  expandIcon = customIcon !== null ? /*#__PURE__*/_react.default.createElement("div", {
94
94
  className: prefix('custom-icon')
95
95
  }, customIcon) : expandIcon;
@@ -102,23 +102,6 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
102
102
  onClick: handleExpand
103
103
  }, expandIcon) : null;
104
104
  };
105
- var renderLabel = function renderLabel() {
106
- return /*#__PURE__*/_react.default.createElement(_DropdownMenuCheckItem.default, {
107
- as: "div",
108
- active: checkState === _utils.CHECK_STATE.CHECK,
109
- indeterminate: checkState === _utils.CHECK_STATE.INDETERMINATE,
110
- focus: focus,
111
- checkable: !uncheckable,
112
- disabled: disabled,
113
- "data-layer": layer,
114
- value: nodeData.refKey,
115
- className: prefix('label'),
116
- title: getTitle(),
117
- onSelect: handleSelect
118
- }, /*#__PURE__*/_react.default.createElement("span", {
119
- className: prefix('text-wrapper')
120
- }, typeof onRenderTreeNode === 'function' ? onRenderTreeNode(nodeData) : label));
121
- };
122
105
  var classes = merge(className, withClassPrefix({
123
106
  disabled: disabled,
124
107
  'all-uncheckable': !!allUncheckable,
@@ -126,43 +109,32 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
126
109
  focus: focus
127
110
  }));
128
111
  var styles = (0, _extends2.default)({}, style, (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1));
129
- return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
112
+ return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
113
+ style: styles,
114
+ className: classes,
115
+ ref: ref
116
+ }), renderIcon(), /*#__PURE__*/_react.default.createElement(_ListCheckItem.default, {
117
+ as: "div",
130
118
  role: "treeitem",
131
119
  "aria-label": label,
132
120
  "aria-expanded": expand,
133
121
  "aria-selected": checkState === _utils.CHECK_STATE.CHECK,
134
122
  "aria-disabled": disabled,
135
- "aria-level": layer
136
- }, rest, {
137
- style: styles,
138
- className: classes,
139
- ref: ref
140
- }), renderIcon(), renderLabel()) : null;
123
+ "aria-level": layer,
124
+ active: checkState === _utils.CHECK_STATE.CHECK,
125
+ indeterminate: checkState === _utils.CHECK_STATE.INDETERMINATE,
126
+ focus: focus,
127
+ checkable: !uncheckable,
128
+ disabled: disabled,
129
+ "data-layer": layer,
130
+ value: nodeData.refKey || value,
131
+ className: prefix('label'),
132
+ title: getTitle(),
133
+ onSelect: handleSelect
134
+ }, /*#__PURE__*/_react.default.createElement("span", {
135
+ className: prefix('text-wrapper')
136
+ }, typeof renderTreeNode === 'function' ? renderTreeNode(nodeData) : label))) : null;
141
137
  });
142
138
  CheckTreeNode.displayName = 'CheckTreeNode';
143
- CheckTreeNode.propTypes = {
144
- as: _propTypes.default.elementType,
145
- rtl: _propTypes.default.bool,
146
- classPrefix: _propTypes.default.string,
147
- visible: _propTypes.default.bool,
148
- style: _propTypes.default.object,
149
- label: _propTypes.default.any,
150
- layer: _propTypes.default.number,
151
- loading: _propTypes.default.bool,
152
- value: _propTypes.default.any,
153
- focus: _propTypes.default.bool,
154
- expand: _propTypes.default.bool,
155
- nodeData: _propTypes.default.object,
156
- disabled: _propTypes.default.bool,
157
- className: _propTypes.default.string,
158
- checkState: _propTypes.default.oneOf([_utils.CHECK_STATE.UNCHECK, _utils.CHECK_STATE.CHECK, _utils.CHECK_STATE.INDETERMINATE]),
159
- hasChildren: _propTypes.default.bool,
160
- uncheckable: _propTypes.default.bool,
161
- allUncheckable: _propTypes.default.bool,
162
- onExpand: _propTypes.default.func,
163
- onSelect: _propTypes.default.func,
164
- onRenderTreeIcon: _propTypes.default.func,
165
- onRenderTreeNode: _propTypes.default.func
166
- };
167
139
  var _default = CheckTreeNode;
168
140
  exports.default = _default;
@@ -111,12 +111,16 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
111
111
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "style", "appearance", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "showIndentLine", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuMaxHeight", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "listProps", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onSelectItem", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
112
112
  var _useContext = (0, _react.useContext)(_TreeContext.default),
113
113
  inline = _useContext.inline;
114
- var triggerRef = (0, _react.useRef)(null);
115
- var targetRef = (0, _react.useRef)(null);
116
- var listRef = (0, _react.useRef)(null);
117
- var overlayRef = (0, _react.useRef)(null);
118
- var searchInputRef = (0, _react.useRef)(null);
119
- var treeViewRef = (0, _react.useRef)(null);
114
+ var _usePickerRef = (0, _Picker.usePickerRef)(ref, {
115
+ inline: inline
116
+ }),
117
+ trigger = _usePickerRef.trigger,
118
+ root = _usePickerRef.root,
119
+ target = _usePickerRef.target,
120
+ overlay = _usePickerRef.overlay,
121
+ list = _usePickerRef.list,
122
+ searchInput = _usePickerRef.searchInput,
123
+ treeView = _usePickerRef.treeView;
120
124
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
121
125
  rtl = _useCustom.rtl,
122
126
  locale = _useCustom.locale;
@@ -197,7 +201,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
197
201
  * get formatted nodes for render tree
198
202
  * @params render - renderNode function. only used when virtualized setting false
199
203
  */
200
- var getFormattedNodes = (0, _react.useCallback)(function (render) {
204
+ var getFormattedNodes = function getFormattedNodes(render) {
201
205
  if (virtualized) {
202
206
  return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
203
207
  cascade: cascade,
@@ -212,7 +216,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
212
216
  }).map(function (node) {
213
217
  return render === null || render === void 0 ? void 0 : render(node, 1);
214
218
  });
215
- }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized, childrenKey, cascade]);
219
+ };
216
220
  var getTreeNodeProps = function getTreeNodeProps(node, layer) {
217
221
  return {
218
222
  as: Component,
@@ -239,23 +243,23 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
239
243
  allUncheckable: (0, _utils2.isAllSiblingNodeUncheckable)(node, flattenNodes, uncheckableItemValues, valueKey),
240
244
  onSelect: handleSelect,
241
245
  onExpand: handleExpand,
242
- onRenderTreeNode: renderTreeNode,
243
- onRenderTreeIcon: renderTreeIcon
246
+ renderTreeNode: renderTreeNode,
247
+ renderTreeIcon: renderTreeIcon
244
248
  };
245
249
  };
246
- var focusActiveNode = (0, _react.useCallback)(function () {
247
- if (listRef.current) {
250
+ var focusActiveNode = function focusActiveNode() {
251
+ if (list.current) {
248
252
  (0, _treeUtils.focusToActiveTreeNode)({
249
- list: listRef.current,
253
+ list: list.current,
250
254
  valueKey: valueKey,
251
255
  selector: "." + checkTreePrefix('node-active'),
252
256
  activeNode: activeNode,
253
257
  virtualized: virtualized,
254
- container: treeViewRef.current,
258
+ container: treeView.current,
255
259
  formattedNodes: getFormattedNodes()
256
260
  });
257
261
  }
258
- }, [checkTreePrefix, activeNode, getFormattedNodes, valueKey, virtualized]);
262
+ };
259
263
  (0, _react.useEffect)(function () {
260
264
  setValue((0, _utils2.getCheckTreePickerDefaultValue)(value, uncheckableItemValues));
261
265
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
@@ -285,7 +289,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
285
289
  });
286
290
  forceUpdate();
287
291
  }, [cascade, value, uncheckableItemValues, unSerializeList, flattenNodes, forceUpdate]);
288
- var toggleUpChecked = (0, _react.useCallback)(function (nodes, node, checked) {
292
+ var toggleUpChecked = (0, _utils.useEventCallback)(function (nodes, node, checked) {
289
293
  var currentNode = node.refKey ? nodes[node.refKey] : null;
290
294
  if (cascade && currentNode) {
291
295
  if (!checked) {
@@ -304,8 +308,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
304
308
  toggleUpChecked(nodes, currentNode.parent, checked);
305
309
  }
306
310
  }
307
- }, [cascade]);
308
- var toggleDownChecked = (0, _react.useCallback)(function (nodes, node, isChecked) {
311
+ });
312
+ var toggleDownChecked = (0, _utils.useEventCallback)(function (nodes, node, isChecked) {
309
313
  var currentNode = node.refKey ? nodes[node.refKey] : null;
310
314
  if (!currentNode) {
311
315
  return;
@@ -319,8 +323,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
319
323
  toggleDownChecked(nodes, child, isChecked);
320
324
  });
321
325
  }
322
- }, [cascade, childrenKey]);
323
- var toggleChecked = (0, _react.useCallback)(function (node, isChecked) {
326
+ });
327
+ var toggleChecked = (0, _utils.useEventCallback)(function (node, isChecked) {
324
328
  var nodes = (0, _cloneDeep2.default)(flattenNodes);
325
329
  toggleDownChecked(nodes, node, isChecked);
326
330
  node.parent && toggleUpChecked(nodes, node.parent, isChecked);
@@ -329,7 +333,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
329
333
  return values.filter(function (v) {
330
334
  return !uncheckableItemValues.includes(v);
331
335
  });
332
- }, [flattenNodes, uncheckableItemValues, serializeListOnlyParent, toggleDownChecked, toggleUpChecked]);
336
+ });
333
337
 
334
338
  // TODO-Doma
335
339
  // Replace `getKeyParentMap` with `getParentMap`
@@ -340,7 +344,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
340
344
  return node[childrenKey];
341
345
  });
342
346
  }, [childrenKey, data, valueKey]);
343
- var handleSelect = (0, _react.useCallback)(function (node, event) {
347
+ var handleSelect = (0, _utils.useEventCallback)(function (node, event) {
344
348
  var currentNode = node.refKey ? flattenNodes[node.refKey] : null;
345
349
  if (!node || !currentNode) {
346
350
  return;
@@ -363,18 +367,18 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
363
367
  onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(node, (0, _treeUtils.getPathTowardsItem)(node, function (item) {
364
368
  return itemParentMap.get(item[valueKey]);
365
369
  }));
366
- }, [flattenNodes, toggleChecked, isControlled, valueKey, onChange, onSelect, onSelectItem, unSerializeList, cascade, uncheckableItemValues, setValue, itemParentMap]);
367
- var handleOpen = (0, _react.useCallback)(function () {
368
- var _triggerRef$current, _triggerRef$current$o;
369
- (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$o = _triggerRef$current.open) === null || _triggerRef$current$o === void 0 ? void 0 : _triggerRef$current$o.call(_triggerRef$current);
370
+ });
371
+ var handleOpen = (0, _utils.useEventCallback)(function () {
372
+ var _trigger$current, _trigger$current$open;
373
+ (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$open = _trigger$current.open) === null || _trigger$current$open === void 0 ? void 0 : _trigger$current$open.call(_trigger$current);
370
374
  setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);
371
375
  focusActiveNode();
372
376
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
373
377
  setActive(true);
374
- }, [activeNode, focusActiveNode, onOpen, valueKey]);
375
- var handleClose = (0, _react.useCallback)(function () {
376
- var _triggerRef$current2, _triggerRef$current2$, _targetRef$current;
377
- (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : (_triggerRef$current2$ = _triggerRef$current2.close) === null || _triggerRef$current2$ === void 0 ? void 0 : _triggerRef$current2$.call(_triggerRef$current2);
378
+ });
379
+ var handleClose = (0, _utils.useEventCallback)(function () {
380
+ var _trigger$current2, _trigger$current2$clo, _target$current;
381
+ (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$clo = _trigger$current2.close) === null || _trigger$current2$clo === void 0 ? void 0 : _trigger$current2$clo.call(_trigger$current2);
378
382
  setSearchKeyword('');
379
383
  onClose === null || onClose === void 0 ? void 0 : onClose();
380
384
  setFocusItemValue(null);
@@ -383,9 +387,9 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
383
387
  /**
384
388
  * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu
385
389
  */
386
- (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();
387
- }, [onClose, setSearchKeyword]);
388
- var handleExpand = (0, _react.useCallback)(function (node) {
390
+ (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
391
+ });
392
+ var handleExpand = (0, _utils.useEventCallback)(function (node) {
389
393
  var nextExpandItemValues = (0, _treeUtils.toggleExpand)({
390
394
  node: node,
391
395
  isExpand: !node.expand,
@@ -400,19 +404,11 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
400
404
  if ((0, _isFunction2.default)(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {
401
405
  loadChildren(node, getChildren);
402
406
  }
403
- }, [childrenKey, expandItemValues, getChildren, loadChildren, onExpand, setExpandItemValues, valueKey]);
404
- (0, _Picker.usePublicMethods)(ref, {
405
- rootRef: inline ? treeViewRef : undefined,
406
- triggerRef: triggerRef,
407
- overlayRef: overlayRef,
408
- targetRef: targetRef,
409
- listRef: listRef,
410
- inline: inline
411
407
  });
412
- var handleClean = (0, _react.useCallback)(function (event) {
408
+ var handleClean = (0, _utils.useEventCallback)(function (event) {
413
409
  var target = event.target;
414
- // exclude searchBar
415
- if (target.matches('div[role="searchbox"] > input') || disabled || !cleanable) {
410
+ // exclude searchbox
411
+ if (target.matches('input[role="searchbox"]') || disabled || !cleanable) {
416
412
  return;
417
413
  }
418
414
  setActiveNode(null);
@@ -428,8 +424,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
428
424
  });
429
425
  }
430
426
  onChange === null || onChange === void 0 ? void 0 : onChange([], event);
431
- }, [cascade, cleanable, disabled, flattenNodes, onChange, setValue, unSerializeList, uncheckableItemValues, isControlled]);
432
- var handleFocusItem = (0, _react.useCallback)(function (key) {
427
+ });
428
+ var handleFocusItem = (0, _utils.useEventCallback)(function (key) {
433
429
  var focusableItems = (0, _treeUtils.getFocusableItems)(filteredData, {
434
430
  disabledItemValues: disabledItemValues,
435
431
  valueKey: valueKey,
@@ -454,8 +450,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
454
450
  if (key === _utils.KEY_VALUES.UP) {
455
451
  (0, _treeUtils.focusPreviousItem)(focusProps);
456
452
  }
457
- }, [searchKeywordState, checkTreePrefix, expandItemValues, filteredData, focusItemValue, treeNodesRefs, childrenKey, valueKey, disabledItemValues]);
458
- var handleLeftArrow = (0, _react.useCallback)(function () {
453
+ });
454
+ var handleLeftArrow = (0, _utils.useEventCallback)(function () {
459
455
  if ((0, _isNil2.default)(focusItemValue)) return;
460
456
  var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
461
457
  (0, _treeUtils.leftArrowHandler)({
@@ -469,8 +465,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
469
465
  (0, _treeUtils.focusTreeNode)(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, "." + checkTreePrefix('node-label'));
470
466
  }
471
467
  });
472
- }, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey, childrenKey]);
473
- var handleRightArrow = (0, _react.useCallback)(function () {
468
+ });
469
+ var handleRightArrow = (0, _utils.useEventCallback)(function () {
474
470
  if ((0, _isNil2.default)(focusItemValue)) return;
475
471
  var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
476
472
  (0, _treeUtils.rightArrowHandler)({
@@ -482,8 +478,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
482
478
  handleFocusItem(_utils.KEY_VALUES.DOWN);
483
479
  }
484
480
  });
485
- }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
486
- var selectActiveItem = (0, _react.useCallback)(function (event) {
481
+ });
482
+ var selectActiveItem = function selectActiveItem(event) {
487
483
  if ((0, _isNil2.default)(focusItemValue)) return;
488
484
  var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
489
485
  if (!(0, _utils2.isNodeUncheckable)(activeItem, {
@@ -492,13 +488,13 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
492
488
  }) && activeItem !== null) {
493
489
  handleSelect(activeItem, event);
494
490
  }
495
- }, [flattenNodes, focusItemValue, handleSelect, uncheckableItemValues, valueKey]);
491
+ };
496
492
  var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
497
493
  toggle: !focusItemValue || !active,
498
- triggerRef: triggerRef,
499
- targetRef: targetRef,
500
- overlayRef: overlayRef,
501
- searchInputRef: searchInputRef,
494
+ trigger: trigger,
495
+ target: target,
496
+ overlay: overlay,
497
+ searchInput: searchInput,
502
498
  active: active,
503
499
  onExit: handleClean,
504
500
  onClose: handleClose,
@@ -517,8 +513,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
517
513
  });
518
514
  }
519
515
  }, rest));
520
- var handleTreeKeydown = (0, _react.useCallback)(function (event) {
521
- if (!treeViewRef.current) {
516
+ var handleTreeKeydown = (0, _utils.useEventCallback)(function (event) {
517
+ if (!treeView.current) {
522
518
  return;
523
519
  }
524
520
  (0, _Picker.onMenuKeyDown)(event, {
@@ -532,7 +528,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
532
528
  right: rtl ? handleLeftArrow : handleRightArrow,
533
529
  enter: selectActiveItem
534
530
  });
535
- }, [handleFocusItem, handleLeftArrow, handleRightArrow, rtl, selectActiveItem]);
531
+ });
536
532
  var renderNode = function renderNode(node, layer) {
537
533
  var visible = node.visible,
538
534
  refKey = node.refKey; // when searching, all nodes should be expand
@@ -566,7 +562,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
566
562
  return saveTreeNodeRef(_ref, refKey);
567
563
  }
568
564
  })), /*#__PURE__*/_react.default.createElement("div", {
569
- className: checkTreePrefix('children')
565
+ className: checkTreePrefix('group'),
566
+ role: "group"
570
567
  }, nodes.map(function (child) {
571
568
  return renderNode(child, layer);
572
569
  }), showIndentLine && /*#__PURE__*/_react.default.createElement("span", {
@@ -618,21 +615,17 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
618
615
  className: prefix('none')
619
616
  }, locale.noResultsText);
620
617
  }
621
- var treeNodesClass = merge(checkTreePrefix('nodes'), (_merge2 = {}, _merge2[checkTreePrefix('all-uncheckable')] = (0, _utils2.isEveryFirstLevelNodeUncheckable)(flattenNodes, uncheckableItemValues, valueKey), _merge2));
622
- var styles = inline ? (0, _extends2.default)({
623
- height: height
624
- }, style) : {};
625
- return /*#__PURE__*/_react.default.createElement("div", {
626
- id: id ? id + "-listbox" : undefined,
627
- ref: treeViewRef,
628
- role: "tree",
629
- "aria-multiselectable": true,
618
+ var treeNodesClass = merge(checkTreePrefix('root'), (_merge2 = {}, _merge2[checkTreePrefix('all-uncheckable')] = (0, _utils2.isEveryFirstLevelNodeUncheckable)(flattenNodes, uncheckableItemValues, valueKey), _merge2));
619
+ return /*#__PURE__*/_react.default.createElement(_Picker.TreeView, {
620
+ ref: inline ? root : treeView,
621
+ multiselectable: true,
622
+ treeRootClassName: treeNodesClass,
630
623
  className: classes,
631
- style: styles,
624
+ style: inline ? (0, _extends2.default)({
625
+ height: height
626
+ }, style) : {},
632
627
  onScroll: onScroll,
633
628
  onKeyDown: inline ? handleTreeKeydown : undefined
634
- }, /*#__PURE__*/_react.default.createElement("div", {
635
- className: treeNodesClass
636
629
  }, virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
637
630
  defaultHeight: inline ? height : menuMaxHeight,
638
631
  style: {
@@ -642,13 +635,13 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
642
635
  }, function (_ref5) {
643
636
  var height = _ref5.height;
644
637
  return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({
645
- ref: listRef,
638
+ ref: list,
646
639
  height: height,
647
640
  itemSize: itemSize,
648
641
  itemCount: formattedNodes.length,
649
642
  itemData: formattedNodes
650
643
  }, listProps), renderVirtualListNode);
651
- }) : formattedNodes));
644
+ }) : formattedNodes);
652
645
  };
653
646
  var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
654
647
  var left = positionProps.left,
@@ -659,18 +652,18 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
659
652
  left: left,
660
653
  top: top
661
654
  });
662
- return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
655
+ return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
663
656
  autoWidth: menuAutoWidth,
664
657
  className: classes,
665
658
  style: mergedMenuStyle,
666
- ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),
659
+ ref: (0, _utils.mergeRefs)(overlay, speakerRef),
667
660
  onKeyDown: onPickerKeydown,
668
- target: triggerRef
661
+ target: trigger
669
662
  }, searchable ? /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {
670
663
  placeholder: locale.searchPlaceholder,
671
664
  onChange: handleSearch,
672
665
  value: searchKeywordState,
673
- inputRef: searchInputRef
666
+ inputRef: searchInput
674
667
  }) : null, renderMenu ? renderMenu(renderCheckTree()) : renderCheckTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
675
668
  };
676
669
  var selectedItems = (0, _react.useMemo)(function () {
@@ -715,8 +708,11 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
715
708
  return renderCheckTree();
716
709
  }
717
710
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
711
+ id: id,
712
+ popupType: "tree",
713
+ multiple: true,
718
714
  pickerProps: (0, _pick2.default)(props, _Picker.pickTriggerPropKeys),
719
- ref: triggerRef,
715
+ ref: trigger,
720
716
  placement: placement,
721
717
  onEnter: handleOpen,
722
718
  onEntered: onEntered,
@@ -724,10 +720,10 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
724
720
  speaker: renderDropdownMenu
725
721
  }, /*#__PURE__*/_react.default.createElement(Component, {
726
722
  className: classes,
727
- style: style
723
+ style: style,
724
+ ref: root
728
725
  }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit2.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
729
- id: id,
730
- ref: targetRef,
726
+ ref: target,
731
727
  appearance: appearance,
732
728
  onKeyDown: onPickerKeydown,
733
729
  onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
@@ -737,7 +733,8 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
737
733
  hasValue: hasValidValue,
738
734
  active: active,
739
735
  placement: placement,
740
- inputValue: value
736
+ inputValue: value,
737
+ focusItemValue: focusItemValue
741
738
  }), selectedElement || locale.placeholder)));
742
739
  });
743
740
  CheckTreePicker.displayName = 'CheckTreePicker';
@@ -20,7 +20,11 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
20
20
  * @deprecated use <Calendar> instead
21
21
  **/
22
22
  inline?: boolean;
23
- /** ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day */
23
+ /**
24
+ * ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day
25
+ *
26
+ * @see https://en.wikipedia.org/wiki/ISO_week_date
27
+ */
24
28
  isoWeek?: boolean;
25
29
  /** A label displayed at the beginning of toggle button */
26
30
  label?: React.ReactNode;
@@ -25,11 +25,8 @@ var _PredefinedRanges = _interopRequireDefault(require("./PredefinedRanges"));
25
25
  var _utils = require("../utils");
26
26
  var _dateUtils = require("../utils/dateUtils");
27
27
  var _Picker = require("../Picker");
28
- var _usePickerRef2 = _interopRequireDefault(require("../Picker/usePickerRef"));
29
28
  var _DateInput = _interopRequireDefault(require("../DateInput"));
30
29
  var _InputGroup = _interopRequireDefault(require("../InputGroup"));
31
- var _PickerLabel = _interopRequireDefault(require("./PickerLabel"));
32
- var _PickerIndicator = _interopRequireDefault(require("./PickerIndicator"));
33
30
  var _OverlayTrigger = require("../Overlay/OverlayTrigger");
34
31
  var _deprecatePropType = require("../utils/deprecatePropType");
35
32
  var _utils2 = require("../Calendar/utils");
@@ -105,8 +102,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
105
102
  onToggleTimeDropdown = props.onToggleTimeDropdown,
106
103
  onShortcutClick = props.onShortcutClick,
107
104
  restProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "size", "caretAs", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick"]);
108
- var id = (0, _utils.useUniqueId)(classPrefix + "-", idProp);
109
- var _usePickerRef = (0, _usePickerRef2.default)(ref),
105
+ var id = (0, _utils.useUniqueId)('rs-', idProp);
106
+ var _usePickerRef = (0, _Picker.usePickerRef)(ref),
110
107
  trigger = _usePickerRef.trigger,
111
108
  root = _usePickerRef.root,
112
109
  target = _usePickerRef.target,
@@ -282,7 +279,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
282
279
  onClean === null || onClean === void 0 ? void 0 : onClean(event);
283
280
  event.stopPropagation();
284
281
  });
285
- var handlePickerOverlayKeyDown = (0, _utils.useEventCallback)(function (event) {
282
+ var handlePickerPopupKeyDown = (0, _utils.useEventCallback)(function (event) {
286
283
  var delta = 0;
287
284
  var step = showMonth ? 6 : 7;
288
285
  var changeDateFunc = showMonth ? _dateUtils.addMonths : _dateUtils.addDays;
@@ -426,7 +423,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
426
423
  left: left,
427
424
  top: top
428
425
  });
429
- return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
426
+ return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
430
427
  role: "dialog",
431
428
  "aria-labelledby": label ? id + "-label" : undefined,
432
429
  tabIndex: -1,
@@ -434,7 +431,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
434
431
  ref: (0, _utils.mergeRefs)(overlay, speakerRef),
435
432
  style: styles,
436
433
  target: trigger,
437
- onKeyDown: handlePickerOverlayKeyDown
434
+ onKeyDown: handlePickerPopupKeyDown
438
435
  }, /*#__PURE__*/_react.default.createElement(_Stack.default, {
439
436
  alignItems: "flex-start"
440
437
  }, sideRanges.length > 0 && /*#__PURE__*/_react.default.createElement(_PredefinedRanges.default, {
@@ -532,7 +529,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
532
529
  inside: true,
533
530
  size: size,
534
531
  onClick: handleClick
535
- }), /*#__PURE__*/_react.default.createElement(_PickerLabel.default, {
532
+ }), /*#__PURE__*/_react.default.createElement(_Picker.PickerLabel, {
536
533
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["label"]))),
537
534
  id: id + "-label"
538
535
  }, label), /*#__PURE__*/_react.default.createElement(_DateInput.default, (0, _extends2.default)({
@@ -550,7 +547,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
550
547
  readOnly: readOnly || !editable || loading,
551
548
  plaintext: plaintext,
552
549
  onKeyDown: handleInputKeyDown
553
- })), /*#__PURE__*/_react.default.createElement(_PickerIndicator.default, {
550
+ })), /*#__PURE__*/_react.default.createElement(_Picker.PickerIndicator, {
554
551
  loading: loading,
555
552
  caretAs: caretAs,
556
553
  onClose: handleClean,
@@ -61,7 +61,8 @@ var Toolbar = /*#__PURE__*/_react.default.forwardRef(function Toolbar(props, ref
61
61
  calendarDate: calendarDate,
62
62
  locale: locale,
63
63
  disabledShortcut: disabledShortcut,
64
- onShortcutClick: onShortcutClick
64
+ onShortcutClick: onShortcutClick,
65
+ "data-testid": "daterange-predefined-bottom"
65
66
  }), /*#__PURE__*/_react.default.createElement("div", {
66
67
  className: prefix('right')
67
68
  }, !hideOkBtn && /*#__PURE__*/_react.default.createElement(SubmitButton, {
@@ -64,10 +64,10 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
64
64
  isControlledDate: isControlled
65
65
  };
66
66
  var startDateState = (0, _DateInput.useDateInputState)((0, _extends2.default)({}, dateInputOptions, {
67
- date: value === null || value === void 0 ? void 0 : value[0]
67
+ date: (value === null || value === void 0 ? void 0 : value[0]) || null
68
68
  }));
69
69
  var endDateState = (0, _DateInput.useDateInputState)((0, _extends2.default)({}, dateInputOptions, {
70
- date: value === null || value === void 0 ? void 0 : value[1]
70
+ date: (value === null || value === void 0 ? void 0 : value[1]) || null
71
71
  }));
72
72
  var getActiveState = function getActiveState(type) {
73
73
  if (type === void 0) {