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
@@ -1,23 +1,18 @@
1
1
  'use client';
2
- import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
3
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- var _templateObject, _templateObject2;
6
- import React, { useState, useCallback, useEffect, useRef } from 'react';
7
- import PropTypes from 'prop-types';
8
- import debounce from 'lodash/debounce';
5
+ var _templateObject;
6
+ import React, { useRef, useMemo } from 'react';
9
7
  import ToggleButton from './ToggleButton';
10
- import CloseButton from '../CloseButton';
11
- import { useClassNames, useCustom, KEY_VALUES, mergeRefs } from '../utils';
8
+ import { useClassNames, mergeRefs, useEventCallback } from '../utils';
12
9
  import Plaintext from '../Plaintext';
13
10
  import useToggleCaret from '../utils/useToggleCaret';
14
- import TextMask from '../MaskedInput/TextMask';
15
- import deprecatePropType from '../utils/deprecatePropType';
16
- import Loader from '../Loader';
17
11
  import Stack from '../Stack';
18
- var defaultInputMask = [];
12
+ import PickerIndicator from './PickerIndicator';
13
+ import PickerLabel from './PickerLabel';
19
14
  var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
20
- var activeProp = props.active,
15
+ var active = props.active,
21
16
  _props$as = props.as,
22
17
  Component = _props$as === void 0 ? ToggleButton : _props$as,
23
18
  _props$classPrefix = props.classPrefix,
@@ -30,26 +25,14 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
30
25
  readOnly = props.readOnly,
31
26
  plaintext = props.plaintext,
32
27
  hasValue = props.hasValue,
33
- editable = props.editable,
34
28
  _props$loading = props.loading,
35
29
  loading = _props$loading === void 0 ? false : _props$loading,
36
- cleanableProp = props.cleanable,
30
+ cleanable = props.cleanable,
37
31
  _props$tabIndex = props.tabIndex,
38
- tabIndexProp = _props$tabIndex === void 0 ? editable ? -1 : 0 : _props$tabIndex,
32
+ tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,
39
33
  id = props.id,
40
- value = props.value,
41
- inputPlaceholder = props.inputPlaceholder,
42
34
  inputValueProp = props.inputValue,
43
- _props$inputMask = props.inputMask,
44
- inputMask = _props$inputMask === void 0 ? defaultInputMask : _props$inputMask,
45
- onInputChange = props.onInputChange,
46
- onInputPressEnter = props.onInputPressEnter,
47
- onInputBackspace = props.onInputBackspace,
48
- onInputBlur = props.onInputBlur,
49
- onInputFocus = props.onInputFocus,
50
35
  onClean = props.onClean,
51
- onFocus = props.onFocus,
52
- onBlur = props.onBlur,
53
36
  _props$placement = props.placement,
54
37
  placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
55
38
  caretComponent = props.caretComponent,
@@ -57,102 +40,29 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
57
40
  caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
58
41
  label = props.label,
59
42
  name = props.name,
60
- rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "editable", "loading", "cleanable", "tabIndex", "id", "value", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBackspace", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs", "label", "name"]);
61
- var _useCustom = useCustom(),
62
- locale = _useCustom.locale;
63
- var inputRef = useRef(null);
64
- var comboboxRef = useRef(null);
65
- var _useState = useState(false),
66
- activeState = _useState[0],
67
- setActive = _useState[1];
43
+ rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "loading", "cleanable", "tabIndex", "id", "inputValue", "onClean", "placement", "caretComponent", "caretAs", "label", "name"]);
44
+ var combobox = useRef(null);
68
45
  var _useClassNames = useClassNames(classPrefix),
69
46
  withClassPrefix = _useClassNames.withClassPrefix,
70
47
  merge = _useClassNames.merge,
71
48
  prefix = _useClassNames.prefix;
72
- var getInputValue = useCallback(function () {
73
- return typeof inputValueProp === 'undefined' ? Array.isArray(value) ? value.join(',') : value : inputValueProp;
74
- }, [inputValueProp, value]);
75
- var _useState2 = useState(getInputValue),
76
- inputValue = _useState2[0],
77
- setInputValue = _useState2[1];
78
- useEffect(function () {
79
- if (comboboxRef.current) {
80
- var _value = getInputValue();
81
- setInputValue(_value);
49
+ var inputValue = useMemo(function () {
50
+ if (typeof inputValueProp === 'number' || typeof inputValueProp === 'string') {
51
+ return inputValueProp;
52
+ } else if (Array.isArray(inputValueProp)) {
53
+ return inputValueProp.join(',');
82
54
  }
83
- }, [getInputValue]);
55
+ return '';
56
+ }, [inputValueProp]);
84
57
  var classes = merge(className, withClassPrefix({
85
- active: activeProp || activeState
58
+ active: active
86
59
  }));
87
- var handleFocus = useCallback(function (event) {
88
- if (!loading) {
89
- setActive(true);
90
- }
91
- if (editable) {
92
- // Avoid firing the onFocus event twice when DatePicker and DateRangePicker allow keyboard input.
93
- if (event.target === inputRef.current) {
94
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
95
- }
96
-
97
- // Force the input to be focused and editable.
98
- if (document.activeElement === comboboxRef.current) {
99
- var _inputRef$current;
100
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
101
- }
102
- } else {
103
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
104
- }
105
- }, [editable, loading, onFocus]);
106
- var handleBlur = useCallback(function (event) {
107
- if (inputRef.current && !editable) {
108
- setActive(false);
109
- }
110
-
111
- // When activeElement is an input, it remains active.
112
- if (editable && inputRef.current && document.activeElement !== inputRef.current) {
113
- setActive(false);
114
- }
115
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
116
- }, [editable, onBlur]);
117
- var handleInputBlur = function handleInputBlur(event) {
118
- setInputValue(getInputValue());
119
- onInputBlur === null || onInputBlur === void 0 ? void 0 : onInputBlur(event);
120
- };
121
- var handleClean = useCallback(function (event) {
122
- var _inputRef$current2, _comboboxRef$current;
60
+ var handleClean = useEventCallback(function (event) {
61
+ var _combobox$current;
123
62
  event.stopPropagation();
124
63
  onClean === null || onClean === void 0 ? void 0 : onClean(event);
125
-
126
- // When the value is cleared, the current component is still in focus.
127
- editable ? (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus() : (_comboboxRef$current = comboboxRef.current) === null || _comboboxRef$current === void 0 ? void 0 : _comboboxRef$current.focus();
128
- }, [editable, onClean]);
129
- var handleInputChange = useCallback(function (event) {
130
- var _event$target;
131
- var value = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value;
132
- setInputValue(value);
133
- onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value, event);
134
- }, [onInputChange]);
135
- var handleInputKeyDown = useCallback(function (event) {
136
- if (editable) {
137
- if (event.key === KEY_VALUES.ENTER) {
138
- onInputPressEnter === null || onInputPressEnter === void 0 ? void 0 : onInputPressEnter(event);
139
- }
140
- if (event.key === KEY_VALUES.BACKSPACE) {
141
- onInputBackspace === null || onInputBackspace === void 0 ? void 0 : onInputBackspace(event);
142
- }
143
- }
144
- }, [editable, onInputPressEnter, onInputBackspace]);
145
- var renderInput = useCallback(function (ref, props) {
146
- return /*#__PURE__*/React.createElement("input", _extends({
147
- type: "text",
148
- autoComplete: "off",
149
- ref: mergeRefs(inputRef, ref),
150
- name: name,
151
- style: {
152
- pointerEvents: editable ? undefined : 'none'
153
- }
154
- }, props));
155
- }, [editable, name]);
64
+ (_combobox$current = combobox.current) === null || _combobox$current === void 0 ? void 0 : _combobox$current.focus();
65
+ });
156
66
  var ToggleCaret = useToggleCaret(placement);
157
67
  var Caret = caretAs !== null && caretAs !== void 0 ? caretAs : ToggleCaret;
158
68
  if (plaintext) {
@@ -161,88 +71,53 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
161
71
  localeKey: "notSelected"
162
72
  }, hasValue ? children : null);
163
73
  }
164
- var showCleanButton = cleanableProp && hasValue && !readOnly;
165
-
166
- // When the component is read-only or disabled, the input is not interactive.
167
- var inputFocused = readOnly || disabled ? false : editable && activeState;
168
- var tabIndex = disabled ? undefined : tabIndexProp;
74
+ var showCleanButton = cleanable && hasValue && !readOnly;
169
75
  return /*#__PURE__*/React.createElement(Component, _extends({
170
76
  role: "combobox",
171
77
  "aria-haspopup": "listbox",
172
- "aria-expanded": activeProp,
78
+ "aria-expanded": active,
173
79
  "aria-disabled": disabled,
174
80
  "aria-owns": id ? id + "-listbox" : undefined
175
81
  }, rest, {
176
- ref: mergeRefs(comboboxRef, ref),
82
+ ref: mergeRefs(combobox, ref),
177
83
  disabled: disabled,
178
- tabIndex: tabIndex,
179
- className: classes,
180
- onFocus: !disabled ? handleFocus : null
181
- // The debounce is set to 200 to solve the flicker caused by the switch between input and div.
182
- ,
183
- onBlur: !disabled ? debounce(handleBlur, 200) : null
184
- }), /*#__PURE__*/React.createElement(Stack, null, label && /*#__PURE__*/React.createElement(Stack.Item, null, /*#__PURE__*/React.createElement("span", {
185
- className: prefix('label')
84
+ tabIndex: disabled ? undefined : tabIndex,
85
+ className: classes
86
+ }), /*#__PURE__*/React.createElement(Stack, null, label && /*#__PURE__*/React.createElement(Stack.Item, null, /*#__PURE__*/React.createElement(PickerLabel, {
87
+ as: "span",
88
+ className: prefix('label'),
89
+ id: id ? id + "-label" : undefined
186
90
  }, label)), /*#__PURE__*/React.createElement(Stack.Item, {
187
91
  grow: 1,
188
92
  style: {
189
93
  overflow: 'hidden'
190
94
  }
191
- }, loading ? /*#__PURE__*/React.createElement(Loader, {
192
- style: {
193
- display: 'block',
194
- padding: '1px 0'
195
- },
196
- "data-testid": "spinner"
197
- }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextMask, {
198
- keepCharPositions: true,
199
- mask: inputMask,
200
- value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,
201
- onBlur: handleInputBlur,
202
- onFocus: onInputFocus,
203
- onChange: handleInputChange,
204
- onKeyDown: handleInputKeyDown,
205
- id: id,
206
- "aria-hidden": !inputFocused,
207
- readOnly: !inputFocused,
208
- disabled: disabled,
95
+ }, /*#__PURE__*/React.createElement("input", {
96
+ readOnly: true,
97
+ "aria-hidden": true,
209
98
  "aria-controls": id ? id + "-listbox" : undefined,
210
- tabIndex: editable ? 0 : -1,
211
- className: prefix('textbox', {
212
- 'read-only': !inputFocused
213
- }),
214
- placeholder: inputPlaceholder,
215
- render: renderInput,
216
- "data-testid": "picker-toggle-input"
99
+ "aria-labelledby": label ? id + "-label" : undefined,
100
+ tabIndex: -1,
101
+ "data-testid": "picker-toggle-input",
102
+ name: name,
103
+ value: inputValue,
104
+ id: id,
105
+ className: prefix('textbox', 'read-only'),
106
+ style: {
107
+ pointerEvents: 'none'
108
+ }
217
109
  }), children ? /*#__PURE__*/React.createElement("span", {
218
110
  className: prefix(hasValue ? 'value' : 'placeholder'),
219
111
  "aria-placeholder": typeof children === 'string' ? children : undefined
220
- }, children) : null)), showCleanButton && /*#__PURE__*/React.createElement(CloseButton, {
221
- className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["clean"]))),
222
- tabIndex: -1,
223
- locale: {
224
- closeLabel: locale === null || locale === void 0 ? void 0 : locale.clear
225
- },
226
- onClick: handleClean
227
- }), caret && !showCleanButton && /*#__PURE__*/React.createElement(Caret, {
228
- className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["caret"])))
229
- })));
112
+ }, children) : null), /*#__PURE__*/React.createElement(Stack.Item, {
113
+ className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["indicator"])))
114
+ }, /*#__PURE__*/React.createElement(PickerIndicator, {
115
+ as: React.Fragment,
116
+ loading: loading,
117
+ caretAs: caret ? Caret : null,
118
+ onClose: handleClean,
119
+ showCleanButton: showCleanButton
120
+ }))));
230
121
  });
231
122
  PickerToggle.displayName = 'PickerToggle';
232
- PickerToggle.propTypes = {
233
- classPrefix: PropTypes.string,
234
- hasValue: PropTypes.bool,
235
- cleanable: PropTypes.bool,
236
- className: PropTypes.string,
237
- children: PropTypes.node,
238
- caret: PropTypes.bool,
239
- as: PropTypes.elementType,
240
- onClean: PropTypes.func,
241
- active: PropTypes.bool,
242
- readOnly: PropTypes.bool,
243
- disabled: PropTypes.bool,
244
- plaintext: PropTypes.bool,
245
- caretComponent: deprecatePropType(PropTypes.elementType, 'Use `caretAs` instead.'),
246
- caretAs: PropTypes.elementType
247
- };
248
123
  export default PickerToggle;
@@ -7,9 +7,12 @@ export { default as DropdownMenuGroup } from './DropdownMenuGroup';
7
7
  export { default as DropdownMenuItem } from './DropdownMenuItem';
8
8
  export { default as PickerOverlay } from './PickerOverlay';
9
9
  export { default as PickerToggle } from './PickerToggle';
10
+ export { default as PickerLabel } from './PickerLabel';
11
+ export { default as PickerIndicator } from './PickerIndicator';
10
12
  export { default as PickerToggleTrigger } from './PickerToggleTrigger';
11
13
  export { default as SearchBar } from './SearchBar';
12
14
  export { default as SelectedElement } from './SelectedElement';
15
+ export { default as usePickerRef } from './usePickerRef';
13
16
  export { pickTriggerPropKeys, omitTriggerPropKeys };
14
17
  export type { OverlayTriggerHandle, PositionChildProps, PickerHandle, PickerComponent, PickerToggleProps };
15
18
  export * from './utils';
@@ -6,9 +6,12 @@ export { default as DropdownMenuGroup } from './DropdownMenuGroup';
6
6
  export { default as DropdownMenuItem } from './DropdownMenuItem';
7
7
  export { default as PickerOverlay } from './PickerOverlay';
8
8
  export { default as PickerToggle } from './PickerToggle';
9
+ export { default as PickerLabel } from './PickerLabel';
10
+ export { default as PickerIndicator } from './PickerIndicator';
9
11
  export { default as PickerToggleTrigger } from './PickerToggleTrigger';
10
12
  export { default as SearchBar } from './SearchBar';
11
13
  export { default as SelectedElement } from './SelectedElement';
14
+ export { default as usePickerRef } from './usePickerRef';
12
15
  export { pickTriggerPropKeys, omitTriggerPropKeys };
13
16
  export * from './utils';
14
17
  export * from './propTypes';
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import type { OverlayTriggerHandle } from './PickerToggleTrigger';
3
+ import type { ListHandle } from '../Windowing';
4
+ export interface PickerDependentParameters {
5
+ inline?: boolean;
6
+ }
7
+ /**
8
+ * A hook of the exposed method of Picker
9
+ */
10
+ declare function usePickerRef(ref: any, parmas?: PickerDependentParameters): {
11
+ trigger: import("react").RefObject<OverlayTriggerHandle>;
12
+ root: import("react").MutableRefObject<any>;
13
+ overlay: import("react").RefObject<HTMLElement>;
14
+ target: import("react").RefObject<HTMLElement>;
15
+ list: import("react").RefObject<ListHandle>;
16
+ searchInput: import("react").RefObject<HTMLInputElement>;
17
+ treeView: import("react").RefObject<HTMLDivElement>;
18
+ };
19
+ export default usePickerRef;
@@ -0,0 +1,82 @@
1
+ 'use client';
2
+ import { useImperativeHandle, useRef } from 'react';
3
+ import useEventCallback from '../utils/useEventCallback';
4
+ /**
5
+ * A hook of the exposed method of Picker
6
+ */
7
+ function usePickerRef(ref, parmas) {
8
+ var trigger = useRef(null);
9
+ var root = useRef(null);
10
+ var target = useRef(null);
11
+ var overlay = useRef(null);
12
+ var list = useRef(null);
13
+ var searchInput = useRef(null);
14
+ var treeView = useRef(null);
15
+ var _ref = parmas || {},
16
+ inline = _ref.inline;
17
+ var handleOpen = useEventCallback(function () {
18
+ var _trigger$current;
19
+ trigger === null || trigger === void 0 ? void 0 : (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.open();
20
+ });
21
+ var handleClose = useEventCallback(function () {
22
+ var _trigger$current2;
23
+ trigger === null || trigger === void 0 ? void 0 : (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.close();
24
+ });
25
+ var handleUpdatePosition = useEventCallback(function () {
26
+ var _trigger$current3;
27
+ trigger === null || trigger === void 0 ? void 0 : (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : _trigger$current3.updatePosition();
28
+ });
29
+ useImperativeHandle(ref, function () {
30
+ // Tree and CheckTree
31
+ if (inline) {
32
+ return {
33
+ get root() {
34
+ var _trigger$current$root, _trigger$current4;
35
+ return root !== null && root !== void 0 && root.current ? root === null || root === void 0 ? void 0 : root.current : (_trigger$current$root = trigger === null || trigger === void 0 ? void 0 : (_trigger$current4 = trigger.current) === null || _trigger$current4 === void 0 ? void 0 : _trigger$current4.root) !== null && _trigger$current$root !== void 0 ? _trigger$current$root : null;
36
+ },
37
+ get list() {
38
+ if (!(list !== null && list !== void 0 && list.current)) {
39
+ throw new Error('The list is not found, please set `virtualized` for the component.');
40
+ }
41
+ return list === null || list === void 0 ? void 0 : list.current;
42
+ }
43
+ };
44
+ }
45
+ return {
46
+ get root() {
47
+ var _ref2, _trigger$current5;
48
+ return (_ref2 = (root === null || root === void 0 ? void 0 : root.current) || (trigger === null || trigger === void 0 ? void 0 : (_trigger$current5 = trigger.current) === null || _trigger$current5 === void 0 ? void 0 : _trigger$current5.root)) !== null && _ref2 !== void 0 ? _ref2 : null;
49
+ },
50
+ get overlay() {
51
+ var _overlay$current;
52
+ if (!(overlay !== null && overlay !== void 0 && overlay.current)) {
53
+ throw new Error('The overlay is not found. Please confirm whether the picker is open.');
54
+ }
55
+ return (_overlay$current = overlay === null || overlay === void 0 ? void 0 : overlay.current) !== null && _overlay$current !== void 0 ? _overlay$current : null;
56
+ },
57
+ get target() {
58
+ var _target$current;
59
+ return (_target$current = target === null || target === void 0 ? void 0 : target.current) !== null && _target$current !== void 0 ? _target$current : null;
60
+ },
61
+ get list() {
62
+ if (!(list !== null && list !== void 0 && list.current)) {
63
+ throw new Error("\n The list is not found.\n 1.Please set virtualized for the component.\n 2.Please confirm whether the picker is open.\n ");
64
+ }
65
+ return list === null || list === void 0 ? void 0 : list.current;
66
+ },
67
+ updatePosition: handleUpdatePosition,
68
+ open: handleOpen,
69
+ close: handleClose
70
+ };
71
+ });
72
+ return {
73
+ trigger: trigger,
74
+ root: root,
75
+ overlay: overlay,
76
+ target: target,
77
+ list: list,
78
+ searchInput: searchInput,
79
+ treeView: treeView
80
+ };
81
+ }
82
+ export default usePickerRef;
@@ -68,10 +68,10 @@ export declare const useFocusItemValue: <T, D>(defaultFocusItemValue: T | null |
68
68
  };
69
69
  export interface ToggleKeyDownEventProps {
70
70
  toggle?: boolean;
71
- triggerRef: React.RefObject<any>;
72
- targetRef: React.RefObject<any>;
73
- overlayRef?: React.RefObject<any>;
74
- searchInputRef?: React.RefObject<any>;
71
+ trigger: React.RefObject<any>;
72
+ target: React.RefObject<any>;
73
+ overlay?: React.RefObject<any>;
74
+ searchInput?: React.RefObject<any>;
75
75
  active?: boolean;
76
76
  readOnly?: boolean;
77
77
  disabled?: boolean;
@@ -88,7 +88,7 @@ export interface ToggleKeyDownEventProps {
88
88
  * A hook to control the toggle keyboard operation
89
89
  * @param props
90
90
  */
91
- export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) => (event: React.KeyboardEvent) => void;
91
+ export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) => (...args: any[]) => any;
92
92
  interface SearchOptions<T> {
93
93
  labelKey: string;
94
94
  searchBy?: (keyword: string, label: any, item: T) => boolean;
@@ -113,8 +113,4 @@ export interface PickerDependentParameters {
113
113
  listRef?: React.RefObject<ListHandle>;
114
114
  inline?: boolean;
115
115
  }
116
- /**
117
- * A hook of the exposed method of Picker
118
- */
119
- export declare function usePublicMethods(ref: any, parmas: PickerDependentParameters): void;
120
116
  export {};
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { useState, useImperativeHandle, useCallback, useMemo } from 'react';
3
+ import React, { useState, useCallback, useMemo } from 'react';
4
4
  import kebabCase from 'lodash/kebabCase';
5
5
  import trim from 'lodash/trim';
6
6
  import isFunction from 'lodash/isFunction';
@@ -8,7 +8,7 @@ import isUndefined from 'lodash/isUndefined';
8
8
  import omit from 'lodash/omit';
9
9
  import find from 'lodash/find';
10
10
  import { findNodeOfTree } from '../utils/treeUtils';
11
- import { KEY_VALUES, useClassNames, shallowEqual, reactToString, placementPolyfill } from '../utils';
11
+ import { KEY_VALUES, useClassNames, shallowEqual, reactToString, placementPolyfill, useEventCallback } from '../utils';
12
12
  import { getHeight } from 'dom-lib';
13
13
  var defaultNodeKeys = {
14
14
  valueKey: 'value',
@@ -353,10 +353,10 @@ export var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue,
353
353
  export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
354
354
  var _props$toggle = props.toggle,
355
355
  toggle = _props$toggle === void 0 ? true : _props$toggle,
356
- triggerRef = props.triggerRef,
357
- targetRef = props.targetRef,
358
- overlayRef = props.overlayRef,
359
- searchInputRef = props.searchInputRef,
356
+ trigger = props.trigger,
357
+ target = props.target,
358
+ overlay = props.overlay,
359
+ searchInput = props.searchInput,
360
360
  active = props.active,
361
361
  readOnly = props.readOnly,
362
362
  disabled = props.disabled,
@@ -368,32 +368,32 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
368
368
  onMenuKeyDown = props.onMenuKeyDown,
369
369
  onMenuPressEnter = props.onMenuPressEnter,
370
370
  onMenuPressBackspace = props.onMenuPressBackspace;
371
- var handleClose = useCallback(function () {
372
- var _triggerRef$current, _triggerRef$current$c, _targetRef$current, _targetRef$current$fo;
373
- (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);
371
+ var handleClose = useEventCallback(function () {
372
+ var _trigger$current, _trigger$current$clos, _trigger$current2, _trigger$current2$foc;
373
+ (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
374
374
 
375
375
  // The focus is on the trigger button after closing
376
- (_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);
376
+ (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$foc = _trigger$current2.focus) === null || _trigger$current2$foc === void 0 ? void 0 : _trigger$current2$foc.call(_trigger$current2);
377
377
  onClose === null || onClose === void 0 ? void 0 : onClose();
378
- }, [onClose, targetRef, triggerRef]);
379
- var handleOpen = useCallback(function () {
380
- var _triggerRef$current2, _triggerRef$current2$;
381
- (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : (_triggerRef$current2$ = _triggerRef$current2.open) === null || _triggerRef$current2$ === void 0 ? void 0 : _triggerRef$current2$.call(_triggerRef$current2);
378
+ });
379
+ var handleOpen = useEventCallback(function () {
380
+ var _trigger$current3, _trigger$current3$ope;
381
+ (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : (_trigger$current3$ope = _trigger$current3.open) === null || _trigger$current3$ope === void 0 ? void 0 : _trigger$current3$ope.call(_trigger$current3);
382
382
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
383
- }, [onOpen, triggerRef]);
384
- var handleToggleDropdown = useCallback(function () {
383
+ });
384
+ var handleToggleDropdown = useEventCallback(function () {
385
385
  if (active) {
386
386
  handleClose();
387
387
  return;
388
388
  }
389
389
  handleOpen();
390
- }, [active, handleOpen, handleClose]);
391
- var onToggle = useCallback(function (event) {
390
+ });
391
+ var onToggle = useEventCallback(function (event) {
392
392
  // Keyboard events should not be processed when readOnly and disabled are set.
393
393
  if (readOnly || disabled || loading) {
394
394
  return;
395
395
  }
396
- if (event.target === (targetRef === null || targetRef === void 0 ? void 0 : targetRef.current)) {
396
+ if (event.target === (target === null || target === void 0 ? void 0 : target.current)) {
397
397
  // enter
398
398
  if (toggle && event.key === KEY_VALUES.ENTER) {
399
399
  handleToggleDropdown();
@@ -404,7 +404,7 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
404
404
  onExit === null || onExit === void 0 ? void 0 : onExit(event);
405
405
  }
406
406
  }
407
- if (overlayRef !== null && overlayRef !== void 0 && overlayRef.current) {
407
+ if (overlay !== null && overlay !== void 0 && overlay.current) {
408
408
  // The keyboard operation callback on the menu.
409
409
  onMenuKeyDown === null || onMenuKeyDown === void 0 ? void 0 : onMenuKeyDown(event);
410
410
  if (event.key === KEY_VALUES.ENTER) {
@@ -415,7 +415,7 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
415
415
  * There is no callback when typing the Backspace key in the search box.
416
416
  * The default is to remove search keywords
417
417
  */
418
- if (event.key === KEY_VALUES.BACKSPACE && event.target !== (searchInputRef === null || searchInputRef === void 0 ? void 0 : searchInputRef.current)) {
418
+ if (event.key === KEY_VALUES.BACKSPACE && event.target !== (searchInput === null || searchInput === void 0 ? void 0 : searchInput.current)) {
419
419
  onMenuPressBackspace === null || onMenuPressBackspace === void 0 ? void 0 : onMenuPressBackspace(event);
420
420
  }
421
421
 
@@ -425,8 +425,8 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
425
425
  // Exclude Input
426
426
  // eg: <SelectPicker renderExtraFooter={() => <Input />} />
427
427
  if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.tagName) !== 'INPUT') {
428
- var _searchInputRef$curre;
429
- searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
428
+ var _searchInput$current;
429
+ searchInput === null || searchInput === void 0 ? void 0 : (_searchInput$current = searchInput.current) === null || _searchInput$current === void 0 ? void 0 : _searchInput$current.focus();
430
430
  }
431
431
  }
432
432
  }
@@ -436,7 +436,7 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
436
436
 
437
437
  // Native event callback
438
438
  onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
439
- }, [readOnly, disabled, loading, targetRef, overlayRef, onKeyDown, toggle, handleToggleDropdown, onExit, onMenuKeyDown, searchInputRef, onMenuPressEnter, onMenuPressBackspace, handleClose]);
439
+ });
440
440
  return onToggle;
441
441
  };
442
442
  /**
@@ -484,70 +484,4 @@ export function useSearch(data, props) {
484
484
  handleSearch: handleSearch,
485
485
  resetSearch: resetSearch
486
486
  };
487
- }
488
- /**
489
- * A hook of the exposed method of Picker
490
- */
491
- export function usePublicMethods(ref, parmas) {
492
- var triggerRef = parmas.triggerRef,
493
- overlayRef = parmas.overlayRef,
494
- targetRef = parmas.targetRef,
495
- rootRef = parmas.rootRef,
496
- listRef = parmas.listRef,
497
- inline = parmas.inline;
498
- var handleOpen = useCallback(function () {
499
- var _triggerRef$current3;
500
- triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.open();
501
- }, [triggerRef]);
502
- var handleClose = useCallback(function () {
503
- var _triggerRef$current4;
504
- triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.close();
505
- }, [triggerRef]);
506
- var handleUpdatePosition = useCallback(function () {
507
- var _triggerRef$current5;
508
- triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
509
- }, [triggerRef]);
510
- useImperativeHandle(ref, function () {
511
- // Tree and CheckTree
512
- if (inline) {
513
- return {
514
- get root() {
515
- var _triggerRef$current$r, _triggerRef$current6;
516
- return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current$r = triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current6 = triggerRef.current) === null || _triggerRef$current6 === void 0 ? void 0 : _triggerRef$current6.root) !== null && _triggerRef$current$r !== void 0 ? _triggerRef$current$r : null;
517
- },
518
- get list() {
519
- if (!(listRef !== null && listRef !== void 0 && listRef.current)) {
520
- throw new Error('The list is not found, please set `virtualized` for the component.');
521
- }
522
- return listRef === null || listRef === void 0 ? void 0 : listRef.current;
523
- }
524
- };
525
- }
526
- return {
527
- get root() {
528
- var _ref, _triggerRef$current7;
529
- return (_ref = (rootRef === null || rootRef === void 0 ? void 0 : rootRef.current) || (triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current7 = triggerRef.current) === null || _triggerRef$current7 === void 0 ? void 0 : _triggerRef$current7.root)) !== null && _ref !== void 0 ? _ref : null;
530
- },
531
- get overlay() {
532
- var _overlayRef$current;
533
- if (!(overlayRef !== null && overlayRef !== void 0 && overlayRef.current)) {
534
- throw new Error('The overlay is not found. Please confirm whether the picker is open.');
535
- }
536
- return (_overlayRef$current = overlayRef === null || overlayRef === void 0 ? void 0 : overlayRef.current) !== null && _overlayRef$current !== void 0 ? _overlayRef$current : null;
537
- },
538
- get target() {
539
- var _targetRef$current2;
540
- return (_targetRef$current2 = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) !== null && _targetRef$current2 !== void 0 ? _targetRef$current2 : null;
541
- },
542
- get list() {
543
- if (!(listRef !== null && listRef !== void 0 && listRef.current)) {
544
- throw new Error("\n The list is not found.\n 1.Please set virtualized for the component.\n 2.Please confirm whether the picker is open.\n ");
545
- }
546
- return listRef === null || listRef === void 0 ? void 0 : listRef.current;
547
- },
548
- updatePosition: handleUpdatePosition,
549
- open: handleOpen,
550
- close: handleClose
551
- };
552
- });
553
487
  }