@sheinx/base 3.8.0-beta.2 → 3.8.0-beta.21

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 (331) hide show
  1. package/cjs/absolute-list/absolute-list.js +2 -2
  2. package/cjs/alert/alert.d.ts.map +1 -1
  3. package/cjs/alert/alert.js +1 -1
  4. package/cjs/avatar/avatar.type.d.ts +5 -0
  5. package/cjs/avatar/avatar.type.d.ts.map +1 -1
  6. package/cjs/avatar/group.js +1 -1
  7. package/cjs/breadcrumb/breadcrumb-item.d.ts +11 -0
  8. package/cjs/breadcrumb/breadcrumb-item.d.ts.map +1 -0
  9. package/cjs/breadcrumb/breadcrumb-item.js +83 -0
  10. package/cjs/breadcrumb/breadcrumb.d.ts.map +1 -1
  11. package/cjs/breadcrumb/breadcrumb.js +34 -32
  12. package/cjs/breadcrumb/breadcrumb.type.d.ts +4 -0
  13. package/cjs/breadcrumb/breadcrumb.type.d.ts.map +1 -1
  14. package/cjs/cascader/cascader.d.ts.map +1 -1
  15. package/cjs/cascader/cascader.js +29 -7
  16. package/cjs/cascader/cascader.type.d.ts +8 -0
  17. package/cjs/cascader/cascader.type.d.ts.map +1 -1
  18. package/cjs/cascader/list.d.ts.map +1 -1
  19. package/cjs/cascader/list.js +0 -13
  20. package/cjs/cascader/node.d.ts.map +1 -1
  21. package/cjs/cascader/node.js +13 -11
  22. package/cjs/cascader/node.type.d.ts +0 -2
  23. package/cjs/cascader/node.type.d.ts.map +1 -1
  24. package/cjs/common/use-tip.js +1 -1
  25. package/cjs/config/locale/en_US.d.ts +3 -0
  26. package/cjs/config/locale/en_US.d.ts.map +1 -1
  27. package/cjs/config/locale/en_US.js +3 -0
  28. package/cjs/config/locale/zh-CN.d.ts +3 -0
  29. package/cjs/config/locale/zh-CN.d.ts.map +1 -1
  30. package/cjs/config/locale/zh-CN.js +3 -0
  31. package/cjs/date-picker/date-picker.d.ts.map +1 -1
  32. package/cjs/date-picker/date-picker.js +6 -2
  33. package/cjs/date-picker/date-picker.type.d.ts +3 -3
  34. package/cjs/date-picker/date-picker.type.d.ts.map +1 -1
  35. package/cjs/date-picker/day.d.ts.map +1 -1
  36. package/cjs/date-picker/day.js +3 -1
  37. package/cjs/date-picker/picker.d.ts.map +1 -1
  38. package/cjs/date-picker/picker.js +1 -0
  39. package/cjs/date-picker/picker.type.d.ts +2 -1
  40. package/cjs/date-picker/picker.type.d.ts.map +1 -1
  41. package/cjs/date-picker/result.d.ts +4 -4
  42. package/cjs/date-picker/result.d.ts.map +1 -1
  43. package/cjs/date-picker/result.js +1 -1
  44. package/cjs/date-picker/time.d.ts.map +1 -1
  45. package/cjs/date-picker/time.js +5 -2
  46. package/cjs/dropdown/Item.d.ts.map +1 -1
  47. package/cjs/dropdown/Item.js +3 -1
  48. package/cjs/form/form-field.d.ts.map +1 -1
  49. package/cjs/form/form-field.js +25 -2
  50. package/cjs/form/form-field.type.d.ts +12 -21
  51. package/cjs/form/form-field.type.d.ts.map +1 -1
  52. package/cjs/form/form-fieldset.d.ts.map +1 -1
  53. package/cjs/form/form-fieldset.js +12 -2
  54. package/cjs/form/form-fieldset.type.d.ts +35 -23
  55. package/cjs/form/form-fieldset.type.d.ts.map +1 -1
  56. package/cjs/form/form-flow.type.d.ts +11 -7
  57. package/cjs/form/form-flow.type.d.ts.map +1 -1
  58. package/cjs/form/form-item.d.ts.map +1 -1
  59. package/cjs/form/form-item.js +19 -6
  60. package/cjs/form/form-item.type.d.ts +1 -0
  61. package/cjs/form/form-item.type.d.ts.map +1 -1
  62. package/cjs/form/form.d.ts.map +1 -1
  63. package/cjs/form/form.js +2 -1
  64. package/cjs/form/form.type.d.ts +34 -24
  65. package/cjs/form/form.type.d.ts.map +1 -1
  66. package/cjs/form/form.type.js +4 -0
  67. package/cjs/form/index.d.ts +1 -1
  68. package/cjs/form/index.d.ts.map +1 -1
  69. package/cjs/input/input-password.d.ts.map +1 -1
  70. package/cjs/input/input-password.js +2 -1
  71. package/cjs/input/input.d.ts.map +1 -1
  72. package/cjs/input/input.js +1 -0
  73. package/cjs/input/input.type.d.ts +11 -5
  74. package/cjs/input/input.type.d.ts.map +1 -1
  75. package/cjs/input/simple-input.d.ts.map +1 -1
  76. package/cjs/input/simple-input.js +31 -5
  77. package/cjs/input/use-input-common.d.ts +1 -1
  78. package/cjs/input/use-input-common.d.ts.map +1 -1
  79. package/cjs/input/use-input-common.js +42 -19
  80. package/cjs/modal/modal-content.d.ts.map +1 -1
  81. package/cjs/modal/modal-content.js +31 -17
  82. package/cjs/select/list-columns.d.ts.map +1 -1
  83. package/cjs/select/list-columns.js +2 -1
  84. package/cjs/select/list.d.ts.map +1 -1
  85. package/cjs/select/list.js +2 -0
  86. package/cjs/select/result-more.d.ts.map +1 -1
  87. package/cjs/select/result-more.js +5 -15
  88. package/cjs/select/result-more.type.d.ts +0 -1
  89. package/cjs/select/result-more.type.d.ts.map +1 -1
  90. package/cjs/select/result.d.ts.map +1 -1
  91. package/cjs/select/result.js +24 -8
  92. package/cjs/select/result.type.d.ts +1 -0
  93. package/cjs/select/result.type.d.ts.map +1 -1
  94. package/cjs/select/select.d.ts.map +1 -1
  95. package/cjs/select/select.js +11 -2
  96. package/cjs/select/select.type.d.ts +9 -0
  97. package/cjs/select/select.type.d.ts.map +1 -1
  98. package/cjs/sticky/sticky.d.ts.map +1 -1
  99. package/cjs/sticky/sticky.js +104 -21
  100. package/cjs/sticky/sticky.type.d.ts +6 -0
  101. package/cjs/sticky/sticky.type.d.ts.map +1 -1
  102. package/cjs/table/table.d.ts.map +1 -1
  103. package/cjs/table/table.js +43 -21
  104. package/cjs/table/table.type.d.ts +88 -82
  105. package/cjs/table/table.type.d.ts.map +1 -1
  106. package/cjs/table/td.d.ts.map +1 -1
  107. package/cjs/table/td.js +5 -23
  108. package/cjs/table/tfoot.d.ts.map +1 -1
  109. package/cjs/table/tfoot.js +6 -2
  110. package/cjs/table/tfoot.type.d.ts +1 -0
  111. package/cjs/table/tfoot.type.d.ts.map +1 -1
  112. package/cjs/table/thead-filter.d.ts.map +1 -1
  113. package/cjs/table/thead-filter.js +17 -7
  114. package/cjs/table/thead.d.ts.map +1 -1
  115. package/cjs/table/thead.js +17 -1
  116. package/cjs/table/thead.type.d.ts +1 -1
  117. package/cjs/table/thead.type.d.ts.map +1 -1
  118. package/cjs/tabs/tabs-header.d.ts.map +1 -1
  119. package/cjs/tabs/tabs-header.js +18 -11
  120. package/cjs/textarea/simple-textarea.d.ts.map +1 -1
  121. package/cjs/textarea/simple-textarea.js +4 -1
  122. package/cjs/textarea/textarea.d.ts.map +1 -1
  123. package/cjs/textarea/textarea.js +2 -1
  124. package/cjs/tooltip/tooltip.type.d.ts +0 -6
  125. package/cjs/tooltip/tooltip.type.d.ts.map +1 -1
  126. package/cjs/transfer/transfer-list-item.d.ts.map +1 -1
  127. package/cjs/transfer/transfer-list-item.js +14 -3
  128. package/cjs/transfer/transfer-list-item.type.d.ts +2 -1
  129. package/cjs/transfer/transfer-list-item.type.d.ts.map +1 -1
  130. package/cjs/transfer/transfer-list.js +1 -1
  131. package/cjs/transfer/transfer.d.ts.map +1 -1
  132. package/cjs/transfer/transfer.js +12 -5
  133. package/cjs/transfer/transfer.type.d.ts +8 -1
  134. package/cjs/transfer/transfer.type.d.ts.map +1 -1
  135. package/cjs/tree/tree-content.d.ts.map +1 -1
  136. package/cjs/tree/tree-content.js +2 -0
  137. package/cjs/tree/tree-content.type.d.ts +1 -0
  138. package/cjs/tree/tree-content.type.d.ts.map +1 -1
  139. package/cjs/tree/tree-node.type.d.ts +1 -0
  140. package/cjs/tree/tree-node.type.d.ts.map +1 -1
  141. package/cjs/tree/tree-simple-node.d.ts.map +1 -1
  142. package/cjs/tree/tree-simple-node.js +3 -1
  143. package/cjs/tree/tree-virtual-node.d.ts.map +1 -1
  144. package/cjs/tree/tree-virtual-node.js +15 -2
  145. package/cjs/tree/tree-virtual.d.ts.map +1 -1
  146. package/cjs/tree/tree-virtual.js +9 -2
  147. package/cjs/tree/tree.type.d.ts +2 -1
  148. package/cjs/tree/tree.type.d.ts.map +1 -1
  149. package/cjs/tree-select/tree-select.d.ts.map +1 -1
  150. package/cjs/tree-select/tree-select.js +19 -4
  151. package/cjs/tree-select/tree-select.type.d.ts +1 -0
  152. package/cjs/tree-select/tree-select.type.d.ts.map +1 -1
  153. package/cjs/upload/button.d.ts.map +1 -1
  154. package/cjs/upload/button.js +0 -1
  155. package/cjs/upload/button.type.d.ts +1 -1
  156. package/cjs/upload/button.type.d.ts.map +1 -1
  157. package/cjs/upload/useInputClick.d.ts +1 -0
  158. package/cjs/upload/useInputClick.d.ts.map +1 -1
  159. package/cjs/upload/useInputClick.js +4 -0
  160. package/cjs/virtual-scroll/scroll-table.d.ts.map +1 -1
  161. package/cjs/virtual-scroll/scroll-table.js +6 -2
  162. package/cjs/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  163. package/cjs/virtual-scroll/virtual-scroll-list.js +8 -2
  164. package/cjs/virtual-scroll/virtual-scroll-list.type.d.ts +1 -0
  165. package/cjs/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  166. package/esm/absolute-list/absolute-list.js +2 -2
  167. package/esm/alert/alert.d.ts.map +1 -1
  168. package/esm/alert/alert.js +1 -1
  169. package/esm/avatar/avatar.type.d.ts +5 -0
  170. package/esm/avatar/avatar.type.d.ts.map +1 -1
  171. package/esm/avatar/group.js +1 -1
  172. package/esm/breadcrumb/breadcrumb-item.d.ts +11 -0
  173. package/esm/breadcrumb/breadcrumb-item.d.ts.map +1 -0
  174. package/esm/breadcrumb/breadcrumb-item.js +76 -0
  175. package/esm/breadcrumb/breadcrumb.d.ts.map +1 -1
  176. package/esm/breadcrumb/breadcrumb.js +34 -33
  177. package/esm/breadcrumb/breadcrumb.type.d.ts +4 -0
  178. package/esm/breadcrumb/breadcrumb.type.d.ts.map +1 -1
  179. package/esm/cascader/cascader.d.ts.map +1 -1
  180. package/esm/cascader/cascader.js +29 -7
  181. package/esm/cascader/cascader.type.d.ts +8 -0
  182. package/esm/cascader/cascader.type.d.ts.map +1 -1
  183. package/esm/cascader/list.d.ts.map +1 -1
  184. package/esm/cascader/list.js +1 -14
  185. package/esm/cascader/node.d.ts.map +1 -1
  186. package/esm/cascader/node.js +13 -11
  187. package/esm/cascader/node.type.d.ts +0 -2
  188. package/esm/cascader/node.type.d.ts.map +1 -1
  189. package/esm/common/use-tip.js +1 -1
  190. package/esm/config/locale/en_US.d.ts +3 -0
  191. package/esm/config/locale/en_US.d.ts.map +1 -1
  192. package/esm/config/locale/en_US.js +3 -0
  193. package/esm/config/locale/zh-CN.d.ts +3 -0
  194. package/esm/config/locale/zh-CN.d.ts.map +1 -1
  195. package/esm/config/locale/zh-CN.js +3 -0
  196. package/esm/date-picker/date-picker.d.ts.map +1 -1
  197. package/esm/date-picker/date-picker.js +6 -2
  198. package/esm/date-picker/date-picker.type.d.ts +3 -3
  199. package/esm/date-picker/date-picker.type.d.ts.map +1 -1
  200. package/esm/date-picker/day.d.ts.map +1 -1
  201. package/esm/date-picker/day.js +3 -1
  202. package/esm/date-picker/picker.d.ts.map +1 -1
  203. package/esm/date-picker/picker.js +1 -0
  204. package/esm/date-picker/picker.type.d.ts +2 -1
  205. package/esm/date-picker/picker.type.d.ts.map +1 -1
  206. package/esm/date-picker/result.d.ts +4 -4
  207. package/esm/date-picker/result.d.ts.map +1 -1
  208. package/esm/date-picker/result.js +1 -1
  209. package/esm/date-picker/time.d.ts.map +1 -1
  210. package/esm/date-picker/time.js +5 -2
  211. package/esm/dropdown/Item.d.ts.map +1 -1
  212. package/esm/dropdown/Item.js +3 -1
  213. package/esm/form/form-field.d.ts.map +1 -1
  214. package/esm/form/form-field.js +26 -3
  215. package/esm/form/form-field.type.d.ts +12 -21
  216. package/esm/form/form-field.type.d.ts.map +1 -1
  217. package/esm/form/form-fieldset.d.ts.map +1 -1
  218. package/esm/form/form-fieldset.js +12 -2
  219. package/esm/form/form-fieldset.type.d.ts +35 -23
  220. package/esm/form/form-fieldset.type.d.ts.map +1 -1
  221. package/esm/form/form-flow.type.d.ts +11 -7
  222. package/esm/form/form-flow.type.d.ts.map +1 -1
  223. package/esm/form/form-item.d.ts.map +1 -1
  224. package/esm/form/form-item.js +17 -6
  225. package/esm/form/form-item.type.d.ts +1 -0
  226. package/esm/form/form-item.type.d.ts.map +1 -1
  227. package/esm/form/form.d.ts.map +1 -1
  228. package/esm/form/form.js +2 -1
  229. package/esm/form/form.type.d.ts +34 -24
  230. package/esm/form/form.type.d.ts.map +1 -1
  231. package/esm/form/form.type.js +5 -0
  232. package/esm/form/index.d.ts +1 -1
  233. package/esm/form/index.d.ts.map +1 -1
  234. package/esm/input/input-password.d.ts.map +1 -1
  235. package/esm/input/input-password.js +2 -1
  236. package/esm/input/input.d.ts.map +1 -1
  237. package/esm/input/input.js +1 -0
  238. package/esm/input/input.type.d.ts +11 -5
  239. package/esm/input/input.type.d.ts.map +1 -1
  240. package/esm/input/simple-input.d.ts.map +1 -1
  241. package/esm/input/simple-input.js +32 -6
  242. package/esm/input/use-input-common.d.ts +1 -1
  243. package/esm/input/use-input-common.d.ts.map +1 -1
  244. package/esm/input/use-input-common.js +42 -19
  245. package/esm/modal/modal-content.d.ts.map +1 -1
  246. package/esm/modal/modal-content.js +31 -17
  247. package/esm/select/list-columns.d.ts.map +1 -1
  248. package/esm/select/list-columns.js +2 -1
  249. package/esm/select/list.d.ts.map +1 -1
  250. package/esm/select/list.js +2 -0
  251. package/esm/select/result-more.d.ts.map +1 -1
  252. package/esm/select/result-more.js +5 -15
  253. package/esm/select/result-more.type.d.ts +0 -1
  254. package/esm/select/result-more.type.d.ts.map +1 -1
  255. package/esm/select/result.d.ts.map +1 -1
  256. package/esm/select/result.js +24 -8
  257. package/esm/select/result.type.d.ts +1 -0
  258. package/esm/select/result.type.d.ts.map +1 -1
  259. package/esm/select/select.d.ts.map +1 -1
  260. package/esm/select/select.js +11 -2
  261. package/esm/select/select.type.d.ts +9 -0
  262. package/esm/select/select.type.d.ts.map +1 -1
  263. package/esm/sticky/sticky.d.ts.map +1 -1
  264. package/esm/sticky/sticky.js +104 -21
  265. package/esm/sticky/sticky.type.d.ts +6 -0
  266. package/esm/sticky/sticky.type.d.ts.map +1 -1
  267. package/esm/table/table.d.ts.map +1 -1
  268. package/esm/table/table.js +44 -22
  269. package/esm/table/table.type.d.ts +88 -82
  270. package/esm/table/table.type.d.ts.map +1 -1
  271. package/esm/table/td.d.ts.map +1 -1
  272. package/esm/table/td.js +4 -20
  273. package/esm/table/tfoot.d.ts.map +1 -1
  274. package/esm/table/tfoot.js +6 -2
  275. package/esm/table/tfoot.type.d.ts +1 -0
  276. package/esm/table/tfoot.type.d.ts.map +1 -1
  277. package/esm/table/thead-filter.d.ts.map +1 -1
  278. package/esm/table/thead-filter.js +17 -7
  279. package/esm/table/thead.d.ts.map +1 -1
  280. package/esm/table/thead.js +17 -1
  281. package/esm/table/thead.type.d.ts +1 -1
  282. package/esm/table/thead.type.d.ts.map +1 -1
  283. package/esm/tabs/tabs-header.d.ts.map +1 -1
  284. package/esm/tabs/tabs-header.js +18 -11
  285. package/esm/textarea/simple-textarea.d.ts.map +1 -1
  286. package/esm/textarea/simple-textarea.js +4 -1
  287. package/esm/textarea/textarea.d.ts.map +1 -1
  288. package/esm/textarea/textarea.js +2 -1
  289. package/esm/tooltip/tooltip.type.d.ts +0 -6
  290. package/esm/tooltip/tooltip.type.d.ts.map +1 -1
  291. package/esm/transfer/transfer-list-item.d.ts.map +1 -1
  292. package/esm/transfer/transfer-list-item.js +16 -5
  293. package/esm/transfer/transfer-list-item.type.d.ts +2 -1
  294. package/esm/transfer/transfer-list-item.type.d.ts.map +1 -1
  295. package/esm/transfer/transfer-list.js +1 -1
  296. package/esm/transfer/transfer.d.ts.map +1 -1
  297. package/esm/transfer/transfer.js +13 -6
  298. package/esm/transfer/transfer.type.d.ts +8 -1
  299. package/esm/transfer/transfer.type.d.ts.map +1 -1
  300. package/esm/tree/tree-content.d.ts.map +1 -1
  301. package/esm/tree/tree-content.js +2 -0
  302. package/esm/tree/tree-content.type.d.ts +1 -0
  303. package/esm/tree/tree-content.type.d.ts.map +1 -1
  304. package/esm/tree/tree-node.type.d.ts +1 -0
  305. package/esm/tree/tree-node.type.d.ts.map +1 -1
  306. package/esm/tree/tree-simple-node.d.ts.map +1 -1
  307. package/esm/tree/tree-simple-node.js +3 -1
  308. package/esm/tree/tree-virtual-node.d.ts.map +1 -1
  309. package/esm/tree/tree-virtual-node.js +15 -2
  310. package/esm/tree/tree-virtual.d.ts.map +1 -1
  311. package/esm/tree/tree-virtual.js +9 -2
  312. package/esm/tree/tree.type.d.ts +2 -1
  313. package/esm/tree/tree.type.d.ts.map +1 -1
  314. package/esm/tree-select/tree-select.d.ts.map +1 -1
  315. package/esm/tree-select/tree-select.js +19 -4
  316. package/esm/tree-select/tree-select.type.d.ts +1 -0
  317. package/esm/tree-select/tree-select.type.d.ts.map +1 -1
  318. package/esm/upload/button.d.ts.map +1 -1
  319. package/esm/upload/button.js +0 -1
  320. package/esm/upload/button.type.d.ts +1 -1
  321. package/esm/upload/button.type.d.ts.map +1 -1
  322. package/esm/upload/useInputClick.d.ts +1 -0
  323. package/esm/upload/useInputClick.d.ts.map +1 -1
  324. package/esm/upload/useInputClick.js +4 -0
  325. package/esm/virtual-scroll/scroll-table.d.ts.map +1 -1
  326. package/esm/virtual-scroll/scroll-table.js +6 -2
  327. package/esm/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  328. package/esm/virtual-scroll/virtual-scroll-list.js +8 -2
  329. package/esm/virtual-scroll/virtual-scroll-list.type.d.ts +1 -0
  330. package/esm/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  331. package/package.json +3 -3
@@ -4,6 +4,7 @@ import { InnerTitleClasses } from '../common/use-inner-title';
4
4
  import { BaseTipProps } from '../common/use-tip';
5
5
  import { BaseInputProps, InputFormatProps } from '@sheinx/hooks';
6
6
  import { PopoverClasses } from '../popover/popover.type';
7
+ import { TextareaInfoOption } from '../textarea/textarea.type';
7
8
  export interface InputClasses {
8
9
  rootClass: string;
9
10
  /**
@@ -35,7 +36,6 @@ export interface InputClasses {
35
36
  wrapperUnderline: string;
36
37
  wrapperNoBorder: string;
37
38
  info: string;
38
- infoError: string;
39
39
  group: string;
40
40
  groupSeparate: string;
41
41
  groupSmall: string;
@@ -47,6 +47,8 @@ export interface InputClasses {
47
47
  numberStep: string;
48
48
  passwordToggle: string;
49
49
  password: string;
50
+ wrapperShowClear: string;
51
+ wrapperHasValue: string;
50
52
  }
51
53
  export interface InputStyle {
52
54
  input?: () => InputClasses;
@@ -89,14 +91,17 @@ export interface SimpleInputProps extends BaseInputProps, Pick<CommonType, 'stat
89
91
  */
90
92
  onEnterPress?: (value: string, e: React.KeyboardEvent) => void;
91
93
  /**
92
- * @en Whether to show clear
93
- * @cn 是否显示清除
94
+ * @en Whether to show clear button when has value, higher priority than clearable
95
+ * @cn 有值时,是否常驻显示清除按钮,优先级高于 clearable
96
+ * @version 3.8.0
94
97
  */
95
98
  showClear?: boolean;
96
99
  renderInput?: (inputEl: React.ReactElement) => React.ReactElement;
97
100
  hasSuffix?: boolean;
98
101
  name?: string;
99
102
  }
103
+ type InputInfoOption = TextareaInfoOption;
104
+ export type InputInfo = number | ((value: string) => React.ReactNode | Error);
100
105
  export interface InputCommonProps<V> extends BaseTipProps, Pick<CommonType, 'className' | 'style' | 'name'> {
101
106
  suffix?: SimpleInputProps['suffix'];
102
107
  /**
@@ -174,7 +179,7 @@ export interface InputCommonProps<V> extends BaseTipProps, Pick<CommonType, 'cla
174
179
  * @cn 提示信息
175
180
  * @override number | ((value: string | undefined) => string)
176
181
  */
177
- info?: number | ((value: V | undefined) => string);
182
+ info?: InputInfo | InputInfoOption;
178
183
  /**
179
184
  * @en Disable component
180
185
  * @cn 禁用组件
@@ -193,7 +198,8 @@ export interface InputCommonProps<V> extends BaseTipProps, Pick<CommonType, 'cla
193
198
  onBlur?: React.FocusEventHandler<HTMLInputElement>;
194
199
  status?: CommonType['status'];
195
200
  }
196
- export type GetCommonProps<Props, V> = Omit<Props, 'value' | 'onChange' | 'defaultValue' | 'clearable' | 'onClear' | 'name' | 'step' | 'min' | 'max' | 'rootRef' | 'inputRef' | 'getStatus' | 'renderInput' | 'addEnd' | 'hasSuffix' | 'onFocusedChange' | 'showClear'> & InputCommonProps<V>;
201
+ export type GetCommonProps<Props, V> = Omit<Props, 'value' | 'onChange' | 'defaultValue' | 'clearable' | 'onClear' | 'name' | 'step' | 'min' | 'max' | 'rootRef' | 'inputRef' | 'getStatus' | 'renderInput' | 'addEnd' | 'hasSuffix' | 'onFocusedChange'> & InputCommonProps<V>;
197
202
  export interface InputProps extends GetCommonProps<SimpleInputProps, string | undefined>, Omit<InputFormatProps, 'value' | 'onChange' | 'cancelBlurChange'> {
198
203
  }
204
+ export {};
199
205
  //# sourceMappingURL=input.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.type.d.ts","sourceRoot":"","sources":["input.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.type.d.ts","sourceRoot":"","sources":["input.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IAGnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,iBAAiB,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,gBACf,SAAQ,cAAc,EACpB,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACtE,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC/D;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,KAAK,eAAe,GAAG,kBAAkB,CAAA;AAEzC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;AAE9E,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACzG,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C;;OAEG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;IACV;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IAChB;;;MAGE;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IACtC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IACnC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,eAAe,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CACzC,KAAK,EACH,OAAO,GACP,UAAU,GACV,cAAc,GACd,WAAW,GACX,SAAS,GACT,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,SAAS,GACT,UAAU,GACV,WAAW,GACX,aAAa,GACb,QAAQ,GACR,WAAW,GACX,iBAAiB,CACpB,GACC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,WAAW,UACf,SAAQ,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,EAC1D,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,UAAU,GAAG,kBAAkB,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple-input.d.ts","sourceRoot":"","sources":["simple-input.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,QAAA,MAAM,KAAK;YAAW,gBAAgB;;CAgGrC,CAAC;AAGF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"simple-input.d.ts","sourceRoot":"","sources":["simple-input.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,QAAA,MAAM,KAAK;YAAW,gBAAgB;;CA0HrC,CAAC;AAGF,eAAe,KAAK,CAAC"}
@@ -9,14 +9,14 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
10
  import { useInput, useKeyEvent, usePersistFn, util } from '@sheinx/hooks';
11
11
  import classNames from 'classnames';
12
- import React, { useContext } from 'react';
12
+ import React, { useContext, useRef } from 'react';
13
13
  import Icons from "../icons";
14
14
  import { useConfig } from "../config";
15
15
  import { FormFieldContext } from "../form/form-field-context";
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
18
  var Input = function Input(props) {
19
- var _jssStyle$input;
19
+ var _jssStyle$input, _inputElProps$value;
20
20
  var jssStyle = props.jssStyle,
21
21
  className = props.className,
22
22
  style = props.style,
@@ -34,20 +34,41 @@ var Input = function Input(props) {
34
34
  addEnd = props.addEnd,
35
35
  hasSuffix = props.hasSuffix,
36
36
  rest = _objectWithoutProperties(props, _excluded);
37
+ var _useRef = useRef({
38
+ needTriggerEnter: false
39
+ }),
40
+ context = _useRef.current;
37
41
  var inputStyle = jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle);
38
42
  var config = useConfig();
39
43
  var _useContext = useContext(FormFieldContext),
40
44
  fieldId = _useContext.fieldId;
45
+ var showClearFromProp = props.showClear && !props.disabled;
41
46
  var _useInput = useInput(_objectSpread(_objectSpread({}, rest), {}, {
42
- onFocusedChange: onFocusedChange
47
+ onFocusedChange: onFocusedChange,
48
+ // 由于form的原生submit事件是在keydown中触发的,submit校验后触发scrollToError会导致当前焦点的input立即失焦,导致input的回车事件无法触发
49
+ // 所以这里在onKeyDown时机记录下needTriggerEnter标志,在onBlur时机判断是否需要触发onEnterPress
50
+ onKeyDown: function onKeyDown(e) {
51
+ var _props$onKeyDown;
52
+ if (e.key === 'Enter') {
53
+ context.needTriggerEnter = true;
54
+ }
55
+ (_props$onKeyDown = props.onKeyDown) === null || _props$onKeyDown === void 0 || _props$onKeyDown.call(props, e);
56
+ },
57
+ onBlur: function onBlur(e) {
58
+ var _props$onBlur;
59
+ if (context.needTriggerEnter) {
60
+ context.needTriggerEnter = false;
61
+ _onEnterPress === null || _onEnterPress === void 0 || _onEnterPress(e.target.value || '', e);
62
+ }
63
+ (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
64
+ }
43
65
  })),
44
66
  getRootProps = _useInput.getRootProps,
45
67
  getClearProps = _useInput.getClearProps,
46
68
  getInputProps = _useInput.getInputProps,
47
- showClear = _useInput.showClear,
69
+ showClearFromClearable = _useInput.showClear,
48
70
  focused = _useInput.focused,
49
71
  disabled = _useInput.disabled;
50
- var rootClass = classNames(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.rootClass, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapper, !!focused && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperFocus), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperDisabled), status === 'error' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperError), size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperLarge), !!underline && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperUnderline), !border && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperNoBorder), hasSuffix && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.password));
51
72
  var keyHandler = useKeyEvent({
52
73
  onEnterPress: function onEnterPress(e) {
53
74
  _onEnterPress === null || _onEnterPress === void 0 || _onEnterPress(e.target.value || '', e);
@@ -55,6 +76,10 @@ var Input = function Input(props) {
55
76
  });
56
77
  var onKeyUp = usePersistFn(function (e) {
57
78
  var _props$onKeyUp;
79
+ if (e.key === 'Enter') {
80
+ context.needTriggerEnter = false;
81
+ }
82
+ ;
58
83
  (_props$onKeyUp = props.onKeyUp) === null || _props$onKeyUp === void 0 || _props$onKeyUp.call(props, e);
59
84
  keyHandler(e);
60
85
  });
@@ -71,6 +96,7 @@ var Input = function Input(props) {
71
96
  if (typeof renderInput === 'function') {
72
97
  inputEl = renderInput(inputEl);
73
98
  }
99
+ var rootClass = classNames(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.rootClass, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapper, !!focused && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperFocus), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperDisabled), status === 'error' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperError), size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperLarge), !!underline && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperUnderline), !border && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperNoBorder), hasSuffix && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.password), showClearFromProp && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperShowClear), showClearFromProp && ((_inputElProps$value = inputElProps.value) === null || _inputElProps$value === void 0 ? void 0 : _inputElProps$value.length) > 0 && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperHasValue));
74
100
  return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread(_objectSpread({
75
101
  id: fieldId
76
102
  }, util.getDataAttribute(_defineProperty({}, 'input-border', 'true'))), getRootProps({
@@ -79,7 +105,7 @@ var Input = function Input(props) {
79
105
  })), {}, {
80
106
  children: [/*#__PURE__*/_jsxs("div", {
81
107
  className: classNames(inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitleTop, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitleBottom, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperPaddingBox, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.content),
82
- children: [prefix, inputEl, showClear && /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
108
+ children: [prefix, inputEl, (showClearFromProp || showClearFromClearable) && /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
83
109
  className: inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.clearWrapper
84
110
  }, getClearProps()), {}, {
85
111
  children: /*#__PURE__*/_jsx("span", {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputCommonProps } from './input.type';
3
- declare const useInputCommon: <Value, Props extends InputCommonProps<Value>>(props0: Props) => Omit<Props, "error" | "info" | "style" | "status" | "size" | "innerTitle" | "placeTitle" | "tip" | "value" | "onChange" | "disabled" | "width" | "defaultValue" | "popover" | "delay" | "beforeChange" | "popoverProps" | "onBlur" | "clearable" | "forwardedRef" | "suffix" | "forwardRef" | "htmlName" | "clearToUndefined"> & {
3
+ declare const useInputCommon: <Value, Props extends InputCommonProps<Value>>(props0: Props) => Omit<Props, "error" | "info" | "style" | "status" | "size" | "innerTitle" | "placeTitle" | "tip" | "value" | "onChange" | "disabled" | "width" | "defaultValue" | "popover" | "delay" | "beforeChange" | "popoverProps" | "onBlur" | "clearable" | "clearToUndefined" | "forwardedRef" | "suffix" | "forwardRef" | "htmlName"> & {
4
4
  name: string | undefined;
5
5
  style: React.CSSProperties;
6
6
  suffix: import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-common.d.ts","sourceRoot":"","sources":["use-input-common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAWhD,QAAA,MAAM,cAAc;;;;;;;;;;gCA6G8B,OAAO;;;;;;;gBAQnB,gBAAgB,CAAC,gBAAgB,CAAC;CAsBvE,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"use-input-common.d.ts","sourceRoot":"","sources":["use-input-common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAWhD,QAAA,MAAM,cAAc;;;;;;;;;;gCAkI8B,OAAO;;;;;;;gBAQnB,gBAAgB,CAAC,gBAAgB,CAAC;CAsBvE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
1
  var _excluded = ["forwardRef", "forwardedRef", "htmlName", "value", "onChange", "defaultValue", "beforeChange", "clearable", "clearToUndefined", "style", "suffix", "info", "innerTitle", "placeTitle", "width", "delay", "onBlur", "tip", "error", "popover", "popoverProps", "status", "disabled", "size"];
2
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -30,7 +30,7 @@ var defaultInfo = function defaultInfo(num, msg) {
30
30
  return new Error(text);
31
31
  };
32
32
  var useInputCommon = function useInputCommon(props0) {
33
- var _ref, _props$jssStyle, _props$jssStyle$input;
33
+ var _ref, _props$jssStyle, _props$jssStyle$input, _infoState$error;
34
34
  var config = useConfig();
35
35
  var props = useWithFormConfig(props0);
36
36
  var forwardRef = props.forwardRef,
@@ -59,7 +59,7 @@ var useInputCommon = function useInputCommon(props0) {
59
59
  size = props.size,
60
60
  rest = _objectWithoutProperties(props, _excluded);
61
61
  var delay = (_ref = delayProps !== null && delayProps !== void 0 ? delayProps : config.delay) !== null && _ref !== void 0 ? _ref : 0;
62
- var inputStyle = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$input = _props$jssStyle.input) === null || _props$jssStyle$input === void 0 ? void 0 : _props$jssStyle$input.call(_props$jssStyle);
62
+ var inputClasses = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$input = _props$jssStyle.input) === null || _props$jssStyle$input === void 0 ? void 0 : _props$jssStyle$input.call(_props$jssStyle);
63
63
  var rootRef = React.useRef(null);
64
64
  var _React$useState = React.useState(false),
65
65
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -101,27 +101,50 @@ var useInputCommon = function useInputCommon(props0) {
101
101
  value: inputAbleProps.value,
102
102
  onChange: inputAbleProps.onChange
103
103
  });
104
- var getInfo = function getInfo() {
104
+ var getInfoState = function getInfoState() {
105
105
  var notNumber = typeof info !== 'number';
106
- if (typeof info !== 'function' && notNumber) return null;
107
- var textInfo = notNumber ? info : defaultInfo.bind(null, info);
108
- var res = textInfo(inputAbleProps.value);
109
- // empty
110
- if (!res) return null;
111
- var isError = res instanceof Error;
112
- var text = isError ? res.message : res;
106
+ if (typeof info !== 'function' && _typeof(info) !== 'object' && notNumber) return null;
107
+ var infoContent;
108
+ if (_typeof(info) === 'object') {
109
+ infoContent = info.content;
110
+ } else {
111
+ infoContent = info;
112
+ }
113
+ var notContentNumber = typeof infoContent !== 'number';
114
+ var textInfo = notContentNumber ? infoContent : defaultInfo.bind(null, infoContent);
115
+ var error = textInfo(inputAbleProps.value);
116
+ if (!error) return null;
117
+ var isError = error instanceof Error;
118
+ var text = isError ? error.message : error;
113
119
  if (!isError && !focused) return null;
114
- return /*#__PURE__*/_jsx("div", {
120
+ return {
121
+ text: text,
122
+ error: error
123
+ };
124
+ };
125
+ var infoState = useMemo(getInfoState, [info, inputAbleProps.value, focused]);
126
+ var infoPopoverProps = {
127
+ popover: props.popover || (_typeof(info) === 'object' ? info.position : 'bottom-right'),
128
+ popoverProps: Object.assign({
115
129
  style: {
116
- minWidth: 'auto'
130
+ width: 'auto',
131
+ fontSize: 12
117
132
  },
118
- className: classNames(inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.info, !!isError && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.infoError)),
119
- dir: config.direction,
120
- children: text
121
- }, 'info');
133
+ adjust: true
134
+ }, props.popoverProps),
135
+ error: infoState !== null && infoState !== void 0 && infoState.error && (infoState === null || infoState === void 0 ? void 0 : infoState.error) instanceof Error ? infoState === null || infoState === void 0 || (_infoState$error = infoState.error) === null || _infoState$error === void 0 ? void 0 : _infoState$error.message : undefined,
136
+ tip: /*#__PURE__*/_jsx("div", {
137
+ className: inputClasses === null || inputClasses === void 0 ? void 0 : inputClasses.info,
138
+ children: infoState === null || infoState === void 0 ? void 0 : infoState.text
139
+ })
122
140
  };
141
+ var infoPopoverNode = useTip(_objectSpread(_objectSpread({}, infoPopoverProps), {}, {
142
+ focused: focused,
143
+ rootRef: rootRef,
144
+ jssStyle: props.jssStyle
145
+ }));
123
146
  var mergeSuffix = /*#__PURE__*/_jsxs(React.Fragment, {
124
- children: [suffix, getInfo(), tipNode]
147
+ children: [suffix, (infoState === null || infoState === void 0 ? void 0 : infoState.text) && infoPopoverNode, tipNode]
125
148
  });
126
149
  var onFocusedChange = usePersistFn(function (focused) {
127
150
  setFocused(!!focused);
@@ -137,7 +160,7 @@ var useInputCommon = function useInputCommon(props0) {
137
160
  });
138
161
  return _objectSpread(_objectSpread(_objectSpread({}, rest), {}, {
139
162
  value: inputAbleProps.value,
140
- className: classNames(props.className, innerTitle && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitle)),
163
+ className: classNames(props.className, innerTitle && (inputClasses === null || inputClasses === void 0 ? void 0 : inputClasses.wrapperInnerTitle)),
141
164
  onChange: inputAbleProps.onChange,
142
165
  onBlur: handleBlur
143
166
  }, clearProps), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"modal-content.d.ts","sourceRoot":"","sources":["modal-content.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAoB9D,QAAA,MAAM,KAAK,UAAW,iBAAiB,mDAiWtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"modal-content.d.ts","sourceRoot":"","sources":["modal-content.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAoB9D,QAAA,MAAM,KAAK,UAAW,iBAAiB,mDA8WtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -62,7 +62,11 @@ var Modal = function Modal(props) {
62
62
  isMask: false,
63
63
  mouseDownTarget: null,
64
64
  mouseUpTarget: null,
65
- content: null
65
+ content: null,
66
+ originDocumentStyle: {
67
+ overflow: '',
68
+ paddingRight: ''
69
+ }
66
70
  }),
67
71
  context = _useRef.current;
68
72
  var _useState3 = useState(props.visible || props.autoShow),
@@ -162,18 +166,33 @@ var Modal = function Modal(props) {
162
166
  setAnimation(true);
163
167
  }
164
168
  }, [props.visible]);
169
+
170
+ // 设置 document.body.style.overflow 和 document.body.style.paddingRight,并记录原始值到 context 中
171
+ var setDocumentOverflow = usePersistFn(function () {
172
+ var doc = document.body.parentNode;
173
+ if (context.isMask) {
174
+ context.originDocumentStyle.overflow = doc.style.overflow;
175
+ context.originDocumentStyle.paddingRight = doc.style.paddingRight;
176
+ }
177
+ doc.style.overflow = 'hidden';
178
+ if (!doc.style.paddingRight) {
179
+ doc.style.paddingRight = "".concat(window.innerWidth - util.docSize.width, "px");
180
+ }
181
+ });
182
+
183
+ // 还原 document.body.style.overflow 和 document.body.style.paddingRight
184
+ var resetDocumentOverflow = usePersistFn(function () {
185
+ var doc = document.body.parentNode;
186
+ doc.style.overflow = context.originDocumentStyle.overflow;
187
+ doc.style.paddingRight = context.originDocumentStyle.paddingRight;
188
+ });
165
189
  useEffect(function () {
166
190
  if (!props.hideMask) {
167
- var doc = document.body.parentNode;
168
191
  if (visible) {
169
- doc.style.overflow = 'hidden';
170
- if (!doc.style.paddingRight) {
171
- doc.style.paddingRight = "".concat(window.innerWidth - util.docSize.width, "px");
172
- }
192
+ setDocumentOverflow();
173
193
  } else {
174
194
  if (!context.isMask) return;
175
- doc.style.paddingRight = '';
176
- doc.style.overflow = '';
195
+ resetDocumentOverflow();
177
196
  }
178
197
  }
179
198
  }, [visible]);
@@ -187,20 +206,15 @@ var Modal = function Modal(props) {
187
206
  // unmount
188
207
  return function () {
189
208
  var _props$shouldDestroy2;
209
+ if (context.isMask) {
210
+ resetDocumentOverflow();
211
+ }
212
+ ;
190
213
  (_props$shouldDestroy2 = props.shouldDestroy) === null || _props$shouldDestroy2 === void 0 || _props$shouldDestroy2.call(props, true);
191
- // if (props.autoShow) {
192
- // props.onClose?.();
193
- // }
194
214
  if (context.isMask) {
195
215
  context.isMask = false;
196
216
  hasMask = false;
197
217
  }
198
- {
199
- if (!context.isMask) return;
200
- var doc = document.body.parentNode;
201
- doc.style.paddingRight = '';
202
- doc.style.overflow = '';
203
- }
204
218
  };
205
219
  }, []);
206
220
  useEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"list-columns.d.ts","sourceRoot":"","sources":["list-columns.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,QAAA,MAAM,WAAW,qGAsMhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"list-columns.d.ts","sourceRoot":"","sources":["list-columns.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,QAAA,MAAM,WAAW,qGAuMhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -153,7 +153,8 @@ var ColumnsList = function ColumnsList(props) {
153
153
  colNum: columns,
154
154
  lineHeight: lineHeight,
155
155
  rowsInView: itemsInView,
156
- renderItem: renderItem
156
+ renderItem: renderItem,
157
+ paddingY: 4
157
158
  });
158
159
  };
159
160
  var renderSelectAll = function renderSelectAll() {
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["list.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiB,aAAa,EAAE,MAAM,eAAe,CAAC;AAK7D,QAAA,MAAM,IAAI,qGAkNT,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["list.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiB,aAAa,EAAE,MAAM,eAAe,CAAC;AAK7D,QAAA,MAAM,IAAI,qGAoNT,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -31,6 +31,7 @@ var List = function List(props) {
31
31
  lineHeightProp = props.lineHeight,
32
32
  threshold = props.threshold,
33
33
  controlType = props.controlType,
34
+ keepScrollTop = props.keepScrollTop,
34
35
  hideCreateOption = props.hideCreateOption,
35
36
  optionListRef = props.optionListRef,
36
37
  isAnimationFinish = props.isAnimationFinish,
@@ -206,6 +207,7 @@ var List = function List(props) {
206
207
  dynamicVirtual: dynamicVirtual,
207
208
  tagClassName: styles.virtualList,
208
209
  height: height,
210
+ keepScrollTop: keepScrollTop,
209
211
  onScroll: handleVirtualScroll,
210
212
  lineHeight: lineHeight,
211
213
  rowsInView: itemsInView,
@@ -1 +1 @@
1
- {"version":3,"file":"result-more.d.ts","sourceRoot":"","sources":["result-more.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,UA6D9B;;AAsHD,wBAAyC"}
1
+ {"version":3,"file":"result-more.d.ts","sourceRoot":"","sources":["result-more.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,UA6D9B;;AA0GD,wBAAyC"}
@@ -18,7 +18,7 @@ export function getResetMore(onFilter, container, doms) {
18
18
  var paddingLeft = parsePxToNumber(style.paddingLeft);
19
19
  var paddingRight = parsePxToNumber(style.paddingRight);
20
20
  var minFilterWidth = onFilter ? 16 : 0;
21
- var contentWidth = clientWidth - paddingLeft - paddingRight - minFilterWidth - 1;
21
+ var contentWidth = clientWidth - paddingLeft - paddingRight - minFilterWidth;
22
22
  var hideEl = items.pop();
23
23
  var hideElStyle = getComputedStyle(hideEl);
24
24
  var hideMargin = parsePxToNumber(hideElStyle.marginLeft) + parsePxToNumber(hideElStyle.marginRight);
@@ -83,16 +83,7 @@ var More = function More(props) {
83
83
  var shouldShowMore = showNum < 0 || showNum >= data.length;
84
84
  var before = [];
85
85
  var after = [];
86
- var itemsLength = 0;
87
- var tagStyle = shouldShowMore ? {
88
- position: 'absolute',
89
- zIndex: -100,
90
- userSelect: 'none',
91
- msUserSelect: 'none',
92
- contain: 'layout',
93
- opacity: 0,
94
- pointerEvents: 'none'
95
- } : {};
86
+ var afterLength = 0;
96
87
  if (!shouldShowMore) {
97
88
  before = new Array(showNum).fill(undefined).map(function (_item, index) {
98
89
  return data[index];
@@ -100,9 +91,9 @@ var More = function More(props) {
100
91
  after = new Array(data.length - showNum).fill(undefined).map(function (_item, index) {
101
92
  return data[showNum + index];
102
93
  });
103
- itemsLength = after.length;
94
+ afterLength = after.length;
104
95
  }
105
- if (showNum < 0 || showNum >= data.length) {
96
+ if (shouldShowMore) {
106
97
  return /*#__PURE__*/_jsxs(React.Fragment, {
107
98
  children: [data, /*#__PURE__*/_jsx(Tag, {
108
99
  className: styles.tag,
@@ -129,10 +120,9 @@ var More = function More(props) {
129
120
  className: styles.tag,
130
121
  jssStyle: jssStyle,
131
122
  size: size,
132
- style: tagStyle,
133
123
  mode: visible ? 'fill' : 'bright',
134
124
  color: visible ? 'info' : 'default',
135
- children: shouldShowMore ? '+' : "+".concat(itemsLength)
125
+ children: shouldShowMore ? '+' : "+".concat(afterLength)
136
126
  }, 'more'), compressed !== 'hide-popover' && /*#__PURE__*/_jsx(Popover, {
137
127
  jssStyle: jssStyle,
138
128
  className: compressedClassName,
@@ -4,7 +4,6 @@ import { SelectProps } from './select.type';
4
4
  export interface ResultMoreProps<DataItem, Value> extends Pick<SelectProps<DataItem, Value>, 'jssStyle' | 'size' | 'multiple' | 'placeholder' | 'keygen' | 'value' | 'compressed' | 'compressedBound' | 'renderCompressed' | 'compressedClassName' | 'disabled' | 'onFilter'> {
5
5
  data: React.ReactNode[];
6
6
  datas?: (DataItem | UnMatchedData)[];
7
- more?: number;
8
7
  showNum?: number;
9
8
  onRemove?: (item: DataItem | UnMatchedData, key?: KeygenResult, index?: number) => void;
10
9
  classes: {
@@ -1 +1 @@
1
- {"version":3,"file":"result-more.type.d.ts","sourceRoot":"","sources":["result-more.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CACV,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC1B,UAAU,GACV,MAAM,GACN,UAAU,GACV,aAAa,GACb,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,UAAU,GACV,UAAU,CACb;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C"}
1
+ {"version":3,"file":"result-more.type.d.ts","sourceRoot":"","sources":["result-more.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CACV,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC1B,UAAU,GACV,MAAM,GACN,UAAU,GACV,aAAa,GACb,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,UAAU,GACV,UAAU,CACb;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,QAAA,MAAM,MAAM,mGAybX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,QAAA,MAAM,MAAM,mGAycX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -76,12 +76,16 @@ var Result = function Result(props) {
76
76
  setShouldResetMore = _useState4[1];
77
77
  var render = useRender();
78
78
  var resultRef = useRef(null);
79
- var prevMore = useRef(more);
79
+ var _useRef = useRef({
80
+ prevMore: more,
81
+ maxMore: 0
82
+ }),
83
+ context = _useRef.current;
80
84
  var removeLock = useRef(false);
81
85
  var showInput = allowOnFilter;
82
86
  var mounted = useRef(false);
83
87
  var styles = props.classes;
84
- var rootClass = classNames(styles.resultTextWrapper, compressed && styles.compressedWrapper, multiple && styles.multipleResultWrapper, multiple && compressed && styles.multipleCompressedWrapper);
88
+ var rootClass = classNames(styles.resultTextWrapper, compressed && styles.compressedWrapper, compressedBound && compressedBound > 0 && styles.compressedBoundWrapper, multiple && styles.multipleResultWrapper, multiple && compressed && styles.multipleCompressedWrapper);
85
89
  var renderResultContent = function renderResultContent(data, index, nodes) {
86
90
  if (checkUnMatched(data)) {
87
91
  var _data = data;
@@ -279,7 +283,6 @@ var Result = function Result(props) {
279
283
  data: result,
280
284
  datas: renderMultipleResult.datas,
281
285
  size: size,
282
- more: moreNumber,
283
286
  compressed: compressed,
284
287
  renderCompressed: renderCompressed,
285
288
  compressedClassName: compressedClassName,
@@ -309,15 +312,27 @@ var Result = function Result(props) {
309
312
  }
310
313
  return result;
311
314
  };
312
- var handleResetMore = function handleResetMore() {
315
+ var handleResetMore = function handleResetMore(valueLength) {
313
316
  if (!compressed) return;
314
317
  if (isCompressedBound()) return;
315
318
  if (removeLock.current) {
316
319
  removeLock.current = false;
317
320
  return;
318
321
  }
319
- setMore(-1);
320
- setShouldResetMore(true);
322
+
323
+ // why requestIdleCallback: 当选项数量远超容器承载能力时,延迟昂贵的DOM计算,在1000+选项时,同步的重新计算会导致INP超过1000ms
324
+ var hasExistingCompression = context.prevMore > 0;
325
+ var hasValidEstimate = context.maxMore > 0;
326
+ var exceedsCapacity = valueLength && valueLength > context.maxMore;
327
+ if (hasExistingCompression && hasValidEstimate && exceedsCapacity && typeof requestIdleCallback !== 'undefined') {
328
+ requestIdleCallback(function () {
329
+ setMore(-1);
330
+ setShouldResetMore(true);
331
+ });
332
+ } else {
333
+ setMore(-1);
334
+ setShouldResetMore(true);
335
+ }
321
336
  };
322
337
  useEffect(function () {
323
338
  if (!focus && mounted.current) {
@@ -372,7 +387,7 @@ var Result = function Result(props) {
372
387
  }
373
388
  }, [focus, multiple]);
374
389
  useLayoutEffect(function () {
375
- handleResetMore();
390
+ handleResetMore((valueProp === null || valueProp === void 0 ? void 0 : valueProp.length) || 0);
376
391
  }, [valueProp, data]);
377
392
  useEffect(function () {
378
393
  // datum.getDataByValues(value); 需要等待 useTree useEffect 执行完毕 才能获取到
@@ -383,7 +398,7 @@ var Result = function Result(props) {
383
398
  var tagClassName = ".".concat(styles.tag.split(' ')[0]);
384
399
  if (shouldResetMore && isArray(value) && (value || []).length) {
385
400
  var newMore = getResetMore(showInput, resultRef.current, resultRef.current.querySelectorAll(tagClassName));
386
- prevMore.current = newMore;
401
+ context.prevMore = newMore;
387
402
  setMore(newMore);
388
403
  setShouldResetMore(false);
389
404
  } else {
@@ -397,6 +412,7 @@ var Result = function Result(props) {
397
412
  if (!resultRef.current) return;
398
413
  if (!compressed) return;
399
414
  if (isCompressedBound()) return;
415
+ context.maxMore = Math.floor(resultRef.current.clientWidth / 20);
400
416
  var cancelObserver = addResizeObserver(resultRef.current, handleResetMore, {
401
417
  direction: 'x'
402
418
  });
@@ -31,6 +31,7 @@ export interface ResultProps<DataItem, Value> extends Pick<SelectProps<DataItem,
31
31
  tagOnly: string;
32
32
  resultTextWrapper: string;
33
33
  compressedWrapper: string;
34
+ compressedBoundWrapper: string;
34
35
  multipleResultWrapper: string;
35
36
  multipleCompressedWrapper: string;
36
37
  hideTag: string;
@@ -1 +1 @@
1
- {"version":3,"file":"result.type.d.ts","sourceRoot":"","sources":["result.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.type.d.ts","sourceRoot":"","sources":["result.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAenE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,2CAmwBxE;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAenE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,2CA4wBxE;AAED,eAAe,MAAM,CAAC"}