rsuite 5.48.1 → 5.50.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 (203) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/Cascader/styles/index.less +5 -4
  3. package/DatePicker/styles/index.less +18 -11
  4. package/DateRangeInput/package.json +7 -0
  5. package/DateRangePicker/styles/index.less +20 -0
  6. package/Dropdown/styles/index.less +5 -4
  7. package/Dropdown/styles/mixin.less +0 -11
  8. package/InputGroup/styles/index.less +1 -0
  9. package/Picker/styles/index.less +51 -24
  10. package/Picker/styles/mixin.less +17 -13
  11. package/README.md +34 -24
  12. package/Sidenav/styles/index.less +2 -0
  13. package/TagInput/styles/index.less +1 -1
  14. package/cjs/AutoComplete/AutoComplete.js +25 -26
  15. package/cjs/Calendar/Calendar.d.ts +5 -1
  16. package/cjs/Calendar/CalendarContainer.d.ts +7 -1
  17. package/cjs/Calendar/CalendarContainer.js +11 -4
  18. package/cjs/Calendar/CalendarHeader.js +2 -0
  19. package/cjs/Calendar/MonthDropdown.js +7 -2
  20. package/cjs/Calendar/MonthDropdownItem.js +2 -2
  21. package/cjs/Calendar/Table.js +6 -1
  22. package/cjs/Calendar/TimeDropdown.js +17 -10
  23. package/cjs/Calendar/types.d.ts +1 -0
  24. package/cjs/Cascader/Cascader.js +46 -48
  25. package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
  26. package/cjs/CheckPicker/CheckPicker.js +33 -36
  27. package/cjs/CheckTreePicker/CheckTreePicker.js +61 -64
  28. package/cjs/CustomProvider/CustomProvider.d.ts +13 -0
  29. package/cjs/CustomProvider/CustomProvider.js +2 -2
  30. package/cjs/DateInput/DateField.d.ts +9 -31
  31. package/cjs/DateInput/DateField.js +61 -12
  32. package/cjs/DateInput/DateInput.d.ts +7 -2
  33. package/cjs/DateInput/DateInput.js +74 -92
  34. package/cjs/DateInput/index.d.ts +4 -0
  35. package/cjs/DateInput/index.js +19 -1
  36. package/cjs/DateInput/useDateInputState.d.ts +7 -31
  37. package/cjs/DateInput/useDateInputState.js +39 -15
  38. package/cjs/DateInput/useIsFocused.d.ts +7 -0
  39. package/cjs/DateInput/useIsFocused.js +28 -0
  40. package/cjs/DateInput/useKeyboardInputEvent.d.ts +10 -0
  41. package/cjs/DateInput/useKeyboardInputEvent.js +44 -0
  42. package/cjs/DateInput/utils.d.ts +23 -1
  43. package/cjs/DateInput/utils.js +155 -51
  44. package/cjs/DatePicker/DatePicker.d.ts +25 -8
  45. package/cjs/DatePicker/DatePicker.js +208 -241
  46. package/cjs/DatePicker/Toolbar.js +5 -22
  47. package/cjs/DatePicker/utils.d.ts +5 -1
  48. package/cjs/DatePicker/utils.js +17 -1
  49. package/cjs/DateRangeInput/DateRangeInput.d.ts +29 -0
  50. package/cjs/DateRangeInput/DateRangeInput.js +244 -0
  51. package/cjs/DateRangeInput/index.d.ts +3 -0
  52. package/cjs/DateRangeInput/index.js +9 -0
  53. package/cjs/DateRangeInput/utils.d.ts +61 -0
  54. package/cjs/DateRangeInput/utils.js +146 -0
  55. package/cjs/DateRangePicker/Calendar.js +24 -23
  56. package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
  57. package/cjs/DateRangePicker/DateRangePicker.js +251 -203
  58. package/cjs/DateRangePicker/types.d.ts +11 -3
  59. package/cjs/DateRangePicker/utils.d.ts +2 -1
  60. package/cjs/DateRangePicker/utils.js +7 -5
  61. package/cjs/FormControl/FormControl.d.ts +11 -1
  62. package/cjs/FormControl/FormControl.js +6 -5
  63. package/cjs/Input/Input.d.ts +11 -0
  64. package/cjs/Input/Input.js +11 -8
  65. package/cjs/InputPicker/InputPicker.js +62 -63
  66. package/cjs/MultiCascader/MultiCascader.js +40 -42
  67. package/cjs/Overlay/OverlayTrigger.d.ts +3 -0
  68. package/cjs/Overlay/OverlayTrigger.js +5 -0
  69. package/cjs/Picker/PickerIndicator.d.ts +10 -0
  70. package/cjs/Picker/PickerIndicator.js +49 -0
  71. package/cjs/Picker/PickerLabel.d.ts +9 -0
  72. package/cjs/Picker/PickerLabel.js +23 -0
  73. package/cjs/Picker/PickerToggle.d.ts +17 -22
  74. package/cjs/Picker/PickerToggle.js +52 -177
  75. package/cjs/Picker/index.d.ts +3 -0
  76. package/cjs/Picker/index.js +10 -1
  77. package/cjs/Picker/usePickerRef.d.ts +19 -0
  78. package/cjs/Picker/usePickerRef.js +88 -0
  79. package/cjs/Picker/utils.d.ts +5 -9
  80. package/cjs/Picker/utils.js +22 -89
  81. package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
  82. package/cjs/SelectPicker/SelectPicker.js +39 -42
  83. package/cjs/TreePicker/TreePicker.js +72 -75
  84. package/cjs/index.d.ts +2 -0
  85. package/cjs/index.js +3 -1
  86. package/cjs/locales/index.d.ts +2 -2
  87. package/cjs/utils/constants.d.ts +2 -1
  88. package/cjs/utils/constants.js +1 -0
  89. package/cjs/utils/dateUtils.d.ts +0 -1
  90. package/cjs/utils/dateUtils.js +0 -6
  91. package/cjs/utils/getStringLength.d.ts +2 -0
  92. package/cjs/utils/getStringLength.js +18 -0
  93. package/cjs/utils/index.d.ts +3 -0
  94. package/cjs/utils/index.js +11 -2
  95. package/cjs/utils/useCustom.js +1 -1
  96. package/cjs/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  97. package/cjs/utils/useIsomorphicLayoutEffect.js +9 -0
  98. package/dist/rsuite-no-reset-rtl.css +140 -207
  99. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  100. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  101. package/dist/rsuite-no-reset.css +140 -207
  102. package/dist/rsuite-no-reset.min.css +1 -1
  103. package/dist/rsuite-no-reset.min.css.map +1 -1
  104. package/dist/rsuite-rtl.css +140 -75
  105. package/dist/rsuite-rtl.min.css +1 -1
  106. package/dist/rsuite-rtl.min.css.map +1 -1
  107. package/dist/rsuite.css +140 -75
  108. package/dist/rsuite.js +4833 -258
  109. package/dist/rsuite.js.map +1 -1
  110. package/dist/rsuite.min.css +1 -1
  111. package/dist/rsuite.min.css.map +1 -1
  112. package/dist/rsuite.min.js +1 -1
  113. package/dist/rsuite.min.js.map +1 -1
  114. package/esm/AutoComplete/AutoComplete.js +28 -29
  115. package/esm/Calendar/Calendar.d.ts +5 -1
  116. package/esm/Calendar/CalendarContainer.d.ts +7 -1
  117. package/esm/Calendar/CalendarContainer.js +12 -5
  118. package/esm/Calendar/CalendarHeader.js +2 -0
  119. package/esm/Calendar/MonthDropdown.js +7 -2
  120. package/esm/Calendar/MonthDropdownItem.js +2 -2
  121. package/esm/Calendar/Table.js +6 -1
  122. package/esm/Calendar/TimeDropdown.js +17 -10
  123. package/esm/Calendar/types.d.ts +1 -0
  124. package/esm/Cascader/Cascader.js +49 -51
  125. package/esm/CheckPicker/CheckPicker.d.ts +2 -2
  126. package/esm/CheckPicker/CheckPicker.js +36 -39
  127. package/esm/CheckTreePicker/CheckTreePicker.js +64 -67
  128. package/esm/CustomProvider/CustomProvider.d.ts +13 -0
  129. package/esm/CustomProvider/CustomProvider.js +3 -3
  130. package/esm/DateInput/DateField.d.ts +9 -31
  131. package/esm/DateInput/DateField.js +61 -12
  132. package/esm/DateInput/DateInput.d.ts +7 -2
  133. package/esm/DateInput/DateInput.js +77 -95
  134. package/esm/DateInput/index.d.ts +4 -0
  135. package/esm/DateInput/index.js +4 -0
  136. package/esm/DateInput/useDateInputState.d.ts +7 -31
  137. package/esm/DateInput/useDateInputState.js +41 -18
  138. package/esm/DateInput/useIsFocused.d.ts +7 -0
  139. package/esm/DateInput/useIsFocused.js +22 -0
  140. package/esm/DateInput/useKeyboardInputEvent.d.ts +10 -0
  141. package/esm/DateInput/useKeyboardInputEvent.js +38 -0
  142. package/esm/DateInput/utils.d.ts +23 -1
  143. package/esm/DateInput/utils.js +150 -51
  144. package/esm/DatePicker/DatePicker.d.ts +25 -8
  145. package/esm/DatePicker/DatePicker.js +211 -244
  146. package/esm/DatePicker/Toolbar.js +5 -22
  147. package/esm/DatePicker/utils.d.ts +5 -1
  148. package/esm/DatePicker/utils.js +16 -1
  149. package/esm/DateRangeInput/DateRangeInput.d.ts +29 -0
  150. package/esm/DateRangeInput/DateRangeInput.js +237 -0
  151. package/esm/DateRangeInput/index.d.ts +3 -0
  152. package/esm/DateRangeInput/index.js +3 -0
  153. package/esm/DateRangeInput/utils.d.ts +61 -0
  154. package/esm/DateRangeInput/utils.js +137 -0
  155. package/esm/DateRangePicker/Calendar.js +25 -23
  156. package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
  157. package/esm/DateRangePicker/DateRangePicker.js +253 -205
  158. package/esm/DateRangePicker/types.d.ts +11 -3
  159. package/esm/DateRangePicker/utils.d.ts +2 -1
  160. package/esm/DateRangePicker/utils.js +7 -5
  161. package/esm/FormControl/FormControl.d.ts +11 -1
  162. package/esm/FormControl/FormControl.js +4 -3
  163. package/esm/Input/Input.d.ts +11 -0
  164. package/esm/Input/Input.js +12 -9
  165. package/esm/InputPicker/InputPicker.js +64 -65
  166. package/esm/MultiCascader/MultiCascader.js +43 -45
  167. package/esm/Overlay/OverlayTrigger.d.ts +3 -0
  168. package/esm/Overlay/OverlayTrigger.js +5 -0
  169. package/esm/Picker/PickerIndicator.d.ts +10 -0
  170. package/esm/Picker/PickerIndicator.js +43 -0
  171. package/esm/Picker/PickerLabel.d.ts +9 -0
  172. package/esm/Picker/PickerLabel.js +17 -0
  173. package/esm/Picker/PickerToggle.d.ts +17 -22
  174. package/esm/Picker/PickerToggle.js +54 -179
  175. package/esm/Picker/index.d.ts +3 -0
  176. package/esm/Picker/index.js +3 -0
  177. package/esm/Picker/usePickerRef.d.ts +19 -0
  178. package/esm/Picker/usePickerRef.js +82 -0
  179. package/esm/Picker/utils.d.ts +5 -9
  180. package/esm/Picker/utils.js +24 -90
  181. package/esm/SelectPicker/SelectPicker.d.ts +2 -2
  182. package/esm/SelectPicker/SelectPicker.js +42 -45
  183. package/esm/TreePicker/TreePicker.js +75 -78
  184. package/esm/index.d.ts +2 -0
  185. package/esm/index.js +1 -0
  186. package/esm/locales/index.d.ts +2 -2
  187. package/esm/utils/constants.d.ts +2 -1
  188. package/esm/utils/constants.js +1 -0
  189. package/esm/utils/dateUtils.d.ts +0 -1
  190. package/esm/utils/dateUtils.js +0 -5
  191. package/esm/utils/getStringLength.d.ts +2 -0
  192. package/esm/utils/getStringLength.js +13 -0
  193. package/esm/utils/index.d.ts +3 -0
  194. package/esm/utils/index.js +4 -1
  195. package/esm/utils/useCustom.js +2 -2
  196. package/esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  197. package/esm/utils/useIsomorphicLayoutEffect.js +4 -0
  198. package/package.json +1 -1
  199. package/styles/color-modes/dark.less +1 -0
  200. package/styles/color-modes/high-contrast.less +1 -0
  201. package/styles/color-modes/light.less +1 -0
  202. package/styles/mixins/combobox.less +10 -0
  203. package/styles/normalize.less +230 -231
@@ -34,6 +34,7 @@ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props,
34
34
  hoverRangeValue = props.hoverRangeValue,
35
35
  _props$isoWeek = props.isoWeek,
36
36
  isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
37
+ targetId = props.targetId,
37
38
  limitEndYear = props.limitEndYear,
38
39
  limitStartYear = props.limitStartYear,
39
40
  locale = props.locale,
@@ -46,7 +47,7 @@ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props,
46
47
  onToggleMeridian = props.onToggleMeridian,
47
48
  onToggleMonthDropdown = props.onToggleMonthDropdown,
48
49
  onToggleTimeDropdown = props.onToggleTimeDropdown,
49
- calendarDate = props.calendarDate,
50
+ calendarDateProp = props.calendarDate,
50
51
  cellClassName = props.cellClassName,
51
52
  renderCell = props.renderCell,
52
53
  renderTitle = props.renderTitle,
@@ -54,7 +55,7 @@ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props,
54
55
  showMeridian = props.showMeridian,
55
56
  showWeekNumbers = props.showWeekNumbers,
56
57
  inline = props.inline,
57
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "dateRange", "disabledBackward", "defaultState", "disabledDate", "disabledForward", "format", "hoverRangeValue", "isoWeek", "limitEndYear", "limitStartYear", "locale", "onChangeMonth", "onChangeTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "calendarDate", "cellClassName", "renderCell", "renderTitle", "renderToolbar", "showMeridian", "showWeekNumbers", "inline"]);
58
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "dateRange", "disabledBackward", "defaultState", "disabledDate", "disabledForward", "format", "hoverRangeValue", "isoWeek", "targetId", "limitEndYear", "limitStartYear", "locale", "onChangeMonth", "onChangeTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "calendarDate", "cellClassName", "renderCell", "renderTitle", "renderToolbar", "showMeridian", "showWeekNumbers", "inline"]);
58
59
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
59
60
  withClassPrefix = _useClassNames.withClassPrefix,
60
61
  merge = _useClassNames.merge,
@@ -64,6 +65,9 @@ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props,
64
65
  reset = _useCalendarState.reset,
65
66
  openMonth = _useCalendarState.openMonth,
66
67
  openTime = _useCalendarState.openTime;
68
+ var calendarDate = (0, _react.useMemo)(function () {
69
+ return (0, _dateUtils.isValid)(calendarDateProp) ? calendarDateProp : new Date();
70
+ }, [calendarDateProp]);
67
71
  var isDisabledDate = (0, _react.useCallback)(function (date) {
68
72
  var _disabledDate;
69
73
  return (_disabledDate = disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)) !== null && _disabledDate !== void 0 ? _disabledDate : false;
@@ -129,6 +133,7 @@ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props,
129
133
  hoverRangeValue: hoverRangeValue,
130
134
  inSameMonth: inSameThisMonthDate,
131
135
  isoWeek: isoWeek,
136
+ targetId: targetId,
132
137
  locale: locale,
133
138
  onChangeMonth: handleChangeMonth,
134
139
  onChangeTime: onChangeTime,
@@ -139,10 +144,12 @@ var CalendarContainer = /*#__PURE__*/_react.default.forwardRef(function (props,
139
144
  showWeekNumbers: showWeekNumbers,
140
145
  inline: inline
141
146
  };
142
- }, [calendarDate, dateRange, format, handleChangeMonth, hoverRangeValue, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangeTime, onMouseMove, onSelect, cellClassName, renderCell, showWeekNumbers]);
147
+ }, [calendarDate, dateRange, format, handleChangeMonth, hoverRangeValue, inSameThisMonthDate, inline, isDisabledDate, isoWeek, targetId, locale, onChangeTime, onMouseMove, onSelect, cellClassName, renderCell, showWeekNumbers]);
143
148
  return /*#__PURE__*/_react.default.createElement(_CalendarContext.CalendarProvider, {
144
149
  value: contextValue
145
- }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, (0, _dateUtils.omitHideDisabledProps)(rest), {
150
+ }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
151
+ "data-testid": "calendar"
152
+ }, (0, _dateUtils.omitHideDisabledProps)(rest), {
146
153
  className: calendarClasses,
147
154
  ref: ref
148
155
  }), /*#__PURE__*/_react.default.createElement(_CalendarHeader.default, {
@@ -128,6 +128,7 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
128
128
  }), hasMonth && monthToolbar, showTime && /*#__PURE__*/_react.default.createElement("div", {
129
129
  className: prefix('time-toolbar')
130
130
  }, /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {
131
+ "aria-label": "Select time",
131
132
  className: timeTitleClasses,
132
133
  onClick: onToggleTimeDropdown,
133
134
  disabled: disableSelectTime
@@ -135,6 +136,7 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
135
136
  date: date,
136
137
  formatStr: getTimeFormat()
137
138
  })), showMeridian && /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {
139
+ "aria-label": "Toggle meridian",
138
140
  className: prefix('meridian'),
139
141
  onClick: onToggleMeridian,
140
142
  disabled: disableSelectTime
@@ -42,7 +42,8 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
42
42
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "limitStartYear", "limitEndYear", "show", "height", "width", "disabledMonth"]);
43
43
  var _useCalendarContext = (0, _CalendarContext.useCalendarContext)(),
44
44
  _useCalendarContext$d = _useCalendarContext.date,
45
- date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d;
45
+ date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
46
+ targetId = _useCalendarContext.targetId;
46
47
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
47
48
  prefix = _useClassNames.prefix,
48
49
  merge = _useClassNames.merge,
@@ -76,6 +77,7 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
76
77
  return /*#__PURE__*/_react.default.createElement("div", {
77
78
  className: rowClassName,
78
79
  role: "row",
80
+ "aria-label": "" + year,
79
81
  style: style
80
82
  }, /*#__PURE__*/_react.default.createElement("div", {
81
83
  className: titleClassName,
@@ -99,7 +101,10 @@ var MonthDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
99
101
  var initialItemIndex = _utils.DateUtils.getYear(date) - startYear;
100
102
  var initialScrollOffset = itemSize * initialItemIndex;
101
103
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
102
- role: "menu"
104
+ role: "grid",
105
+ "aria-label": "Select month",
106
+ tabIndex: -1,
107
+ id: targetId ? targetId + "-" + classPrefix : undefined
103
108
  }, rest, {
104
109
  ref: ref,
105
110
  className: classes
@@ -61,8 +61,8 @@ var MonthDropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props,
61
61
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
62
62
  key: month,
63
63
  role: "gridcell",
64
- "aria-selected": active ? true : undefined,
65
- "aria-disabled": disabled ? true : undefined,
64
+ "aria-selected": active,
65
+ "aria-disabled": disabled,
66
66
  "aria-label": ariaLabel,
67
67
  tabIndex: active ? 0 : -1,
68
68
  ref: ref,
@@ -11,6 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _TableRow = _interopRequireDefault(require("./TableRow"));
12
12
  var _TableHeaderRow = _interopRequireDefault(require("./TableHeaderRow"));
13
13
  var _utils = require("../utils");
14
+ var _CalendarContext = require("./CalendarContext");
14
15
  var Table = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
15
16
  var _props$as = props.as,
16
17
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -24,8 +25,12 @@ var Table = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
24
25
  merge = _useClassNames.merge,
25
26
  withClassPrefix = _useClassNames.withClassPrefix;
26
27
  var classes = merge(className, withClassPrefix());
28
+ var _useCalendarContext = (0, _CalendarContext.useCalendarContext)(),
29
+ targetId = _useCalendarContext.targetId;
27
30
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
28
- role: "grid"
31
+ role: "grid",
32
+ tabIndex: -1,
33
+ id: targetId ? targetId + "-" + classPrefix : undefined
29
34
  }, rest, {
30
35
  ref: ref,
31
36
  className: classes
@@ -98,7 +98,8 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
98
98
  locale = _useCalendarContext.locale,
99
99
  format = _useCalendarContext.format,
100
100
  date = _useCalendarContext.date,
101
- onSelect = _useCalendarContext.onChangeTime;
101
+ onSelect = _useCalendarContext.onChangeTime,
102
+ targetId = _useCalendarContext.targetId;
102
103
  var rowRef = (0, _react.useRef)(null);
103
104
  (0, _react.useEffect)(function () {
104
105
  var time = getTime({
@@ -149,24 +150,26 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
149
150
  });
150
151
  items.push( /*#__PURE__*/_react.default.createElement("li", {
151
152
  key: i,
152
- role: "menuitem"
153
- }, /*#__PURE__*/_react.default.createElement("a", {
154
- role: "button",
155
- className: itemClasses,
153
+ role: "option",
156
154
  tabIndex: -1,
155
+ "aria-label": i + " " + type,
156
+ "aria-selected": active === i,
157
+ "aria-disabled": disabled,
157
158
  "data-key": type + "-" + i,
158
159
  onClick: !disabled ? (0, _partial.default)(handleClick, type, i) : undefined
160
+ }, /*#__PURE__*/_react.default.createElement("span", {
161
+ className: itemClasses
159
162
  }, showMeridian && type === 'hours' && i === 0 ? '12' : i)));
160
163
  }
161
164
  }
162
165
  return /*#__PURE__*/_react.default.createElement("div", {
163
- className: prefix('column'),
164
- role: "listitem"
166
+ className: prefix('column')
165
167
  }, /*#__PURE__*/_react.default.createElement("div", {
166
168
  className: prefix('column-title')
167
169
  }, locale === null || locale === void 0 ? void 0 : locale[type]), /*#__PURE__*/_react.default.createElement("ul", {
168
170
  "data-type": type,
169
- role: "menu"
171
+ role: "listbox",
172
+ "aria-label": "Select " + type
170
173
  }, items));
171
174
  };
172
175
  var time = getTime({
@@ -174,9 +177,13 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
174
177
  date: date,
175
178
  showMeridian: showMeridian
176
179
  });
177
- var classes = merge(className, rootPrefix(classPrefix));
180
+ var classes = merge(className, rootPrefix(classPrefix), {
181
+ show: show
182
+ });
178
183
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
179
- role: "list"
184
+ role: "group",
185
+ tabIndex: -1,
186
+ id: targetId ? targetId + "-" + classPrefix : undefined
180
187
  }, _utils.DateUtils.omitHideDisabledProps(rest), {
181
188
  ref: ref,
182
189
  className: classes
@@ -16,6 +16,7 @@ export interface CalendarInnerContextValue {
16
16
  cellClassName?: (date: Date) => string | undefined;
17
17
  showWeekNumbers?: boolean;
18
18
  inline?: boolean;
19
+ targetId?: string;
19
20
  }
20
21
  export interface CalendarContextValue extends CalendarInnerContextValue {
21
22
  locale: CalendarLocale;
@@ -82,10 +82,12 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
82
82
  var _useState = (0, _react.useState)(false),
83
83
  active = _useState[0],
84
84
  setActive = _useState[1];
85
- var triggerRef = (0, _react.useRef)(null);
86
- var overlayRef = (0, _react.useRef)(null);
87
- var targetRef = (0, _react.useRef)(null);
88
- var searchInputRef = (0, _react.useRef)(null);
85
+ var _usePickerRef = (0, _Picker.usePickerRef)(ref),
86
+ trigger = _usePickerRef.trigger,
87
+ root = _usePickerRef.root,
88
+ target = _usePickerRef.target,
89
+ overlay = _usePickerRef.overlay,
90
+ searchInput = _usePickerRef.searchInput;
89
91
  var _ref = (0, _utils2.useControlled)(valueProp, defaultValue),
90
92
  value = _ref[0],
91
93
  setValue = _ref[1];
@@ -126,11 +128,6 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
126
128
  columnsToDisplay = _usePaths.columnsToDisplay,
127
129
  pathTowardsActiveItem = _usePaths.pathTowardsActiveItem,
128
130
  pathTowardsSelectedItem = _usePaths.pathTowardsSelectedItem;
129
- (0, _Picker.usePublicMethods)(ref, {
130
- triggerRef: triggerRef,
131
- overlayRef: overlayRef,
132
- targetRef: targetRef
133
- });
134
131
  var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),
135
132
  locale = _useCustom.locale,
136
133
  rtl = _useCustom.rtl;
@@ -145,7 +142,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
145
142
  var _useState3 = (0, _react.useState)(''),
146
143
  searchKeyword = _useState3[0],
147
144
  setSearchKeyword = _useState3[1];
148
- var someKeyword = (0, _react.useCallback)(function (item, keyword) {
145
+ var someKeyword = function someKeyword(item, keyword) {
149
146
  if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {
150
147
  return true;
151
148
  }
@@ -154,8 +151,8 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
154
151
  return true;
155
152
  }
156
153
  return false;
157
- }, [labelKey, parentMap, searchKeyword]);
158
- var getSearchResult = (0, _react.useCallback)(function (keyword) {
154
+ };
155
+ var getSearchResult = function getSearchResult(keyword) {
159
156
  var items = [];
160
157
  var result = flattenedData.filter(function (item) {
161
158
  if (!parentSelectable && item[childrenKey]) {
@@ -172,7 +169,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
172
169
  }
173
170
  }
174
171
  return items;
175
- }, [childrenKey, flattenedData, someKeyword, parentSelectable]);
172
+ };
176
173
 
177
174
  // Used to hover the focuse item when trigger `onKeydown`
178
175
  var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
@@ -181,7 +178,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
181
178
  valueKey: valueKey,
182
179
  defaultLayer: pathTowardsSelectedItem !== null && pathTowardsSelectedItem !== void 0 && pathTowardsSelectedItem.length ? pathTowardsSelectedItem.length - 1 : 0,
183
180
  target: function target() {
184
- return overlayRef.current;
181
+ return overlay.current;
185
182
  },
186
183
  getParent: function getParent(item) {
187
184
  return parentMap.get(item);
@@ -197,7 +194,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
197
194
  setLayer = _useFocusItemValue.setLayer,
198
195
  setKeys = _useFocusItemValue.setKeys,
199
196
  onFocusItem = _useFocusItemValue.onKeyDown;
200
- var handleSearch = (0, _react.useCallback)(function (value, event) {
197
+ var handleSearch = (0, _utils2.useEventCallback)(function (value, event) {
201
198
  var items = getSearchResult(value);
202
199
  setSearchKeyword(value);
203
200
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
@@ -210,37 +207,37 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
210
207
  setLayer(0);
211
208
  setKeys([]);
212
209
  }
213
- }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);
214
- var handleEntered = (0, _react.useCallback)(function () {
215
- if (!targetRef.current) {
210
+ });
211
+ var handleEntered = (0, _utils2.useEventCallback)(function () {
212
+ if (!target.current) {
216
213
  return;
217
214
  }
218
215
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
219
216
  setActive(true);
220
- }, [onOpen]);
221
- var handleExited = (0, _react.useCallback)(function () {
222
- if (!targetRef.current) {
217
+ });
218
+ var handleExited = (0, _utils2.useEventCallback)(function () {
219
+ if (!target.current) {
223
220
  return;
224
221
  }
225
222
  onClose === null || onClose === void 0 ? void 0 : onClose();
226
223
  setActive(false);
227
224
  setSearchKeyword('');
228
- }, [onClose]);
229
- var handleClose = (0, _react.useCallback)(function () {
230
- var _triggerRef$current, _targetRef$current, _targetRef$current$fo;
231
- (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();
225
+ });
226
+ var handleClose = (0, _utils2.useEventCallback)(function () {
227
+ var _trigger$current, _target$current, _target$current$focus;
228
+ (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.close();
232
229
 
233
230
  // The focus is on the trigger button after closing
234
- (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : (_targetRef$current$fo = _targetRef$current.focus) === null || _targetRef$current$fo === void 0 ? void 0 : _targetRef$current$fo.call(_targetRef$current);
235
- }, []);
236
- var handleClean = (0, _react.useCallback)(function (event) {
237
- if (disabled || !targetRef.current) {
231
+ (_target$current = target.current) === null || _target$current === void 0 ? void 0 : (_target$current$focus = _target$current.focus) === null || _target$current$focus === void 0 ? void 0 : _target$current$focus.call(_target$current);
232
+ });
233
+ var handleClean = (0, _utils2.useEventCallback)(function (event) {
234
+ if (disabled || !target.current) {
238
235
  return;
239
236
  }
240
237
  setValue(null);
241
238
  onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
242
- }, [disabled, onChange, setValue]);
243
- var handleMenuPressEnter = (0, _react.useCallback)(function (event) {
239
+ });
240
+ var handleMenuPressEnter = (0, _utils2.useEventCallback)(function (event) {
244
241
  var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
245
242
  return item[valueKey] === focusItemValue;
246
243
  });
@@ -256,20 +253,20 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
256
253
  }
257
254
  handleClose();
258
255
  }
259
- }, [childrenKey, data, focusItemValue, handleClose, onChange, pathTowardsActiveItem, setLayer, setValue, value, valueKey, onSelect]);
256
+ });
260
257
  var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({
261
258
  toggle: !focusItemValue || !active,
262
- triggerRef: triggerRef,
263
- targetRef: targetRef,
264
- overlayRef: overlayRef,
265
- searchInputRef: searchInputRef,
259
+ trigger: trigger,
260
+ target: target,
261
+ overlay: overlay,
262
+ searchInput: searchInput,
266
263
  active: active,
267
264
  onExit: handleClean,
268
265
  onMenuKeyDown: onFocusItem,
269
266
  onMenuPressEnter: handleMenuPressEnter
270
267
  }, rest));
271
- var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {
272
- var _node$childrenKey, _triggerRef$current2;
268
+ var handleSelect = (0, _utils2.useEventCallback)(function (node, cascadePaths, isLeafNode, event) {
269
+ var _node$childrenKey, _trigger$current2;
273
270
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
274
271
  setActiveItem(node);
275
272
  var nextValue = node[valueKey];
@@ -307,20 +304,20 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
307
304
  }
308
305
 
309
306
  // Update menu position
310
- (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.updatePosition();
311
- };
307
+ (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.updatePosition();
308
+ });
312
309
 
313
310
  /**
314
311
  * The search structure option is processed after being selected.
315
312
  */
316
- var handleSearchRowSelect = function handleSearchRowSelect(node, nodes, event) {
313
+ var handleSearchRowSelect = (0, _utils2.useEventCallback)(function (node, nodes, event) {
317
314
  var nextValue = node[valueKey];
318
315
  handleClose();
319
316
  setSearchKeyword('');
320
317
  setValue(nextValue);
321
318
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);
322
319
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
323
- };
320
+ });
324
321
  var renderSearchRow = function renderSearchRow(item, key) {
325
322
  var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');
326
323
  var nodes = (0, _treeUtils.getPathTowardsItem)(item, function (item) {
@@ -397,16 +394,16 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
397
394
  inline: inline
398
395
  }));
399
396
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
400
- ref: (0, _utils2.mergeRefs)(overlayRef, speakerRef),
397
+ ref: (0, _utils2.mergeRefs)(overlay, speakerRef),
401
398
  className: classes,
402
399
  style: styles,
403
- target: triggerRef,
400
+ target: trigger,
404
401
  onKeyDown: onPickerKeyDown
405
402
  }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {
406
403
  placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
407
404
  onChange: handleSearch,
408
405
  value: searchKeyword,
409
- inputRef: searchInputRef
406
+ inputRef: searchInput
410
407
  }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {
411
408
  id: id ? id + "-listbox" : undefined,
412
409
  menuWidth: menuWidth,
@@ -465,17 +462,18 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
465
462
  }
466
463
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
467
464
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
468
- ref: triggerRef,
465
+ ref: trigger,
469
466
  placement: placement,
470
467
  onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEnter),
471
468
  onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),
472
469
  speaker: renderDropdownMenu
473
470
  }, /*#__PURE__*/_react.default.createElement(Component, {
474
471
  className: classes,
475
- style: style
472
+ style: style,
473
+ ref: root
476
474
  }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
477
475
  id: id,
478
- ref: targetRef,
476
+ ref: target,
479
477
  as: toggleAs,
480
478
  appearance: appearance,
481
479
  disabled: disabled,
@@ -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>>;
@@ -86,11 +86,13 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
86
86
  onClose = props.onClose,
87
87
  onOpen = props.onOpen,
88
88
  rest = (0, _objectWithoutPropertiesLoose2.default)(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"]);
89
- var triggerRef = (0, _react.useRef)(null);
90
- var targetRef = (0, _react.useRef)(null);
91
- var overlayRef = (0, _react.useRef)(null);
92
- var searchInputRef = (0, _react.useRef)(null);
93
- var listRef = (0, _react.useRef)(null);
89
+ var _usePickerRef = (0, _Picker.usePickerRef)(ref),
90
+ trigger = _usePickerRef.trigger,
91
+ root = _usePickerRef.root,
92
+ target = _usePickerRef.target,
93
+ overlay = _usePickerRef.overlay,
94
+ list = _usePickerRef.list,
95
+ searchInput = _usePickerRef.searchInput;
94
96
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
95
97
  locale = _useCustom.locale;
96
98
  var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue || []),
@@ -100,18 +102,18 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
100
102
  data: data,
101
103
  valueKey: valueKey,
102
104
  target: function target() {
103
- return overlayRef.current;
105
+ return overlay.current;
104
106
  }
105
107
  }),
106
108
  focusItemValue = _useFocusItemValue.focusItemValue,
107
109
  setFocusItemValue = _useFocusItemValue.setFocusItemValue,
108
110
  onFocusItem = _useFocusItemValue.onKeyDown;
109
- var handleSearchCallback = (0, _react.useCallback)(function (searchKeyword, filteredData, event) {
111
+ var handleSearchCallback = (0, _utils.useEventCallback)(function (searchKeyword, filteredData, event) {
110
112
  var _filteredData$;
111
113
  // The first option after filtering is the focus.
112
114
  setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);
113
115
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
114
- }, [setFocusItemValue, onSearch, valueKey]);
116
+ });
115
117
 
116
118
  // Use search keywords to filter options.
117
119
  var _useSearch = (0, _Picker.useSearch)(data, {
@@ -145,17 +147,17 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
145
147
  }
146
148
  setStickyItems(nextStickyItems);
147
149
  };
148
- var handleChangeValue = (0, _react.useCallback)(function (value, event) {
150
+ var handleChangeValue = (0, _utils.useEventCallback)(function (value, event) {
149
151
  onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
150
- }, [onChange]);
151
- var handleClean = (0, _react.useCallback)(function (event) {
152
+ });
153
+ var handleClean = (0, _utils.useEventCallback)(function (event) {
152
154
  if (disabled || !cleanable) {
153
155
  return;
154
156
  }
155
157
  setValue([]);
156
158
  onClean === null || onClean === void 0 ? void 0 : onClean(event);
157
159
  handleChangeValue([], event);
158
- }, [disabled, cleanable, setValue, onClean, handleChangeValue]);
160
+ });
159
161
  var handleMenuPressEnter = function handleMenuPressEnter(event) {
160
162
  var nextValue = (0, _clone.default)(value);
161
163
  if (!focusItemValue) {
@@ -179,10 +181,10 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
179
181
  };
180
182
  var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
181
183
  toggle: !focusItemValue || !active,
182
- triggerRef: triggerRef,
183
- targetRef: targetRef,
184
- overlayRef: overlayRef,
185
- searchInputRef: searchInputRef,
184
+ trigger: trigger,
185
+ target: target,
186
+ overlay: overlay,
187
+ searchInput: searchInput,
186
188
  active: active,
187
189
  onExit: handleClean,
188
190
  onMenuKeyDown: onFocusItem,
@@ -192,10 +194,10 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
192
194
  setFocusItemValue(null);
193
195
  }
194
196
  }, rest));
195
- var handleSelect = (0, _react.useCallback)(function (nextItemValue, item, event) {
197
+ var handleSelect = (0, _utils.useEventCallback)(function (nextItemValue, item, event) {
196
198
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextItemValue, item, event);
197
- }, [onSelect]);
198
- var handleItemSelect = (0, _react.useCallback)(function (nextItemValue, item, event, checked) {
199
+ });
200
+ var handleItemSelect = (0, _utils.useEventCallback)(function (nextItemValue, item, event, checked) {
199
201
  var nextValue = (0, _clone.default)(value);
200
202
  if (checked) {
201
203
  nextValue.push(nextItemValue);
@@ -208,22 +210,16 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
208
210
  setFocusItemValue(nextItemValue);
209
211
  handleSelect(nextValue, item, event);
210
212
  handleChangeValue(nextValue, event);
211
- }, [value, setValue, handleSelect, handleChangeValue, setFocusItemValue]);
212
- var handleEntered = (0, _react.useCallback)(function () {
213
+ });
214
+ var handleEntered = (0, _utils.useEventCallback)(function () {
213
215
  setActive(true);
214
216
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
215
- }, [onOpen]);
216
- var handleExited = (0, _react.useCallback)(function () {
217
+ });
218
+ var handleExited = (0, _utils.useEventCallback)(function () {
217
219
  resetSearch();
218
220
  setFocusItemValue(null);
219
221
  setActive(false);
220
222
  onClose === null || onClose === void 0 ? void 0 : onClose();
221
- }, [onClose, setFocusItemValue, resetSearch]);
222
- (0, _Picker.usePublicMethods)(ref, {
223
- triggerRef: triggerRef,
224
- overlayRef: overlayRef,
225
- targetRef: targetRef,
226
- listRef: listRef
227
223
  });
228
224
  var selectedItems = data.filter(function (item) {
229
225
  return value === null || value === void 0 ? void 0 : value.some(function (val) {
@@ -287,7 +283,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
287
283
  var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
288
284
  id: id ? id + "-listbox" : undefined,
289
285
  listProps: listProps,
290
- listRef: listRef,
286
+ listRef: list,
291
287
  disabledItemValues: disabledItemValues,
292
288
  valueKey: valueKey,
293
289
  labelKey: labelKey,
@@ -310,17 +306,17 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
310
306
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
311
307
  }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
312
308
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
313
- ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),
309
+ ref: (0, _utils.mergeRefs)(overlay, speakerRef),
314
310
  autoWidth: menuAutoWidth,
315
311
  className: classes,
316
312
  style: styles,
317
313
  onKeyDown: onPickerKeyDown,
318
- target: triggerRef
314
+ target: trigger
319
315
  }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {
320
316
  placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
321
317
  onChange: handleSearch,
322
318
  value: searchKeyword,
323
- inputRef: searchInputRef
319
+ inputRef: searchInput
324
320
  }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
325
321
  };
326
322
  var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
@@ -335,7 +331,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
335
331
  usedClassNamePropKeys = _usePickerClassName[1];
336
332
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
337
333
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
338
- ref: triggerRef,
334
+ ref: trigger,
339
335
  placement: placement,
340
336
  onEnter: (0, _utils.createChainedFunction)(initStickyItems, onEnter),
341
337
  onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),
@@ -343,10 +339,11 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
343
339
  speaker: renderDropdownMenu
344
340
  }, /*#__PURE__*/_react.default.createElement(Component, {
345
341
  className: classes,
346
- style: style
342
+ style: style,
343
+ ref: root
347
344
  }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
348
345
  id: id,
349
- ref: targetRef,
346
+ ref: target,
350
347
  appearance: appearance,
351
348
  disabled: disabled,
352
349
  onClean: handleClean,