@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
@@ -124,7 +124,9 @@ function Select(props0) {
124
124
  noCache = props.noCache,
125
125
  highlight = props.highlight,
126
126
  _props$trigger = props.trigger,
127
- trigger = _props$trigger === void 0 ? 'click' : _props$trigger;
127
+ trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
128
+ _props$preventEnterSe = props.preventEnterSelect,
129
+ preventEnterSelect = _props$preventEnterSe === void 0 ? false : _props$preventEnterSe;
128
130
  var hasFilter = util.isFunc(props.onAdvancedFilter || onFilterProp);
129
131
  var showInput = hasFilter || util.isFunc(onCreateProp) || onCreateProp === true;
130
132
  var positionProp = props.position || (direction === 'rtl' ? 'bottom-right' : 'bottom-left');
@@ -348,6 +350,11 @@ function Select(props0) {
348
350
  return;
349
351
  }
350
352
  }
353
+
354
+ // 当开启 preventEnterSelect 且存在 onCreate 功能时,阻止选中已有选项
355
+ if (preventEnterSelect && onCreate && !createdData) {
356
+ return;
357
+ }
351
358
  var currentDataItem = filterData === null || filterData === void 0 ? void 0 : filterData[hoverIndex];
352
359
  if (currentDataItem && !currentDataItem[groupKey]) {
353
360
  handleChange(currentDataItem);
@@ -384,7 +391,8 @@ function Select(props0) {
384
391
  if (hideCreate) {
385
392
  // optionListRef.current?.hoverMove(filterData.length - 1, true);
386
393
  }
387
- onFilter === null || onFilter === void 0 || onFilter(trim ? text.trim() : text, from);
394
+ // onFilter?.(trim ? text.trim() : text, from);
395
+ onFilter === null || onFilter === void 0 || onFilter(text.trim(), from);
388
396
  };
389
397
  var handleOptionClick = function handleOptionClick() {
390
398
  if (multiple) return;
@@ -590,6 +598,7 @@ function Select(props0) {
590
598
  renderItem: renderItem,
591
599
  controlType: controlType,
592
600
  onLoadMore: onLoadMore,
601
+ keepScrollTop: !!filterText ? false : true,
593
602
  isAnimationFinish: isAnimationFinish,
594
603
  threshold: threshold,
595
604
  onControlTypeChange: setControlType,
@@ -40,6 +40,7 @@ export type SelectClasses = {
40
40
  triggerHover: string;
41
41
  resultTextPadding: string;
42
42
  compressedWrapper: string;
43
+ compressedBoundWrapper: string;
43
44
  multipleCompressedWrapper: string;
44
45
  controlMouse: string;
45
46
  controlKeyboard: string;
@@ -130,6 +131,7 @@ export interface BaseListProps<DataItem, Value> extends Pick<SelectProps<DataIte
130
131
  originalData: any;
131
132
  groupKey?: string;
132
133
  dynamicVirtual?: boolean;
134
+ keepScrollTop?: boolean;
133
135
  controlType?: 'mouse' | 'keyboard';
134
136
  optionListRef: React.MutableRefObject<OptionListRefType | undefined>;
135
137
  isAnimationFinish: boolean;
@@ -502,6 +504,13 @@ export interface SelectPropsBase<DataItem, Value> extends Omit<BaseSelectProps<D
502
504
  * @version 3.7.0
503
505
  */
504
506
  highlight?: boolean;
507
+ /**
508
+ * @en Whether to prevent selecting existing options when pressing Enter while onCreate is enabled
509
+ * @cn 开启 onCreate 时,是否阻止回车选中已有选项,仅创建选项
510
+ * @default false
511
+ * @version 3.8.0
512
+ */
513
+ preventEnterSelect?: boolean;
505
514
  }
506
515
  export interface SelectPropsA<DataItem, Value> extends Omit<SelectPropsBase<DataItem, Value>, 'treeData' | 'childrenKey'> {
507
516
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"select.type.d.ts","sourceRoot":"","sources":["select.type.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,iBAAiB,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,cAAc,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,UAAU,CAAC,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,sBAAsB,CAAC,QAAQ;IAC9C;;;OAGG;IACH,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,KAAK,CAC5C,SAAQ,IAAI,CACV,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC1B,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,GACP,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,aAAa,GACb,UAAU,GACV,SAAS,GACT,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,YAAY,CACf;IACD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAChE,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IACrE,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;IAChF,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC,EAC5E,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,kBAAkB,CAAC,EAC/F,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,QAAQ,CAAC,EAC9C,YAAY;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B;;;;OAIG;IAEH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElC;;;;OAIG;IACH,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;IAEpC;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAA;KAAE,KAC1C,KAAK,CAAC,SAAS,CAAC;IAErB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;IAE9E;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,cAAc,CAAC;IAEpD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAElF;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IAEH,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IAEjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAE1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAEhD;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC,GAAG,MAAM,CAAC;IAEzD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEzF;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAEnE;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC;IAEpF;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAE7F;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,KAAK,QAAQ,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC;IAEvE;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC;IAEpE;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAE3C;;;OAGG;IAGH;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACjE;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEvC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY,CAAC,QAAQ,EAAE,KAAK,CAC3C,SAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IAC1E;;;;OAIG;IACH,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY,CAAC,QAAQ,EAAE,KAAK,CAC3C,SAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IACtD;;;OAGG;IACH,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,WAAW,CAAC,QAAQ,EAAE,KAAK,IACnC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,GAC7B,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"select.type.d.ts","sourceRoot":"","sources":["select.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["sticky.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,aAAa,MAAM,CAAC;AAmBjC,QAAA,MAAM,MAAM,UAAW,WAAW,4CAqYjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["sticky.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,aAAa,MAAM,CAAC;AAajC,QAAA,MAAM,MAAM,UAAW,WAAW,4CAwejC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -21,24 +21,18 @@ var cssSupport = util.cssSupport,
21
21
  var supportSticky = cssSupport('position', 'sticky');
22
22
  export var defaultZIndex = 900;
23
23
  var events = ['scroll', 'pageshow', 'load', 'resize'];
24
-
25
- // const getFirstScrollParent = (el: HTMLElement) => {
26
- // let parent = el.parentNode as HTMLElement;
27
- // while (parent) {
28
- // if (parent === document.body || parent === document.documentElement) {
29
- // parent = document.body;
30
- // break;
31
- // }
32
- // const { overflowY } = window.getComputedStyle(parent);
33
- // if (overflowY === 'scroll' || overflowY === 'auto') {
34
- // break;
35
- // }
36
- // parent = parent.parentNode as HTMLElement;
37
- // }
38
- // return parent;
39
- // };
40
-
24
+ function getStaticTop(el) {
25
+ var stopper = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;
26
+ var top = 0;
27
+ var currentEl = el;
28
+ while (currentEl && currentEl !== stopper) {
29
+ top += currentEl.offsetTop;
30
+ currentEl = currentEl.offsetParent;
31
+ }
32
+ return top;
33
+ }
41
34
  var Sticky = function Sticky(props) {
35
+ var _props$style;
42
36
  if (props.target) {
43
37
  devUseWarning.deprecated('target', 'scrollContainer', 'Sticky');
44
38
  }
@@ -48,13 +42,16 @@ var Sticky = function Sticky(props) {
48
42
  // 是否使用css sticky
49
43
  var css = (props.css || props.target) && supportSticky;
50
44
  var forceUpdate = useRender();
45
+ var fixedStickyElRef = useRef(null);
51
46
  var _useRef = useRef({
52
47
  target: null,
53
48
  div: null,
54
49
  position: '',
55
50
  targetObserver: null,
56
51
  parentObserver: null,
57
- fixedObserver: null
52
+ fixedObserver: null,
53
+ stoped: false,
54
+ originPosition: null
58
55
  }),
59
56
  context = _useRef.current;
60
57
  var _useState = useState({}),
@@ -70,6 +67,77 @@ var Sticky = function Sticky(props) {
70
67
  parentVisible = _useState6[0],
71
68
  setParentVisible = _useState6[1];
72
69
  var elementRef = useRef(null);
70
+ var onStickyBoundaryChange = usePersistFn(function (e) {
71
+ var target = e.target;
72
+ var isDocument = !context.target || context.target === document.documentElement;
73
+ var scrollTop = isDocument ? window.scrollY : target.scrollTop;
74
+ if (!target || typeof scrollTop !== 'number') return;
75
+ var stopStickyPoint = -1;
76
+ var baseTop = 0;
77
+ var absoluteTop = 0;
78
+ var absoluteLeft = 0;
79
+ var stopStickyElement = null;
80
+ if (typeof props.stickyBoundary === 'number') {
81
+ stopStickyPoint = props.stickyBoundary;
82
+ } else if (typeof props.stickyBoundary === 'function') {
83
+ stopStickyElement = props.stickyBoundary();
84
+ if (!stopStickyElement) return;
85
+ var stopStickyRect = stopStickyElement.getBoundingClientRect();
86
+ var targetRect = elementRef.current.getBoundingClientRect();
87
+ if (context.target === document.documentElement || !context.target) {
88
+ baseTop = getStaticTop(elementRef.current) - (props.top || 0);
89
+ absoluteTop = stopStickyRect.bottom - targetRect.bottom;
90
+ absoluteLeft = stopStickyRect.left - targetRect.left;
91
+ }
92
+ stopStickyPoint = stopStickyRect.bottom - targetRect.bottom + baseTop;
93
+ }
94
+ if (stopStickyPoint < 0) return;
95
+ if (scrollTop > stopStickyPoint) {
96
+ if (context.stoped) return;
97
+ context.stoped = true;
98
+
99
+ // 把 div 移动到 target 内部,使用 absolute 定位跟随滚动
100
+ if (context.div && context.target) {
101
+ context.target.insertBefore(context.div, context.target.firstChild);
102
+ var paddingLeft = Number(window.getComputedStyle(context.target).paddingLeft.replace('px', '')) || 0;
103
+ var borderLeftWidth = Number(window.getComputedStyle(context.target).borderLeftWidth.replace('px', '')) || 0;
104
+ var left = paddingLeft + borderLeftWidth;
105
+ context.div.style.transform = "translate(-".concat(left, "px, ").concat(stopStickyPoint, "px)");
106
+ } else {
107
+ if (stopStickyElement) {
108
+ if (!fixedStickyElRef.current) return;
109
+ // 存储原始位置到 context 中
110
+ if (!context.originPosition) {
111
+ var originStyle = window.getComputedStyle(fixedStickyElRef.current);
112
+ context.originPosition = {
113
+ top: originStyle.top,
114
+ left: originStyle.left
115
+ };
116
+ }
117
+
118
+ // 直接操作DOM的原因是:不闪烁且性能更好
119
+ stopStickyElement.style.transform = "translateZ(0)";
120
+ fixedStickyElRef.current.style.top = "".concat(absoluteTop, "px");
121
+ fixedStickyElRef.current.style.left = "".concat(absoluteLeft, "px");
122
+ }
123
+ // 暂不支持 props.stickyBoundary 为 number 的fixed定位情况
124
+ }
125
+ } else {
126
+ if (!context.stoped) return;
127
+ context.stoped = false;
128
+
129
+ // 恢复正常吸附模式:把 div 移动到 target 外部
130
+ if (context.div && context.target && context.target.parentNode) {
131
+ context.target.parentNode.insertBefore(context.div, context.target);
132
+ context.div.style.transform = 'none';
133
+ } else if (stopStickyElement && fixedStickyElRef.current && context.originPosition) {
134
+ stopStickyElement.style.transform = "none";
135
+ fixedStickyElRef.current.style.top = context.originPosition.top;
136
+ fixedStickyElRef.current.style.left = context.originPosition.left;
137
+ context.originPosition = null; // 清理状态
138
+ }
139
+ }
140
+ });
73
141
  var getTarget = function getTarget() {
74
142
  var scrollContainer = props.scrollContainer;
75
143
  if (typeof scrollContainer === 'string') {
@@ -311,6 +379,10 @@ var Sticky = function Sticky(props) {
311
379
  context.div.remove();
312
380
  context.div = null;
313
381
  }
382
+ if (props.stickyBoundary) {
383
+ var _context$target;
384
+ (_context$target = context.target) === null || _context$target === void 0 || _context$target.removeEventListener('scroll', onStickyBoundaryChange);
385
+ }
314
386
  };
315
387
  var createFixedEvents = function createFixedEvents() {
316
388
  createFixedObserver();
@@ -323,6 +395,10 @@ var Sticky = function Sticky(props) {
323
395
  events.forEach(function (event) {
324
396
  window.removeEventListener(event, handleFixedPosition);
325
397
  });
398
+ if (props.stickyBoundary) {
399
+ var _context$target2;
400
+ (_context$target2 = context.target) === null || _context$target2 === void 0 || _context$target2.removeEventListener('scroll', onStickyBoundaryChange);
401
+ }
326
402
  };
327
403
  var handleElementRef = function handleElementRef(el) {
328
404
  if (el) {
@@ -350,7 +426,15 @@ var Sticky = function Sticky(props) {
350
426
  context.target = target;
351
427
  forceUpdate();
352
428
  }
353
- if (context.target) {
429
+ if (props.stickyBoundary) {
430
+ if (!context.target || context.target === document.documentElement) {
431
+ window.addEventListener('scroll', onStickyBoundaryChange);
432
+ } else {
433
+ var _context$target3;
434
+ (_context$target3 = context.target) === null || _context$target3 === void 0 || _context$target3.addEventListener('scroll', onStickyBoundaryChange);
435
+ }
436
+ }
437
+ if (context.target && context.target !== document.documentElement) {
354
438
  createTargetEvents();
355
439
  return cancelTargetEvents;
356
440
  } else {
@@ -371,7 +455,6 @@ var Sticky = function Sticky(props) {
371
455
  if (props.onChange) {
372
456
  props.onChange(show);
373
457
  }
374
- ;
375
458
  }, [show]);
376
459
 
377
460
  // 纯css方法 直接使用css
@@ -394,7 +477,7 @@ var Sticky = function Sticky(props) {
394
477
  }
395
478
  var StickyEl = show && parentVisible ? /*#__PURE__*/_jsx("div", {
396
479
  style: _objectSpread(_objectSpread({
397
- zIndex: defaultZIndex
480
+ zIndex: ((_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.zIndex) || defaultZIndex
398
481
  }, style), elementSize),
399
482
  children: /*#__PURE__*/_jsx("div", {
400
483
  className: props.className,
@@ -27,6 +27,12 @@ export interface StickyProps extends Pick<CommonType, 'className' | 'style'> {
27
27
  * @cn 自定义附着的目标。可以传入 HTMLElement 或者 css selector,target 必须为 Sticky 组件的祖先节点
28
28
  */
29
29
  scrollContainer?: string | HTMLElement | Element | null;
30
+ /**
31
+ * @en Stop sticky at bottom of scrollContainer or when the sticky element scrolls to the specified position or the bottom of the specified element
32
+ * @cn sticky元素滚动到指定位置或与指定元素底部重合时,取消sticky
33
+ * @version 3.8.0
34
+ */
35
+ stickyBoundary?: number | (() => HTMLElement | null);
30
36
  /**
31
37
  * @cn sticky 父级元素, 当父元素离开视窗时,sticky 将失效
32
38
  * @en sticky parent, when the parent element leaves the viewport, the sticky will be invalid
@@ -1 +1 @@
1
- {"version":3,"file":"sticky.type.d.ts","sourceRoot":"","sources":["sticky.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IAC1E,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IAEF;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC;IAExD;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
1
+ {"version":3,"file":"sticky.type.d.ts","sourceRoot":"","sources":["sticky.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IAC1E,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IAEF;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC;IAExD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;IAErD;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAmqBE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAisBE"}
@@ -22,7 +22,7 @@ import AbsoluteContext from "../absolute-list/absolute-context";
22
22
  import Empty from "../empty";
23
23
  import Sticky, { defaultZIndex } from "../sticky";
24
24
  import { useConfig } from "../config";
25
- import { useTableLayout, useTableColumns, useTableFilter, useTableSort, useTableTree, usePersistFn, useListSelect, useInputAble, useTableVirtual, usePaginationList, useLatestObj, useResize, useScrollbarWidth, util } from '@sheinx/hooks';
25
+ import { useTableLayout, useTableColumns, useTableFilter, useTableSort, useTableTree, usePersistFn, useListSelect, useInputAble, useTableVirtual, usePaginationList, useLatestObj, useResize, useScrollbarWidth, util, addResizeObserver } from '@sheinx/hooks';
26
26
  import useTableSelect from "./use-table-select";
27
27
  import Colgroup from "./colgroup";
28
28
  import Thead from "./thead";
@@ -86,7 +86,8 @@ export default (function (props) {
86
86
  };
87
87
  var _useRef = useRef({
88
88
  emptyHeight: 0,
89
- theadAndTfootHeight: 0,
89
+ theadHeight: 0,
90
+ tfootHeight: 0,
90
91
  scrollingTimer: null
91
92
  }),
92
93
  context = _useRef.current;
@@ -219,15 +220,38 @@ export default (function (props) {
219
220
  onChange: inputableData.onChange,
220
221
  disabled: props.disabled
221
222
  });
222
- useEffect(function () {
223
+ var handleTheadAndTfootHeight = usePersistFn(function () {
223
224
  var _theadRef$current, _tfootRef$current;
224
225
  var theadHeight = (theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0;
225
226
  var tfootHeight = ((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0;
226
227
  if (props.sticky) {
227
- context.theadAndTfootHeight = tfootHeight;
228
+ context.tfootHeight = tfootHeight;
228
229
  } else {
229
- context.theadAndTfootHeight = theadHeight + tfootHeight;
230
+ context.theadHeight = theadHeight;
231
+ context.tfootHeight = tfootHeight;
232
+ }
233
+ });
234
+ useEffect(function () {
235
+ handleTheadAndTfootHeight();
236
+ var cancelFunc1;
237
+ if (theadRef !== null && theadRef !== void 0 && theadRef.current) {
238
+ cancelFunc1 = addResizeObserver(theadRef === null || theadRef === void 0 ? void 0 : theadRef.current, handleTheadAndTfootHeight, {
239
+ direction: 'y',
240
+ timer: 10
241
+ });
242
+ }
243
+ var cancelFunc2;
244
+ if (tfootRef !== null && tfootRef !== void 0 && tfootRef.current) {
245
+ cancelFunc2 = addResizeObserver(tfootRef === null || tfootRef === void 0 ? void 0 : tfootRef.current, handleTheadAndTfootHeight, {
246
+ direction: 'y',
247
+ timer: 10
248
+ });
230
249
  }
250
+ return function () {
251
+ var _cancelFunc, _cancelFunc2;
252
+ (_cancelFunc = cancelFunc1) === null || _cancelFunc === void 0 || _cancelFunc();
253
+ (_cancelFunc2 = cancelFunc2) === null || _cancelFunc2 === void 0 || _cancelFunc2();
254
+ };
231
255
  }, [theadRef.current, tfootRef.current]);
232
256
  var virtualInfo = useTableVirtual({
233
257
  disabled: !virtual,
@@ -240,7 +264,8 @@ export default (function (props) {
240
264
  innerRef: tbodyRef,
241
265
  scrollLeft: props.scrollLeft,
242
266
  isRtl: isRtl,
243
- theadAndTfootHeight: context.theadAndTfootHeight
267
+ theadHeight: context.theadHeight,
268
+ tfootHeight: context.tfootHeight
244
269
  });
245
270
  var syncHeaderScroll = usePersistFn(function (left) {
246
271
  var _tableRef$current;
@@ -315,6 +340,10 @@ export default (function (props) {
315
340
  return null;
316
341
  };
317
342
  var $empty = renderEmpty();
343
+ var tableStyle = {
344
+ width: width,
345
+ borderSpacing: 0
346
+ };
318
347
  var renderTable = function renderTable() {
319
348
  var _props$summary, _sticky$top, _props$data2;
320
349
  var Group = /*#__PURE__*/_jsx(Colgroup, {
@@ -364,6 +393,7 @@ export default (function (props) {
364
393
  onFilterChange: onFilterChange,
365
394
  sortInfo: sortInfo,
366
395
  sortDirections: props.sortDirections,
396
+ cellSortable: props.cellSortable,
367
397
  onSorterChange: onSorterChange,
368
398
  dragCol: layoutFunc.dragCol,
369
399
  resizeCol: layoutFunc.resizeCol,
@@ -381,7 +411,8 @@ export default (function (props) {
381
411
  summary: props.summary,
382
412
  columns: columns,
383
413
  jssStyle: props.jssStyle,
384
- colgroup: colgroup
414
+ colgroup: colgroup,
415
+ data: props.data
385
416
  };
386
417
  var StickyWrapper = props.sticky ? Sticky : React.Fragment;
387
418
  var sticky = _typeof(props.sticky) === 'object' ? props.sticky : {
@@ -484,9 +515,7 @@ export default (function (props) {
484
515
  role: theadIdRef.current
485
516
  })), {}, {
486
517
  children: /*#__PURE__*/_jsxs("table", {
487
- style: {
488
- width: width
489
- },
518
+ style: tableStyle,
490
519
  ref: theadRef,
491
520
  children: [Group, /*#__PURE__*/_jsx(Thead, _objectSpread({}, headCommonProps))]
492
521
  })
@@ -515,10 +544,9 @@ export default (function (props) {
515
544
  tableRef: tableRef,
516
545
  setFakeVirtual: setFakeVirtual,
517
546
  children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length) && /*#__PURE__*/_jsxs("table", {
518
- style: {
519
- width: width,
547
+ style: _objectSpread(_objectSpread({}, tableStyle), {}, {
520
548
  transform: virtualInfo.translateStyle
521
- },
549
+ }),
522
550
  ref: tbodyRef,
523
551
  children: [Group, /*#__PURE__*/_jsx(Tbody, _objectSpread(_objectSpread({}, bodyCommonProps), {}, {
524
552
  currentIndex: virtualInfo.startIndex,
@@ -529,9 +557,7 @@ export default (function (props) {
529
557
  }), showFoot ? /*#__PURE__*/_jsx("div", {
530
558
  className: footWrapperClass,
531
559
  children: /*#__PURE__*/_jsxs("table", {
532
- style: {
533
- width: width
534
- },
560
+ style: tableStyle,
535
561
  ref: tfootRef,
536
562
  children: [Group, /*#__PURE__*/_jsx(Tfoot, _objectSpread({}, footCommonProps))]
537
563
  })
@@ -545,9 +571,7 @@ export default (function (props) {
545
571
  className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.bodyWrapper,
546
572
  onScroll: handleBodyScroll,
547
573
  children: /*#__PURE__*/_jsxs("table", {
548
- style: {
549
- width: width
550
- },
574
+ style: tableStyle,
551
575
  ref: tbodyRef,
552
576
  children: [Group, !props.hideHeader && /*#__PURE__*/_jsx(Thead, _objectSpread({}, headCommonProps)), bodyCommonProps.data.length === 0 ? /*#__PURE__*/_jsx(TbodyEmpty, {
553
577
  children: renderEmpty()
@@ -636,9 +660,7 @@ export default (function (props) {
636
660
  }, props.style),
637
661
  dir: config.direction,
638
662
  children: /*#__PURE__*/_jsx("table", {
639
- style: {
640
- width: width
641
- },
663
+ style: tableStyle,
642
664
  children: props.children
643
665
  })
644
666
  });