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
@@ -27,9 +27,20 @@ var _getDataGroupBy = require("../utils/getDataGroupBy");
27
27
  var _Picker = require("../Picker");
28
28
  var _Tag = _interopRequireDefault(require("../Tag"));
29
29
  var _InputAutosize = _interopRequireDefault(require("./InputAutosize"));
30
- var _InputSearch = _interopRequireDefault(require("./InputSearch"));
30
+ var _TextBox = _interopRequireDefault(require("./TextBox"));
31
31
  var _InputPickerContext = _interopRequireDefault(require("./InputPickerContext"));
32
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
33
+ var convertSize = function convertSize(size) {
34
+ switch (size) {
35
+ case 'lg':
36
+ return 'lg';
37
+ case 'sm':
38
+ case 'xs':
39
+ return 'sm';
40
+ default:
41
+ return 'md';
42
+ }
43
+ };
33
44
  /**
34
45
  * Single item selector with text box input.
35
46
  *
@@ -115,11 +126,13 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
115
126
  if (groupBy === valueKey || groupBy === labelKey) {
116
127
  throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
117
128
  }
118
- var overlayRef = (0, _react.useRef)(null);
119
- var targetRef = (0, _react.useRef)(null);
120
- var triggerRef = (0, _react.useRef)(null);
121
129
  var inputRef = (0, _react.useRef)();
122
- var listRef = (0, _react.useRef)(null);
130
+ var _usePickerRef = (0, _Picker.usePickerRef)(ref),
131
+ triggerRef = _usePickerRef.trigger,
132
+ root = _usePickerRef.root,
133
+ target = _usePickerRef.target,
134
+ overlay = _usePickerRef.overlay,
135
+ list = _usePickerRef.list;
123
136
  var _useCustom = (0, _utils.useCustom)(['Picker', 'InputPicker'], overrideLocale),
124
137
  locale = _useCustom.locale;
125
138
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
@@ -148,34 +161,34 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
148
161
  value = _useControlled[0],
149
162
  setValue = _useControlled[1],
150
163
  isControlled = _useControlled[2];
151
- var cloneValue = (0, _react.useCallback)(function () {
164
+ var cloneValue = function cloneValue() {
152
165
  return multi ? (0, _clone.default)(value) || [] : value;
153
- }, [multi, value]);
154
- var handleClose = (0, _react.useCallback)(function () {
155
- var _triggerRef$current, _targetRef$current, _targetRef$current$fo;
166
+ };
167
+ var handleClose = (0, _utils.useEventCallback)(function () {
168
+ var _triggerRef$current, _target$current, _target$current$focus;
156
169
  triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();
157
170
 
158
171
  // The focus is on the trigger button after closing
159
- (_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);
160
- }, []);
172
+ (_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);
173
+ });
161
174
 
162
175
  // Used to hover the focuse item when trigger `onKeydown`
163
176
  var _useFocusItemValue = (0, _Picker.useFocusItemValue)(multi ? value === null || value === void 0 ? void 0 : value[0] : value, {
164
177
  data: getAllDataAndCache(),
165
178
  valueKey: valueKey,
166
179
  target: function target() {
167
- return overlayRef.current;
180
+ return overlay.current;
168
181
  }
169
182
  }),
170
183
  focusItemValue = _useFocusItemValue.focusItemValue,
171
184
  setFocusItemValue = _useFocusItemValue.setFocusItemValue,
172
185
  onKeyDown = _useFocusItemValue.onKeyDown;
173
- var handleSearchCallback = (0, _react.useCallback)(function (searchKeyword, filteredData, event) {
186
+ var handleSearchCallback = (0, _utils.useEventCallback)(function (searchKeyword, filteredData, event) {
174
187
  var _filteredData$;
175
188
  // The first option after filtering is the focus.
176
189
  setFocusItemValue(disabledOptions ? searchKeyword : (filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]) || searchKeyword);
177
190
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
178
- }, [disabledOptions, setFocusItemValue, valueKey, onSearch]);
191
+ });
179
192
 
180
193
  // Use search keywords to filter options.
181
194
  var _useSearch = (0, _Picker.useSearch)(getAllData(), {
@@ -201,14 +214,16 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
201
214
  if ((_triggerRef$current2 = triggerRef.current) !== null && _triggerRef$current2 !== void 0 && _triggerRef$current2.root) {
202
215
  setMaxWidth((0, _getWidth.default)(triggerRef.current.root));
203
216
  }
217
+ // eslint-disable-next-line react-hooks/exhaustive-deps
204
218
  }, []);
205
219
 
206
220
  // Update the position of the menu when the search keyword and value change
207
221
  (0, _react.useEffect)(function () {
208
222
  var _triggerRef$current3, _triggerRef$current3$;
209
223
  (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : (_triggerRef$current3$ = _triggerRef$current3.updatePosition) === null || _triggerRef$current3$ === void 0 ? void 0 : _triggerRef$current3$.call(_triggerRef$current3);
224
+ // eslint-disable-next-line react-hooks/exhaustive-deps
210
225
  }, [searchKeyword, value]);
211
- var getDateItem = function getDateItem(value) {
226
+ var getDataItem = function getDataItem(value) {
212
227
  // Find active `MenuItem` by `value`
213
228
  var allData = getAllDataAndCache();
214
229
  var activeItem = allData.find(function (item) {
@@ -224,23 +239,23 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
224
239
  itemNode: itemNode
225
240
  };
226
241
  };
227
- var getInput = (0, _react.useCallback)(function () {
242
+ var getInput = function getInput() {
228
243
  var _inputRef$current;
229
244
  return multi ? (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.input : inputRef.current;
230
- }, [inputRef, multi]);
231
- var focusInput = (0, _react.useCallback)(function () {
245
+ };
246
+ var focusInput = function focusInput() {
232
247
  var _getInput;
233
248
  return (_getInput = getInput()) === null || _getInput === void 0 ? void 0 : _getInput.focus();
234
- }, [getInput]);
235
- var blurInput = (0, _react.useCallback)(function () {
249
+ };
250
+ var blurInput = function blurInput() {
236
251
  var _getInput2;
237
252
  return (_getInput2 = getInput()) === null || _getInput2 === void 0 ? void 0 : _getInput2.blur();
238
- }, [getInput]);
253
+ };
239
254
 
240
255
  /**
241
256
  * Convert the string of the newly created option into an object.
242
257
  */
243
- var createOption = (0, _react.useCallback)(function (value) {
258
+ var createOption = function createOption(value) {
244
259
  var _ref2;
245
260
  if (groupBy) {
246
261
  var _ref;
@@ -251,11 +266,11 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
251
266
  return _ref2 = {
252
267
  create: true
253
268
  }, _ref2[valueKey] = value, _ref2[labelKey] = value, _ref2;
254
- }, [groupBy, valueKey, labelKey, locale]);
255
- var handleChange = (0, _react.useCallback)(function (value, event) {
269
+ };
270
+ var handleChange = (0, _utils.useEventCallback)(function (value, event) {
256
271
  onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
257
- }, [onChange]);
258
- var handleRemoveItemByTag = (0, _react.useCallback)(function (tag, event) {
272
+ });
273
+ var handleRemoveItemByTag = (0, _utils.useEventCallback)(function (tag, event) {
259
274
  event.stopPropagation();
260
275
  var val = cloneValue();
261
276
  (0, _remove.default)(val, function (itemVal) {
@@ -264,15 +279,15 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
264
279
  setValue(val);
265
280
  handleChange(val, event);
266
281
  onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(tag, event);
267
- }, [cloneValue, setValue, handleChange, onTagRemove]);
268
- var handleSelect = (0, _react.useCallback)(function (value, item, event) {
282
+ });
283
+ var handleSelect = (0, _utils.useEventCallback)(function (value, item, event) {
269
284
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
270
285
  if (creatable && item.create) {
271
286
  delete item.create;
272
287
  onCreate === null || onCreate === void 0 ? void 0 : onCreate(value, item, event);
273
288
  setNewData(newData.concat(item));
274
289
  }
275
- }, [creatable, newData, onSelect, onCreate]);
290
+ });
276
291
 
277
292
  /**
278
293
  * Callback triggered by single selection
@@ -280,14 +295,14 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
280
295
  * @param item
281
296
  * @param event
282
297
  */
283
- var handleSelectItem = function handleSelectItem(value, item, event) {
298
+ var handleSelectItem = (0, _utils.useEventCallback)(function (value, item, event) {
284
299
  setValue(value);
285
300
  setFocusItemValue(value);
286
301
  resetSearch();
287
302
  handleSelect(value, item, event);
288
303
  handleChange(value, event);
289
304
  handleClose();
290
- };
305
+ });
291
306
 
292
307
  /**
293
308
  * Callback triggered by multiple selection
@@ -296,7 +311,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
296
311
  * @param event
297
312
  * @param checked
298
313
  */
299
- var handleCheckTag = function handleCheckTag(nextItemValue, item, event, checked) {
314
+ var handleCheckTag = (0, _utils.useEventCallback)(function (nextItemValue, item, event, checked) {
300
315
  var val = cloneValue();
301
316
  if (checked) {
302
317
  val.push(nextItemValue);
@@ -311,8 +326,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
311
326
  handleSelect(val, item, event);
312
327
  handleChange(val, event);
313
328
  focusInput();
314
- };
315
- var handleTagKeyPress = (0, _react.useCallback)(function (event) {
329
+ });
330
+ var handleTagKeyPress = (0, _utils.useEventCallback)(function (event) {
316
331
  // When composing, ignore the keypress event.
317
332
  if (event.nativeEvent.isComposing) {
318
333
  return;
@@ -348,8 +363,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
348
363
  resetSearch();
349
364
  handleSelect(val, focusItem, event);
350
365
  handleChange(val, event);
351
- }, [cloneValue, getAllData, focusItemValue, disabledItemValues, disabledOptions, setValue, resetSearch, handleSelect, handleChange, valueKey, createOption]);
352
- var handleMenuItemKeyPress = (0, _react.useCallback)(function (event) {
366
+ });
367
+ var handleMenuItemKeyPress = (0, _utils.useEventCallback)(function (event) {
353
368
  if (!focusItemValue || !controlledData) {
354
369
  return;
355
370
  }
@@ -378,19 +393,13 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
378
393
  }
379
394
  handleChange(focusItemValue, event);
380
395
  handleClose();
381
- }, [setValue, disabledItemValues, controlledData, focusItemValue, valueKey, searchKeyword, handleClose, resetSearch, createOption, getAllData, handleChange, handleSelect]);
382
- (0, _Picker.usePublicMethods)(ref, {
383
- triggerRef: triggerRef,
384
- overlayRef: overlayRef,
385
- targetRef: targetRef,
386
- listRef: listRef
387
396
  });
388
397
 
389
398
  /**
390
399
  * Remove the last item, after pressing the back key on the keyboard.
391
400
  * @param event
392
401
  */
393
- var removeLastItem = (0, _react.useCallback)(function (event) {
402
+ var removeLastItem = (0, _utils.useEventCallback)(function (event) {
394
403
  var target = event === null || event === void 0 ? void 0 : event.target;
395
404
  if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {
396
405
  focusInput();
@@ -403,8 +412,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
403
412
  val.pop();
404
413
  setValue(val);
405
414
  handleChange(val, event);
406
- }, [setValue, focusInput, handleChange, cloneValue]);
407
- var handleClean = (0, _react.useCallback)(function (event) {
415
+ });
416
+ var handleClean = (0, _utils.useEventCallback)(function (event) {
408
417
  if (disabled || searchKeyword !== '') {
409
418
  return;
410
419
  }
@@ -417,14 +426,14 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
417
426
  handleChange(null, event);
418
427
  }
419
428
  onClean === null || onClean === void 0 ? void 0 : onClean(event);
420
- }, [disabled, searchKeyword, setValue, setFocusItemValue, resetSearch, multi, onClean, handleChange]);
429
+ });
421
430
  var events = {
422
431
  onMenuPressBackspace: multi ? removeLastItem : handleClean,
423
432
  onMenuKeyDown: onKeyDown,
424
433
  onMenuPressEnter: undefined,
425
434
  onKeyDown: undefined
426
435
  };
427
- var handleKeyPress = (0, _react.useCallback)(function (event) {
436
+ var handleKeyPress = (0, _utils.useEventCallback)(function (event) {
428
437
  // When typing a space, create a tag.
429
438
  if ((0, _utils.isOneOf)('Space', trigger) && event.key === _utils.KEY_VALUES.SPACE) {
430
439
  handleTagKeyPress(event);
@@ -436,7 +445,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
436
445
  handleTagKeyPress(event);
437
446
  event.preventDefault();
438
447
  }
439
- }, [handleTagKeyPress, trigger]);
448
+ });
440
449
  if (multi) {
441
450
  if ((0, _utils.isOneOf)('Enter', trigger)) {
442
451
  events.onMenuPressEnter = handleTagKeyPress;
@@ -448,31 +457,31 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
448
457
  events.onMenuPressEnter = handleMenuItemKeyPress;
449
458
  }
450
459
  var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
451
- triggerRef: triggerRef,
452
- targetRef: targetRef,
453
- overlayRef: overlayRef
460
+ trigger: triggerRef,
461
+ target: target,
462
+ overlay: overlay
454
463
  }, events, rest));
455
- var handleExited = (0, _react.useCallback)(function () {
464
+ var handleExited = (0, _utils.useEventCallback)(function () {
456
465
  setFocusItemValue(multi ? value === null || value === void 0 ? void 0 : value[0] : value);
457
466
  resetSearch();
458
467
  onClose === null || onClose === void 0 ? void 0 : onClose();
459
- }, [setFocusItemValue, resetSearch, onClose, value, multi]);
460
- var handleFocus = (0, _react.useCallback)(function () {
468
+ });
469
+ var handleFocus = (0, _utils.useEventCallback)(function () {
461
470
  if (!readOnly) {
462
471
  var _triggerRef$current4;
463
472
  setOpen(true);
464
473
  (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.open();
465
474
  }
466
- }, [readOnly]);
467
- var handleEnter = (0, _react.useCallback)(function () {
475
+ });
476
+ var handleEnter = (0, _utils.useEventCallback)(function () {
468
477
  focusInput();
469
478
  setOpen(true);
470
- }, [focusInput]);
471
- var handleExit = (0, _react.useCallback)(function () {
479
+ });
480
+ var handleExit = (0, _utils.useEventCallback)(function () {
472
481
  blurInput();
473
482
  setOpen(false);
474
- }, [blurInput]);
475
- var renderDropdownMenuItem = function renderDropdownMenuItem(label, item) {
483
+ });
484
+ var renderListItem = function renderListItem(label, item) {
476
485
  // 'Create option "{0}"' => Create option "xxxxx"
477
486
  var newLabel = item.create ? /*#__PURE__*/_react.default.createElement("span", null, (0, _utils.tplTransform)(locale.createOption, label)) : label;
478
487
  return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;
@@ -484,7 +493,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
484
493
  itemNode: null
485
494
  };
486
495
  }
487
- var dataItem = getDateItem(value);
496
+ var dataItem = getDataItem(value);
488
497
  var itemNode = dataItem.itemNode;
489
498
  if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {
490
499
  itemNode = renderValue(value, dataItem.activeItem, itemNode);
@@ -505,17 +514,19 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
505
514
  var tags = value || [];
506
515
  var items = [];
507
516
  var tagElements = tags.map(function (tag) {
508
- var _getDateItem = getDateItem(tag),
509
- isValid = _getDateItem.isValid,
510
- itemNode = _getDateItem.itemNode,
511
- activeItem = _getDateItem.activeItem;
517
+ var _getDataItem = getDataItem(tag),
518
+ isValid = _getDataItem.isValid,
519
+ itemNode = _getDataItem.itemNode,
520
+ activeItem = _getDataItem.activeItem;
512
521
  items.push(activeItem);
513
522
  if (!isValid) {
514
523
  return null;
515
524
  }
516
- return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends2.default)({}, tagRest, {
525
+ return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends2.default)({
526
+ role: "option"
527
+ }, tagRest, {
517
528
  key: tag,
518
- size: rest.size === 'lg' ? 'lg' : rest.size === 'xs' ? 'sm' : 'md',
529
+ size: convertSize(rest.size),
519
530
  closable: !disabled && closable && !readOnly && !plaintext,
520
531
  title: typeof itemNode === 'string' ? itemNode : undefined,
521
532
  onClose: (0, _utils.createChainedFunction)(handleRemoveItemByTag.bind(null, tag), onClose)
@@ -528,7 +539,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
528
539
  }
529
540
  return tagElements;
530
541
  };
531
- var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
542
+ var renderPopup = function renderPopup(positionProps, speakerRef) {
532
543
  var left = positionProps.left,
533
544
  top = positionProps.top,
534
545
  className = positionProps.className;
@@ -552,21 +563,20 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
552
563
  items = items.sort(sort(false));
553
564
  }
554
565
  if (disabledOptions) {
555
- return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
556
- ref: (0, _utils.mergeRefs)(overlayRef, speakerRef)
566
+ return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
567
+ ref: (0, _utils.mergeRefs)(overlay, speakerRef)
557
568
  });
558
569
  }
559
- var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
560
- id: id ? id + "-listbox" : undefined,
570
+ var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.Listbox, {
561
571
  listProps: listProps,
562
- listRef: listRef,
572
+ listRef: list,
563
573
  disabledItemValues: disabledItemValues,
564
574
  valueKey: valueKey,
565
575
  labelKey: labelKey,
566
576
  classPrefix: menuClassPrefix,
567
- dropdownMenuItemClassPrefix: multi ? undefined : menuClassPrefix + "-item",
568
- dropdownMenuItemAs: multi ? _Picker.DropdownMenuCheckItem : _Picker.DropdownMenuItem,
569
- dropdownMenuItemProps: {
577
+ listItemClassPrefix: multi ? undefined : menuClassPrefix + "-item",
578
+ listItemAs: multi ? _Picker.ListCheckItem : _Picker.ListItem,
579
+ listItemProps: {
570
580
  renderMenuItemCheckbox: renderMenuItemCheckbox
571
581
  },
572
582
  activeItemValues: multi ? value : [value],
@@ -581,13 +591,13 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
581
591
  onSelect: multi ? handleCheckTag : handleSelectItem // fixme don't use any
582
592
  ,
583
593
  renderMenuGroup: renderMenuGroup,
584
- renderMenuItem: renderDropdownMenuItem,
594
+ renderMenuItem: renderListItem,
585
595
  virtualized: virtualized
586
596
  }) : /*#__PURE__*/_react.default.createElement("div", {
587
597
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
588
598
  }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
589
- return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
590
- ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),
599
+ return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
600
+ ref: (0, _utils.mergeRefs)(overlay, speakerRef),
591
601
  autoWidth: menuAutoWidth,
592
602
  className: classes,
593
603
  style: styles,
@@ -619,7 +629,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
619
629
  usedClassNamePropKeys = _usePickerClassName[1];
620
630
  var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["tag"])))] = multi, _merge[prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["focused"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["disabled-options"])))] = disabledOptions, _merge));
621
631
  var searching = !!searchKeyword && open;
622
- var displaySearchInput = searchable && !disabled && !rest.loading;
632
+ var editable = searchable && !disabled && !rest.loading;
623
633
  var inputProps = multi ? {
624
634
  inputStyle: {
625
635
  maxWidth: maxWidth - 63
@@ -640,11 +650,13 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
640
650
  }
641
651
  return /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({
642
652
  localeKey: "notSelected",
643
- ref: targetRef
653
+ ref: target
644
654
  }, plaintextProps), itemNode || (tagElements !== null && tagElements !== void 0 && tagElements.length ? tagElements : null) || placeholder);
645
655
  }
646
656
  var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);
647
657
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
658
+ id: id,
659
+ multiple: multi,
648
660
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
649
661
  ref: triggerRef,
650
662
  trigger: "active",
@@ -652,19 +664,19 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
652
664
  onEntered: (0, _utils.createChainedFunction)(onEntered, onOpen),
653
665
  onExit: (0, _utils.createChainedFunction)(handleExit, onExit),
654
666
  onExited: (0, _utils.createChainedFunction)(handleExited, onExited),
655
- speaker: renderDropdownMenu,
667
+ speaker: renderPopup,
656
668
  placement: placement
657
669
  }, /*#__PURE__*/_react.default.createElement(Component, {
658
670
  className: classes,
659
671
  style: style,
660
672
  onClick: focusInput,
661
- onKeyDown: onPickerKeyDown
673
+ onKeyDown: onPickerKeyDown,
674
+ ref: root
662
675
  }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
663
- id: id,
664
676
  appearance: appearance,
665
677
  readOnly: readOnly,
666
678
  plaintext: plaintext,
667
- ref: targetRef,
679
+ ref: target,
668
680
  as: toggleAs,
669
681
  tabIndex: tabIndex,
670
682
  onClean: handleClean,
@@ -674,18 +686,22 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
674
686
  disabled: disabled,
675
687
  placement: placement,
676
688
  inputValue: value,
689
+ focusItemValue: focusItemValue,
677
690
  caret: !disabledOptions
678
- }), searching || multi && hasValue ? null : itemNode || placeholderNode), !(!multi && disabled) && /*#__PURE__*/_react.default.createElement("div", {
679
- className: prefix(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["tag-wrapper"])))
680
- }, tagElements, displaySearchInput && /*#__PURE__*/_react.default.createElement(_InputSearch.default, (0, _extends2.default)({}, inputProps, {
681
- tabIndex: -1,
691
+ }), searching || multi && hasValue ? null : itemNode || placeholderNode), /*#__PURE__*/_react.default.createElement(_TextBox.default, {
692
+ showTagList: hasValue && multi,
693
+ tags: tagElements,
694
+ editable: editable,
682
695
  readOnly: readOnly,
696
+ disabled: disabled,
697
+ multiple: multi,
683
698
  onBlur: onBlur,
684
699
  onFocus: (0, _utils.createChainedFunction)(handleFocus, onFocus),
685
700
  inputRef: inputRef,
686
701
  onChange: handleSearch,
687
- value: open ? searchKeyword : ''
688
- })))));
702
+ inputValue: open ? searchKeyword : '',
703
+ inputProps: inputProps
704
+ })));
689
705
  });
690
706
  InputPicker.displayName = 'InputPicker';
691
707
  InputPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
@@ -2,14 +2,12 @@
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
5
  exports.__esModule = true;
7
6
  exports.default = void 0;
8
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
10
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _react = _interopRequireDefault(require("react"));
13
11
  var _utils = require("../utils");
14
12
  var _templateObject;
15
13
  var InputSearch = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
@@ -25,10 +23,10 @@ var InputSearch = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
25
23
  readOnly = props.readOnly,
26
24
  onChange = props.onChange,
27
25
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "children", "className", "value", "inputRef", "style", "readOnly", "onChange"]);
28
- var handleChange = (0, _react.useCallback)(function (event) {
26
+ var handleChange = (0, _utils.useEventCallback)(function (event) {
29
27
  var _event$target;
30
28
  onChange === null || onChange === void 0 ? void 0 : onChange(event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value, event);
31
- }, [onChange]);
29
+ });
32
30
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
33
31
  withClassPrefix = _useClassNames.withClassPrefix,
34
32
  merge = _useClassNames.merge,
@@ -47,15 +45,5 @@ var InputSearch = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
47
45
  })), children);
48
46
  });
49
47
  InputSearch.displayName = 'InputSearch';
50
- InputSearch.propTypes = {
51
- classPrefix: _propTypes.default.string,
52
- value: _propTypes.default.string,
53
- className: _propTypes.default.string,
54
- children: _propTypes.default.node,
55
- style: _propTypes.default.object,
56
- inputRef: _utils.TypeChecker.refType,
57
- as: _propTypes.default.elementType,
58
- onChange: _propTypes.default.func
59
- };
60
48
  var _default = InputSearch;
61
49
  exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const TagList: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
3
+ export default TagList;
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _utils = require("../utils");
12
+ var _useCombobox2 = _interopRequireDefault(require("../Picker/hooks/useCombobox"));
13
+ var _templateObject;
14
+ var TagList = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
15
+ var children = props.children,
16
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["children"]);
17
+ var _useClassNames = (0, _utils.useClassNames)('picker'),
18
+ prefix = _useClassNames.prefix;
19
+ var _useCombobox = (0, _useCombobox2.default)(),
20
+ id = _useCombobox.id;
21
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
22
+ ref: ref,
23
+ role: "listbox",
24
+ id: id + "-describe",
25
+ className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["tag-list"])))
26
+ }, rest), children);
27
+ });
28
+ var _default = TagList;
29
+ exports.default = _default;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { InputSearchProps } from './InputSearch';
3
+ interface TextBoxProps {
4
+ tags?: React.ReactNode;
5
+ inputProps?: InputSearchProps;
6
+ readOnly?: boolean;
7
+ disabled?: boolean;
8
+ onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
9
+ onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
10
+ onChange?: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
11
+ inputValue?: string;
12
+ inputRef?: React.Ref<HTMLInputElement>;
13
+ editable?: boolean;
14
+ multiple?: boolean;
15
+ showTagList?: boolean;
16
+ }
17
+ declare const TextBox: React.ForwardRefExoticComponent<TextBoxProps & React.RefAttributes<HTMLDivElement>>;
18
+ export default TextBox;
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _TagList = _interopRequireDefault(require("./TagList"));
12
+ var _utils = require("../utils");
13
+ var _InputSearch = _interopRequireDefault(require("./InputSearch"));
14
+ var _templateObject;
15
+ var TextBox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
16
+ var tags = props.tags,
17
+ inputProps = props.inputProps,
18
+ readOnly = props.readOnly,
19
+ disabled = props.disabled,
20
+ multiple = props.multiple,
21
+ onBlur = props.onBlur,
22
+ onFocus = props.onFocus,
23
+ onChange = props.onChange,
24
+ inputValue = props.inputValue,
25
+ inputRef = props.inputRef,
26
+ editable = props.editable,
27
+ showTagList = props.showTagList,
28
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["tags", "inputProps", "readOnly", "disabled", "multiple", "onBlur", "onFocus", "onChange", "inputValue", "inputRef", "editable", "showTagList"]);
29
+ var _useClassNames = (0, _utils.useClassNames)('picker'),
30
+ prefix = _useClassNames.prefix;
31
+ if (!multiple && disabled) {
32
+ return null;
33
+ }
34
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
35
+ className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["textbox"]))),
36
+ ref: ref
37
+ }, rest), showTagList ? /*#__PURE__*/_react.default.createElement(_TagList.default, null, tags) : null, editable && /*#__PURE__*/_react.default.createElement(_InputSearch.default, (0, _extends2.default)({}, inputProps, {
38
+ tabIndex: -1,
39
+ readOnly: readOnly,
40
+ onBlur: onBlur,
41
+ onFocus: onFocus,
42
+ inputRef: inputRef,
43
+ onChange: onChange,
44
+ value: inputValue
45
+ })));
46
+ });
47
+ var _default = TextBox;
48
+ exports.default = _default;