@douyinfe/semi-ui 2.27.1 → 2.28.0-beta.1

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 (367) hide show
  1. package/dist/css/semi.css +228 -0
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +2446 -2082
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  7. package/lib/cjs/_portal/index.js +2 -2
  8. package/lib/cjs/_utils/index.js +3 -1
  9. package/lib/cjs/anchor/index.js +9 -9
  10. package/lib/cjs/anchor/link.js +8 -8
  11. package/lib/cjs/autoComplete/index.js +8 -4
  12. package/lib/cjs/autoComplete/option.js +7 -7
  13. package/lib/cjs/avatar/avatarGroup.js +7 -7
  14. package/lib/cjs/avatar/index.js +12 -12
  15. package/lib/cjs/badge/index.js +8 -8
  16. package/lib/cjs/banner/index.js +12 -12
  17. package/lib/cjs/breadcrumb/index.js +12 -12
  18. package/lib/cjs/breadcrumb/item.js +8 -8
  19. package/lib/cjs/button/Button.js +9 -9
  20. package/lib/cjs/button/buttonGroup.js +5 -5
  21. package/lib/cjs/button/splitButtonGroup.js +1 -1
  22. package/lib/cjs/calendar/dayCalendar.js +13 -13
  23. package/lib/cjs/calendar/dayCol.js +17 -17
  24. package/lib/cjs/calendar/monthCalendar.js +38 -38
  25. package/lib/cjs/calendar/rangeCalendar.js +27 -27
  26. package/lib/cjs/calendar/timeCol.js +6 -6
  27. package/lib/cjs/calendar/weekCalendar.js +27 -27
  28. package/lib/cjs/card/cardGroup.js +2 -2
  29. package/lib/cjs/card/index.js +16 -16
  30. package/lib/cjs/card/meta.js +5 -5
  31. package/lib/cjs/carousel/CarouselArrow.js +6 -6
  32. package/lib/cjs/carousel/CarouselIndicator.js +6 -6
  33. package/lib/cjs/carousel/index.js +12 -12
  34. package/lib/cjs/cascader/index.d.ts +5 -2
  35. package/lib/cjs/cascader/index.js +40 -38
  36. package/lib/cjs/cascader/item.d.ts +15 -1
  37. package/lib/cjs/cascader/item.js +64 -32
  38. package/lib/cjs/checkbox/checkbox.js +14 -14
  39. package/lib/cjs/checkbox/checkboxGroup.js +4 -4
  40. package/lib/cjs/checkbox/checkboxInner.js +6 -6
  41. package/lib/cjs/collapse/item.js +9 -9
  42. package/lib/cjs/collapsible/index.js +3 -3
  43. package/lib/cjs/configProvider/index.js +1 -1
  44. package/lib/cjs/datePicker/dateInput.js +16 -16
  45. package/lib/cjs/datePicker/datePicker.js +9 -9
  46. package/lib/cjs/datePicker/footer.js +1 -1
  47. package/lib/cjs/datePicker/index.js +1 -1
  48. package/lib/cjs/datePicker/month.js +2 -2
  49. package/lib/cjs/datePicker/monthsGrid.js +27 -27
  50. package/lib/cjs/datePicker/navigation.js +1 -1
  51. package/lib/cjs/datePicker/quickControl.js +14 -14
  52. package/lib/cjs/datePicker/yearAndMonth.js +4 -4
  53. package/lib/cjs/descriptions/index.js +3 -3
  54. package/lib/cjs/descriptions/item.js +5 -5
  55. package/lib/cjs/divider/index.js +7 -7
  56. package/lib/cjs/dropdown/dropdownDivider.js +1 -1
  57. package/lib/cjs/dropdown/dropdownItem.js +7 -7
  58. package/lib/cjs/dropdown/dropdownMenu.d.ts +1 -1
  59. package/lib/cjs/dropdown/dropdownMenu.js +1 -1
  60. package/lib/cjs/dropdown/dropdownTitle.js +2 -2
  61. package/lib/cjs/dropdown/index.d.ts +1 -1
  62. package/lib/cjs/dropdown/index.js +3 -3
  63. package/lib/cjs/empty/index.js +7 -7
  64. package/lib/cjs/form/arrayField.js +1 -1
  65. package/lib/cjs/form/baseForm.d.ts +3 -1
  66. package/lib/cjs/form/baseForm.js +2 -2
  67. package/lib/cjs/form/errorMessage.js +1 -1
  68. package/lib/cjs/form/field.d.ts +3 -1
  69. package/lib/cjs/form/group.js +2 -2
  70. package/lib/cjs/form/hoc/withField.js +16 -16
  71. package/lib/cjs/form/label.js +9 -9
  72. package/lib/cjs/form/slot.js +5 -5
  73. package/lib/cjs/grid/col.js +11 -11
  74. package/lib/cjs/grid/row.js +4 -4
  75. package/lib/cjs/highlight/index.js +1 -1
  76. package/lib/cjs/iconButton/index.js +5 -5
  77. package/lib/cjs/image/image.js +10 -10
  78. package/lib/cjs/image/preview.d.ts +1 -1
  79. package/lib/cjs/image/preview.js +3 -3
  80. package/lib/cjs/image/previewFooter.js +12 -12
  81. package/lib/cjs/image/previewHeader.js +3 -3
  82. package/lib/cjs/image/previewImage.js +7 -7
  83. package/lib/cjs/image/previewInner.js +7 -7
  84. package/lib/cjs/input/index.d.ts +1 -1
  85. package/lib/cjs/input/index.js +38 -38
  86. package/lib/cjs/input/inputGroup.js +7 -7
  87. package/lib/cjs/input/textarea.js +14 -14
  88. package/lib/cjs/inputNumber/index.js +11 -11
  89. package/lib/cjs/layout/Sider.d.ts +1 -0
  90. package/lib/cjs/layout/Sider.js +4 -3
  91. package/lib/cjs/layout/index.js +4 -2
  92. package/lib/cjs/list/index.js +11 -11
  93. package/lib/cjs/list/item.js +6 -6
  94. package/lib/cjs/modal/ConfirmModal.js +7 -7
  95. package/lib/cjs/modal/Modal.d.ts +0 -2
  96. package/lib/cjs/modal/Modal.js +8 -10
  97. package/lib/cjs/modal/ModalContent.js +24 -24
  98. package/lib/cjs/modal/useModal/index.js +1 -1
  99. package/lib/cjs/navigation/CollapseButton.js +1 -1
  100. package/lib/cjs/navigation/Footer.js +2 -2
  101. package/lib/cjs/navigation/Header.js +5 -5
  102. package/lib/cjs/navigation/Item.js +16 -16
  103. package/lib/cjs/navigation/SubNav.js +14 -14
  104. package/lib/cjs/navigation/index.js +8 -8
  105. package/lib/cjs/notification/index.js +3 -3
  106. package/lib/cjs/notification/notice.js +12 -12
  107. package/lib/cjs/overflowList/index.d.ts +1 -1
  108. package/lib/cjs/overflowList/index.js +32 -35
  109. package/lib/cjs/overflowList/intersectionObserver.js +3 -1
  110. package/lib/cjs/pagination/index.js +26 -26
  111. package/lib/cjs/popconfirm/index.js +9 -9
  112. package/lib/cjs/popover/index.js +2 -2
  113. package/lib/cjs/progress/index.js +14 -14
  114. package/lib/cjs/radio/radio.js +22 -22
  115. package/lib/cjs/radio/radioGroup.js +5 -5
  116. package/lib/cjs/radio/radioInner.js +7 -7
  117. package/lib/cjs/rating/index.js +5 -5
  118. package/lib/cjs/rating/item.js +11 -11
  119. package/lib/cjs/scrollList/index.js +5 -5
  120. package/lib/cjs/scrollList/scrollItem.js +13 -13
  121. package/lib/cjs/select/index.d.ts +11 -0
  122. package/lib/cjs/select/index.js +297 -116
  123. package/lib/cjs/select/option.js +7 -7
  124. package/lib/cjs/sideSheet/SideSheetContent.js +10 -10
  125. package/lib/cjs/sideSheet/index.js +7 -7
  126. package/lib/cjs/skeleton/index.js +1 -1
  127. package/lib/cjs/skeleton/item.js +4 -4
  128. package/lib/cjs/slider/index.js +28 -28
  129. package/lib/cjs/space/index.js +12 -12
  130. package/lib/cjs/spin/icon.js +2 -2
  131. package/lib/cjs/spin/index.d.ts +1 -1
  132. package/lib/cjs/spin/index.js +6 -6
  133. package/lib/cjs/steps/basicStep.js +14 -14
  134. package/lib/cjs/steps/basicSteps.js +6 -6
  135. package/lib/cjs/steps/fillStep.js +10 -10
  136. package/lib/cjs/steps/fillSteps.js +4 -4
  137. package/lib/cjs/steps/navStep.js +5 -5
  138. package/lib/cjs/steps/navSteps.js +2 -2
  139. package/lib/cjs/table/Body/BaseRow.js +5 -5
  140. package/lib/cjs/table/Body/ExpandedRow.js +3 -3
  141. package/lib/cjs/table/Body/SectionRow.js +1 -1
  142. package/lib/cjs/table/Body/index.js +8 -8
  143. package/lib/cjs/table/ColGroup.js +2 -2
  144. package/lib/cjs/table/ColumnFilter.js +3 -3
  145. package/lib/cjs/table/ColumnSelection.js +2 -2
  146. package/lib/cjs/table/ColumnSorter.js +7 -7
  147. package/lib/cjs/table/CustomExpandIcon.js +2 -2
  148. package/lib/cjs/table/HeadTable.js +3 -3
  149. package/lib/cjs/table/Table.js +20 -20
  150. package/lib/cjs/table/TableCell.js +8 -8
  151. package/lib/cjs/table/TableHeader.js +1 -1
  152. package/lib/cjs/table/TableHeaderRow.d.ts +1 -1
  153. package/lib/cjs/table/TableHeaderRow.js +8 -8
  154. package/lib/cjs/table/TablePagination.js +3 -3
  155. package/lib/cjs/tabs/TabBar.js +31 -49
  156. package/lib/cjs/tabs/TabItem.d.ts +18 -0
  157. package/lib/cjs/tabs/TabItem.js +95 -0
  158. package/lib/cjs/tabs/TabPane.js +3 -3
  159. package/lib/cjs/tabs/index.d.ts +2 -1
  160. package/lib/cjs/tabs/index.js +5 -2
  161. package/lib/cjs/tag/group.js +5 -5
  162. package/lib/cjs/tag/index.js +13 -13
  163. package/lib/cjs/tagInput/index.js +33 -33
  164. package/lib/cjs/timePicker/Combobox.js +4 -4
  165. package/lib/cjs/timePicker/TimeInput.js +4 -4
  166. package/lib/cjs/timePicker/TimePicker.js +8 -8
  167. package/lib/cjs/timeline/index.js +8 -8
  168. package/lib/cjs/timeline/item.js +7 -7
  169. package/lib/cjs/toast/index.js +5 -5
  170. package/lib/cjs/toast/toast.js +9 -9
  171. package/lib/cjs/tooltip/index.js +7 -7
  172. package/lib/cjs/transfer/index.js +31 -31
  173. package/lib/cjs/tree/autoSizer.js +1 -1
  174. package/lib/cjs/tree/index.js +6 -6
  175. package/lib/cjs/tree/interface.d.ts +1 -0
  176. package/lib/cjs/tree/nodeList.js +1 -1
  177. package/lib/cjs/tree/treeNode.js +26 -26
  178. package/lib/cjs/treeSelect/index.js +41 -41
  179. package/lib/cjs/typography/base.js +14 -14
  180. package/lib/cjs/typography/copyable.js +3 -3
  181. package/lib/cjs/typography/paragraph.js +1 -1
  182. package/lib/cjs/typography/title.d.ts +1 -1
  183. package/lib/cjs/typography/title.js +1 -1
  184. package/lib/cjs/typography/util.js +1 -1
  185. package/lib/cjs/upload/fileCard.js +32 -32
  186. package/lib/cjs/upload/index.js +37 -37
  187. package/lib/es/_portal/index.js +2 -2
  188. package/lib/es/_utils/index.js +3 -1
  189. package/lib/es/anchor/index.js +9 -9
  190. package/lib/es/anchor/link.js +8 -8
  191. package/lib/es/autoComplete/index.js +8 -4
  192. package/lib/es/autoComplete/option.js +7 -7
  193. package/lib/es/avatar/avatarGroup.js +7 -7
  194. package/lib/es/avatar/index.js +12 -12
  195. package/lib/es/badge/index.js +8 -8
  196. package/lib/es/banner/index.js +12 -12
  197. package/lib/es/breadcrumb/index.js +12 -12
  198. package/lib/es/breadcrumb/item.js +8 -8
  199. package/lib/es/button/Button.js +9 -9
  200. package/lib/es/button/buttonGroup.js +5 -5
  201. package/lib/es/button/splitButtonGroup.js +1 -1
  202. package/lib/es/calendar/dayCalendar.js +13 -13
  203. package/lib/es/calendar/dayCol.js +17 -17
  204. package/lib/es/calendar/monthCalendar.js +38 -38
  205. package/lib/es/calendar/rangeCalendar.js +27 -27
  206. package/lib/es/calendar/timeCol.js +6 -6
  207. package/lib/es/calendar/weekCalendar.js +27 -27
  208. package/lib/es/card/cardGroup.js +2 -2
  209. package/lib/es/card/index.js +16 -16
  210. package/lib/es/card/meta.js +5 -5
  211. package/lib/es/carousel/CarouselArrow.js +6 -6
  212. package/lib/es/carousel/CarouselIndicator.js +6 -6
  213. package/lib/es/carousel/index.js +12 -12
  214. package/lib/es/cascader/index.d.ts +5 -2
  215. package/lib/es/cascader/index.js +40 -38
  216. package/lib/es/cascader/item.d.ts +15 -1
  217. package/lib/es/cascader/item.js +64 -32
  218. package/lib/es/checkbox/checkbox.js +14 -14
  219. package/lib/es/checkbox/checkboxGroup.js +4 -4
  220. package/lib/es/checkbox/checkboxInner.js +6 -6
  221. package/lib/es/collapse/item.js +9 -9
  222. package/lib/es/collapsible/index.js +3 -3
  223. package/lib/es/configProvider/index.js +1 -1
  224. package/lib/es/datePicker/dateInput.js +16 -16
  225. package/lib/es/datePicker/datePicker.js +9 -9
  226. package/lib/es/datePicker/footer.js +1 -1
  227. package/lib/es/datePicker/index.js +1 -1
  228. package/lib/es/datePicker/month.js +2 -2
  229. package/lib/es/datePicker/monthsGrid.js +27 -27
  230. package/lib/es/datePicker/navigation.js +1 -1
  231. package/lib/es/datePicker/quickControl.js +14 -14
  232. package/lib/es/datePicker/yearAndMonth.js +4 -4
  233. package/lib/es/descriptions/index.js +3 -3
  234. package/lib/es/descriptions/item.js +5 -5
  235. package/lib/es/divider/index.js +7 -7
  236. package/lib/es/dropdown/dropdownDivider.js +1 -1
  237. package/lib/es/dropdown/dropdownItem.js +7 -7
  238. package/lib/es/dropdown/dropdownMenu.d.ts +1 -1
  239. package/lib/es/dropdown/dropdownMenu.js +1 -1
  240. package/lib/es/dropdown/dropdownTitle.js +2 -2
  241. package/lib/es/dropdown/index.d.ts +1 -1
  242. package/lib/es/dropdown/index.js +3 -3
  243. package/lib/es/empty/index.js +7 -7
  244. package/lib/es/form/arrayField.js +1 -1
  245. package/lib/es/form/baseForm.d.ts +3 -1
  246. package/lib/es/form/baseForm.js +2 -2
  247. package/lib/es/form/errorMessage.js +1 -1
  248. package/lib/es/form/field.d.ts +3 -1
  249. package/lib/es/form/group.js +2 -2
  250. package/lib/es/form/hoc/withField.js +16 -16
  251. package/lib/es/form/label.js +9 -9
  252. package/lib/es/form/slot.js +5 -5
  253. package/lib/es/grid/col.js +11 -11
  254. package/lib/es/grid/row.js +4 -4
  255. package/lib/es/highlight/index.js +1 -1
  256. package/lib/es/iconButton/index.js +5 -5
  257. package/lib/es/image/image.js +10 -10
  258. package/lib/es/image/preview.d.ts +1 -1
  259. package/lib/es/image/preview.js +3 -3
  260. package/lib/es/image/previewFooter.js +12 -12
  261. package/lib/es/image/previewHeader.js +3 -3
  262. package/lib/es/image/previewImage.js +7 -7
  263. package/lib/es/image/previewInner.js +7 -7
  264. package/lib/es/input/index.d.ts +1 -1
  265. package/lib/es/input/index.js +38 -38
  266. package/lib/es/input/inputGroup.js +7 -7
  267. package/lib/es/input/textarea.js +14 -14
  268. package/lib/es/inputNumber/index.js +11 -11
  269. package/lib/es/layout/Sider.d.ts +1 -0
  270. package/lib/es/layout/Sider.js +4 -3
  271. package/lib/es/layout/index.js +4 -2
  272. package/lib/es/list/index.js +11 -11
  273. package/lib/es/list/item.js +6 -6
  274. package/lib/es/modal/ConfirmModal.js +7 -7
  275. package/lib/es/modal/Modal.d.ts +0 -2
  276. package/lib/es/modal/Modal.js +8 -10
  277. package/lib/es/modal/ModalContent.js +24 -24
  278. package/lib/es/modal/useModal/index.js +1 -1
  279. package/lib/es/navigation/CollapseButton.js +1 -1
  280. package/lib/es/navigation/Footer.js +2 -2
  281. package/lib/es/navigation/Header.js +5 -5
  282. package/lib/es/navigation/Item.js +16 -16
  283. package/lib/es/navigation/SubNav.js +14 -14
  284. package/lib/es/navigation/index.js +8 -8
  285. package/lib/es/notification/index.js +3 -3
  286. package/lib/es/notification/notice.js +12 -12
  287. package/lib/es/overflowList/index.d.ts +1 -1
  288. package/lib/es/overflowList/index.js +31 -35
  289. package/lib/es/overflowList/intersectionObserver.js +2 -1
  290. package/lib/es/pagination/index.js +26 -26
  291. package/lib/es/popconfirm/index.js +9 -9
  292. package/lib/es/popover/index.js +2 -2
  293. package/lib/es/progress/index.js +14 -14
  294. package/lib/es/radio/radio.js +22 -22
  295. package/lib/es/radio/radioGroup.js +5 -5
  296. package/lib/es/radio/radioInner.js +7 -7
  297. package/lib/es/rating/index.js +5 -5
  298. package/lib/es/rating/item.js +11 -11
  299. package/lib/es/scrollList/index.js +5 -5
  300. package/lib/es/scrollList/scrollItem.js +13 -13
  301. package/lib/es/select/index.d.ts +11 -0
  302. package/lib/es/select/index.js +288 -112
  303. package/lib/es/select/option.js +7 -7
  304. package/lib/es/sideSheet/SideSheetContent.js +10 -10
  305. package/lib/es/sideSheet/index.js +7 -7
  306. package/lib/es/skeleton/index.js +1 -1
  307. package/lib/es/skeleton/item.js +4 -4
  308. package/lib/es/slider/index.js +28 -28
  309. package/lib/es/space/index.js +12 -12
  310. package/lib/es/spin/icon.js +2 -2
  311. package/lib/es/spin/index.d.ts +1 -1
  312. package/lib/es/spin/index.js +6 -6
  313. package/lib/es/steps/basicStep.js +14 -14
  314. package/lib/es/steps/basicSteps.js +6 -6
  315. package/lib/es/steps/fillStep.js +10 -10
  316. package/lib/es/steps/fillSteps.js +4 -4
  317. package/lib/es/steps/navStep.js +5 -5
  318. package/lib/es/steps/navSteps.js +2 -2
  319. package/lib/es/table/Body/BaseRow.js +5 -5
  320. package/lib/es/table/Body/ExpandedRow.js +3 -3
  321. package/lib/es/table/Body/SectionRow.js +1 -1
  322. package/lib/es/table/Body/index.js +8 -8
  323. package/lib/es/table/ColGroup.js +2 -2
  324. package/lib/es/table/ColumnFilter.js +3 -3
  325. package/lib/es/table/ColumnSelection.js +2 -2
  326. package/lib/es/table/ColumnSorter.js +7 -7
  327. package/lib/es/table/CustomExpandIcon.js +2 -2
  328. package/lib/es/table/HeadTable.js +3 -3
  329. package/lib/es/table/Table.js +20 -20
  330. package/lib/es/table/TableCell.js +8 -8
  331. package/lib/es/table/TableHeader.js +1 -1
  332. package/lib/es/table/TableHeaderRow.d.ts +1 -1
  333. package/lib/es/table/TableHeaderRow.js +8 -8
  334. package/lib/es/table/TablePagination.js +3 -3
  335. package/lib/es/tabs/TabBar.js +30 -50
  336. package/lib/es/tabs/TabItem.d.ts +18 -0
  337. package/lib/es/tabs/TabItem.js +78 -0
  338. package/lib/es/tabs/TabPane.js +3 -3
  339. package/lib/es/tabs/index.d.ts +2 -1
  340. package/lib/es/tabs/index.js +4 -2
  341. package/lib/es/tag/group.js +5 -5
  342. package/lib/es/tag/index.js +13 -13
  343. package/lib/es/tagInput/index.js +33 -33
  344. package/lib/es/timePicker/Combobox.js +4 -4
  345. package/lib/es/timePicker/TimeInput.js +4 -4
  346. package/lib/es/timePicker/TimePicker.js +8 -8
  347. package/lib/es/timeline/index.js +8 -8
  348. package/lib/es/timeline/item.js +7 -7
  349. package/lib/es/toast/index.js +5 -5
  350. package/lib/es/toast/toast.js +9 -9
  351. package/lib/es/tooltip/index.js +7 -7
  352. package/lib/es/transfer/index.js +31 -31
  353. package/lib/es/tree/autoSizer.js +1 -1
  354. package/lib/es/tree/index.js +6 -6
  355. package/lib/es/tree/interface.d.ts +1 -0
  356. package/lib/es/tree/nodeList.js +1 -1
  357. package/lib/es/tree/treeNode.js +26 -26
  358. package/lib/es/treeSelect/index.js +41 -41
  359. package/lib/es/typography/base.js +14 -14
  360. package/lib/es/typography/copyable.js +3 -3
  361. package/lib/es/typography/paragraph.js +1 -1
  362. package/lib/es/typography/title.d.ts +1 -1
  363. package/lib/es/typography/title.js +1 -1
  364. package/lib/es/typography/util.js +1 -1
  365. package/lib/es/upload/fileCard.js +32 -32
  366. package/lib/es/upload/index.js +37 -37
  367. package/package.json +8 -8
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
9
+
8
10
  var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
9
11
 
10
12
  var _get2 = _interopRequireDefault(require("lodash/get"));
@@ -35,9 +37,15 @@ var _index = _interopRequireDefault(require("../tag/index"));
35
37
 
36
38
  var _group = _interopRequireDefault(require("../tag/group"));
37
39
 
40
+ var _index2 = _interopRequireDefault(require("../overflowList/index"));
41
+
42
+ var _index3 = _interopRequireDefault(require("../space/index"));
43
+
44
+ var _text = _interopRequireDefault(require("../typography/text"));
45
+
38
46
  var _localeConsumer = _interopRequireDefault(require("../locale/localeConsumer"));
39
47
 
40
- var _index2 = _interopRequireDefault(require("../popover/index"));
48
+ var _index4 = _interopRequireDefault(require("../popover/index"));
41
49
 
42
50
  var _constants2 = require("@douyinfe/semi-foundation/lib/cjs/popover/constants");
43
51
 
@@ -49,7 +57,7 @@ var _utils = require("./utils");
49
57
 
50
58
  var _virtualRow = _interopRequireDefault(require("./virtualRow"));
51
59
 
52
- var _index3 = _interopRequireDefault(require("../input/index"));
60
+ var _index5 = _interopRequireDefault(require("../input/index"));
53
61
 
54
62
  var _option = _interopRequireDefault(require("./option"));
55
63
 
@@ -155,7 +163,8 @@ class Select extends _baseComponent.default {
155
163
  optionGroups: [],
156
164
  isHovering: false,
157
165
  isFocusInContainer: false,
158
- isFullTags: false
166
+ isFullTags: false,
167
+ overflowItemCount: 0
159
168
  };
160
169
  /* Generate random string */
161
170
 
@@ -380,6 +389,11 @@ class Select extends _baseComponent.default {
380
389
  isFocus
381
390
  });
382
391
  },
392
+ updateOverflowItemCount: overflowItemCount => {
393
+ this.setState({
394
+ overflowItemCount
395
+ });
396
+ },
383
397
  focusTrigger: () => {
384
398
  try {
385
399
  const {
@@ -410,13 +424,13 @@ class Select extends _baseComponent.default {
410
424
  },
411
425
  updateScrollTop: index => {
412
426
  // eslint-disable-next-line max-len
413
- let optionClassName = ".".concat(prefixcls, "-option-selected");
427
+ let optionClassName = `.${prefixcls}-option-selected`;
414
428
 
415
429
  if (index !== undefined) {
416
- optionClassName = ".".concat(prefixcls, "-option:nth-child(").concat(index, ")");
430
+ optionClassName = `.${prefixcls}-option:nth-child(${index})`;
417
431
  }
418
432
 
419
- let destNode = document.querySelector("#".concat(prefixcls, "-").concat(this.selectOptionListID, " ").concat(optionClassName));
433
+ let destNode = document.querySelector(`#${prefixcls}-${this.selectOptionListID} ${optionClassName}`);
420
434
 
421
435
  if (Array.isArray(destNode)) {
422
436
  // eslint-disable-next-line prefer-destructuring
@@ -476,9 +490,9 @@ class Select extends _baseComponent.default {
476
490
  filter
477
491
  } = this.props;
478
492
  const inputPropsCls = (0, _get2.default)(inputProps, 'className');
479
- const inputcls = (0, _classnames.default)("".concat(prefixcls, "-input"), {
480
- ["".concat(prefixcls, "-input-single")]: !multiple,
481
- ["".concat(prefixcls, "-input-multiple")]: multiple
493
+ const inputcls = (0, _classnames.default)(`${prefixcls}-input`, {
494
+ [`${prefixcls}-input-single`]: !multiple,
495
+ [`${prefixcls}-input-multiple`]: multiple
482
496
  }, inputPropsCls);
483
497
  const {
484
498
  inputValue,
@@ -494,15 +508,15 @@ class Select extends _baseComponent.default {
494
508
 
495
509
  if (multiple) {
496
510
  style = {
497
- width: inputValue ? "".concat(inputValue.length * 16, "px") : '2px'
511
+ width: inputValue ? `${inputValue.length * 16}px` : '2px'
498
512
  };
499
513
  selectInputProps.style = style;
500
514
  }
501
515
 
502
- return /*#__PURE__*/_react.default.createElement(_index3.default, Object.assign({
516
+ return /*#__PURE__*/_react.default.createElement(_index5.default, Object.assign({
503
517
  ref: this.inputRef,
504
518
  size: size,
505
- "aria-activedescendant": focusIndex !== -1 ? "".concat(this.selectID, "-option-").concat(focusIndex) : '',
519
+ "aria-activedescendant": focusIndex !== -1 ? `${this.selectID}-option-${focusIndex}` : '',
506
520
  onFocus: e => {
507
521
  // if multiple and filter, when use tab key to let select get focus
508
522
  // need to manual update state isFocus to let the focus style take effect
@@ -560,7 +574,7 @@ class Select extends _baseComponent.default {
560
574
  }
561
575
 
562
576
  renderLoading() {
563
- const loadingWrapperCls = "".concat(prefixcls, "-loading-wrapper");
577
+ const loadingWrapperCls = `${prefixcls}-loading-wrapper`;
564
578
  return /*#__PURE__*/_react.default.createElement("div", {
565
579
  className: loadingWrapperCls
566
580
  }, /*#__PURE__*/_react.default.createElement(_spin.default, null));
@@ -601,7 +615,7 @@ class Select extends _baseComponent.default {
601
615
  key: option.key || option.label + option.value + optionIndex,
602
616
  renderOptionItem: renderOptionItem,
603
617
  inputValue: inputValue,
604
- id: "".concat(this.selectID, "-option-").concat(optionIndex)
618
+ id: `${this.selectID}-option-${optionIndex}`
605
619
  }), option.label);
606
620
  }
607
621
 
@@ -625,7 +639,7 @@ class Select extends _baseComponent.default {
625
639
  }), /*#__PURE__*/_react.default.createElement(_localeConsumer.default, {
626
640
  componentName: "Select"
627
641
  }, locale => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
628
- className: "".concat(prefixcls, "-create-tips")
642
+ className: `${prefixcls}-create-tips`
629
643
  }, locale.createText), option.value)));
630
644
 
631
645
  return defaultCreateItem;
@@ -729,42 +743,42 @@ class Select extends _baseComponent.default {
729
743
  minWidth: dropdownMinWidth
730
744
  }, dropdownStyle);
731
745
  const optionListCls = (0, _classnames.default)({
732
- ["".concat(prefixcls, "-option-list")]: true,
733
- ["".concat(prefixcls, "-option-list-chosen")]: selections.size
746
+ [`${prefixcls}-option-list`]: true,
747
+ [`${prefixcls}-option-list-chosen`]: selections.size
734
748
  });
735
749
  const isEmpty = !options.length || !options.some(item => item._show);
736
750
  return (
737
751
  /*#__PURE__*/
738
752
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
739
753
  _react.default.createElement("div", {
740
- id: "".concat(prefixcls, "-").concat(this.selectOptionListID),
754
+ id: `${prefixcls}-${this.selectOptionListID}`,
741
755
  className: (0, _classnames.default)({
742
756
  // When emptyContent is null and the option is empty, there is no need for the drop-down option for the user,
743
757
  // so there is no need to set padding through this className
744
- ["".concat(prefixcls, "-option-list-wrapper")]: !(isEmpty && emptyContent === null)
758
+ [`${prefixcls}-option-list-wrapper`]: !(isEmpty && emptyContent === null)
745
759
  }, dropdownClassName),
746
760
  style: style,
747
761
  ref: this.setOptionContainerEl,
748
762
  onKeyDown: e => this.foundation.handleContainerKeyDown(e)
749
763
  }, outerTopSlot ? /*#__PURE__*/_react.default.createElement("div", {
750
- className: "".concat(prefixcls, "-option-list-outer-top-slot"),
764
+ className: `${prefixcls}-option-list-outer-top-slot`,
751
765
  onMouseEnter: () => this.foundation.handleSlotMouseEnter()
752
766
  }, outerTopSlot) : null, /*#__PURE__*/_react.default.createElement("div", {
753
767
  style: {
754
- maxHeight: "".concat(maxHeight, "px")
768
+ maxHeight: `${maxHeight}px`
755
769
  },
756
770
  className: optionListCls,
757
771
  role: "listbox",
758
772
  "aria-multiselectable": multiple,
759
773
  onScroll: e => this.foundation.handleListScroll(e)
760
774
  }, innerTopSlot ? /*#__PURE__*/_react.default.createElement("div", {
761
- className: "".concat(prefixcls, "-option-list-inner-top-slot"),
775
+ className: `${prefixcls}-option-list-inner-top-slot`,
762
776
  onMouseEnter: () => this.foundation.handleSlotMouseEnter()
763
777
  }, innerTopSlot) : null, loading ? this.renderLoading() : isEmpty ? this.renderEmpty() : listContent, innerBottomSlot ? /*#__PURE__*/_react.default.createElement("div", {
764
- className: "".concat(prefixcls, "-option-list-inner-bottom-slot"),
778
+ className: `${prefixcls}-option-list-inner-bottom-slot`,
765
779
  onMouseEnter: () => this.foundation.handleSlotMouseEnter()
766
780
  }, innerBottomSlot) : null), outerBottomSlot ? /*#__PURE__*/_react.default.createElement("div", {
767
- className: "".concat(prefixcls, "-option-list-outer-bottom-slot"),
781
+ className: `${prefixcls}-option-list-outer-bottom-slot`,
768
782
  onMouseEnter: () => this.foundation.handleSlotMouseEnter()
769
783
  }, outerBottomSlot) : null)
770
784
  );
@@ -794,13 +808,13 @@ class Select extends _baseComponent.default {
794
808
  }
795
809
 
796
810
  const spanCls = (0, _classnames.default)({
797
- ["".concat(prefixcls, "-selection-text")]: true,
798
- ["".concat(prefixcls, "-selection-placeholder")]: !renderText && renderText !== 0,
799
- ["".concat(prefixcls, "-selection-text-hide")]: inputValue && showInput,
800
- ["".concat(prefixcls, "-selection-text-inactive")]: !inputValue && showInput // Stack Input & RenderText(opacity 0.4)
811
+ [`${prefixcls}-selection-text`]: true,
812
+ [`${prefixcls}-selection-placeholder`]: !renderText && renderText !== 0,
813
+ [`${prefixcls}-selection-text-hide`]: inputValue && showInput,
814
+ [`${prefixcls}-selection-text-inactive`]: !inputValue && showInput // Stack Input & RenderText(opacity 0.4)
801
815
 
802
816
  });
803
- const contentWrapperCls = "".concat(prefixcls, "-content-wrapper");
817
+ const contentWrapperCls = `${prefixcls}-content-wrapper`;
804
818
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
805
819
  className: contentWrapperCls
806
820
  }, /*#__PURE__*/_react.default.createElement("span", {
@@ -809,22 +823,172 @@ class Select extends _baseComponent.default {
809
823
  }, renderText || renderText === 0 ? renderText : placeholder), filterable && showInput ? this.renderInput() : null));
810
824
  }
811
825
 
812
- renderMultipleSelection(selections, filterable) {
826
+ renderTag(item, i, isCollapseItem) {
827
+ const {
828
+ size,
829
+ disabled: selectDisabled
830
+ } = this.props;
831
+ let {
832
+ renderSelectedItem
833
+ } = this.props;
834
+ const label = item[0];
835
+ const {
836
+ value
837
+ } = item[1];
838
+ const disabled = item[1].disabled || selectDisabled;
839
+
840
+ const onClose = (tagContent, e) => {
841
+ if (e && typeof e.preventDefault === 'function') {
842
+ e.preventDefault(); // make sure that tag will not hidden immediately in controlled mode
843
+ }
844
+
845
+ this.foundation.removeTag({
846
+ label,
847
+ value
848
+ });
849
+ };
850
+
851
+ if (typeof renderSelectedItem === 'undefined') {
852
+ renderSelectedItem = optionNode => ({
853
+ isRenderInTag: true,
854
+ content: optionNode.label
855
+ });
856
+ }
857
+
858
+ const {
859
+ content,
860
+ isRenderInTag
861
+ } = renderSelectedItem(item[1], {
862
+ index: i,
863
+ disabled,
864
+ onClose
865
+ });
866
+ const basic = {
867
+ disabled,
868
+ closable: !disabled,
869
+ onClose
870
+ };
871
+ const realContent = isCollapseItem && !(0, _isFunction2.default)(this.props.renderSelectedItem) ? /*#__PURE__*/_react.default.createElement(_text.default, {
872
+ size: 'small',
873
+ ellipsis: {
874
+ rows: 1,
875
+ showTooltip: {
876
+ type: 'popover',
877
+ opts: {
878
+ style: {
879
+ width: 'auto',
880
+ fontSize: 12
881
+ }
882
+ }
883
+ }
884
+ }
885
+ }, content) : content;
886
+
887
+ if (isRenderInTag) {
888
+ return /*#__PURE__*/_react.default.createElement(_index.default, Object.assign({}, basic, {
889
+ color: "white",
890
+ size: size || 'large',
891
+ key: value,
892
+ style: {
893
+ maxWidth: '100%'
894
+ }
895
+ }), realContent);
896
+ } else {
897
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
898
+ key: value
899
+ }, realContent);
900
+ }
901
+ }
902
+
903
+ renderNTag(n, restTags) {
904
+ const {
905
+ size,
906
+ showRestTagsPopover,
907
+ restTagsPopoverProps
908
+ } = this.props;
909
+
910
+ let nTag = /*#__PURE__*/_react.default.createElement(_index.default, {
911
+ closable: false,
912
+ size: size || 'large',
913
+ color: 'grey',
914
+ className: `${prefixcls}-content-wrapper-collapse-tag`,
915
+ key: `_+${n}`,
916
+ style: {
917
+ marginRight: 0,
918
+ flexShrink: 0
919
+ }
920
+ }, "+", n);
921
+
922
+ if (showRestTagsPopover) {
923
+ nTag = /*#__PURE__*/_react.default.createElement(_index4.default, Object.assign({
924
+ showArrow: true,
925
+ content: /*#__PURE__*/_react.default.createElement(_index3.default, {
926
+ spacing: 2,
927
+ wrap: true,
928
+ style: {
929
+ maxWidth: '400px'
930
+ }
931
+ }, restTags.map((tag, index) => this.renderTag(tag, index))),
932
+ trigger: "hover",
933
+ position: "top",
934
+ autoAdjustOverflow: true
935
+ }, restTagsPopoverProps, {
936
+ key: `_+${n}_Popover`
937
+ }), nTag);
938
+ }
939
+
940
+ return nTag;
941
+ }
942
+
943
+ renderOverflow(items, index) {
944
+ const isCollapse = true;
945
+ return items.length && items[0] ? this.renderTag(items[0], index, isCollapse) : null;
946
+ }
947
+
948
+ handleOverflow(items) {
949
+ const {
950
+ overflowItemCount,
951
+ selections
952
+ } = this.state;
953
+ const {
954
+ maxTagCount
955
+ } = this.props;
956
+ const maxVisibleCount = selections.size - maxTagCount;
957
+ const newOverFlowItemCount = maxVisibleCount > 0 ? maxVisibleCount + items.length - 1 : items.length - 1;
958
+
959
+ if (items.length > 1 && overflowItemCount !== newOverFlowItemCount) {
960
+ this.foundation.updateOverflowItemCount(selections.size, newOverFlowItemCount);
961
+ }
962
+ }
963
+
964
+ renderCollapsedTags(selections, length) {
965
+ const {
966
+ overflowItemCount
967
+ } = this.state;
968
+ const normalTags = typeof length === 'number' ? selections.slice(0, length) : selections;
969
+ return /*#__PURE__*/_react.default.createElement("div", {
970
+ className: `${prefixcls}-content-wrapper-collapse`
971
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, {
972
+ items: normalTags,
973
+ overflowRenderer: overflowItems => this.renderOverflow(overflowItems, length - 1),
974
+ onOverflow: overflowItems => this.handleOverflow(overflowItems),
975
+ visibleItemRenderer: (item, index) => this.renderTag(item, index)
976
+ }), overflowItemCount > 0 && this.renderNTag(overflowItemCount, selections.slice(selections.length - overflowItemCount)));
977
+ }
978
+
979
+ renderOneLineTags(selectedItems, n) {
813
980
  let {
814
981
  renderSelectedItem
815
982
  } = this.props;
816
983
  const {
817
984
  showRestTagsPopover,
818
985
  restTagsPopoverProps,
819
- placeholder,
820
986
  maxTagCount
821
987
  } = this.props;
822
988
  const {
823
- inputValue,
824
989
  isFullTags
825
990
  } = this.state;
826
- const renderTags = [];
827
- const selectedItems = [...selections];
991
+ let tagContent;
828
992
 
829
993
  if (typeof renderSelectedItem === 'undefined') {
830
994
  renderSelectedItem = optionNode => ({
@@ -833,74 +997,87 @@ class Select extends _baseComponent.default {
833
997
  });
834
998
  }
835
999
 
836
- let mapItems = [];
837
- let tags = [];
838
- let tagContent;
839
-
840
- if (!(0, _isNumber2.default)(maxTagCount)) {
841
- // maxTagCount is not set, all tags are displayed
842
- mapItems = selectedItems;
843
- tags = mapItems.map((item, i) => {
1000
+ if (showRestTagsPopover) {
1001
+ // showRestTagsPopover = true,
1002
+ const mapItems = isFullTags ? selectedItems : selectedItems.slice(0, maxTagCount);
1003
+ const tags = mapItems.map((item, i) => {
844
1004
  return this.getTagItem(item, i, renderSelectedItem);
845
1005
  });
846
- tagContent = tags;
1006
+ tagContent = /*#__PURE__*/_react.default.createElement(_group.default, {
1007
+ tagList: tags,
1008
+ maxTagCount: n,
1009
+ restCount: isFullTags ? undefined : selectedItems.length - maxTagCount,
1010
+ size: "large",
1011
+ mode: "custom",
1012
+ showPopover: showRestTagsPopover,
1013
+ popoverProps: restTagsPopoverProps,
1014
+ onPlusNMouseEnter: () => {
1015
+ this.foundation.updateIsFullTags();
1016
+ }
1017
+ });
847
1018
  } else {
848
- // maxTagCount is set
849
- if (showRestTagsPopover) {
850
- // showRestTagsPopover = true,
851
- mapItems = isFullTags ? selectedItems : selectedItems.slice(0, maxTagCount);
852
- tags = mapItems.map((item, i) => {
853
- return this.getTagItem(item, i, renderSelectedItem);
854
- });
855
- const n = selectedItems.length > maxTagCount ? maxTagCount : undefined;
856
- tagContent = /*#__PURE__*/_react.default.createElement(_group.default, {
857
- tagList: tags,
858
- maxTagCount: n,
859
- restCount: isFullTags ? undefined : selectedItems.length - maxTagCount,
860
- size: "large",
861
- mode: "custom",
862
- showPopover: showRestTagsPopover,
863
- popoverProps: restTagsPopoverProps,
864
- onPlusNMouseEnter: () => {
865
- this.foundation.updateIsFullTags();
866
- }
867
- });
868
- } else {
869
- // If maxTagCount is set, showRestTagsPopover is false/undefined,
870
- // then there is no popover when hovering, no extra Tags are displayed,
871
- // only the tags and restCount displayed in the trigger need to be passed in
872
- mapItems = selectedItems.slice(0, maxTagCount);
873
- const n = selectedItems.length > maxTagCount ? maxTagCount : undefined;
874
- tags = mapItems.map((item, i) => {
875
- return this.getTagItem(item, i, renderSelectedItem);
876
- });
877
- tagContent = /*#__PURE__*/_react.default.createElement(_group.default, {
878
- tagList: tags,
879
- maxTagCount: n,
880
- restCount: selectedItems.length - maxTagCount,
881
- size: "large",
882
- mode: "custom"
883
- });
884
- }
1019
+ // If maxTagCount is set, showRestTagsPopover is false/undefined,
1020
+ // then there is no popover when hovering, no extra Tags are displayed,
1021
+ // only the tags and restCount displayed in the trigger need to be passed in
1022
+ const mapItems = selectedItems.slice(0, maxTagCount);
1023
+ const tags = mapItems.map((item, i) => {
1024
+ return this.getTagItem(item, i, renderSelectedItem);
1025
+ });
1026
+ tagContent = /*#__PURE__*/_react.default.createElement(_group.default, {
1027
+ tagList: tags,
1028
+ maxTagCount: n,
1029
+ restCount: selectedItems.length - maxTagCount,
1030
+ size: "large",
1031
+ mode: "custom"
1032
+ });
1033
+ }
1034
+
1035
+ return tagContent;
1036
+ }
1037
+
1038
+ renderMultipleSelection(selections, filterable) {
1039
+ let {
1040
+ renderSelectedItem
1041
+ } = this.props;
1042
+ const {
1043
+ placeholder,
1044
+ maxTagCount,
1045
+ expandRestTagsOnClick,
1046
+ ellipsisTrigger
1047
+ } = this.props;
1048
+ const {
1049
+ inputValue,
1050
+ isOpen
1051
+ } = this.state;
1052
+ const selectedItems = [...selections];
1053
+
1054
+ if (typeof renderSelectedItem === 'undefined') {
1055
+ renderSelectedItem = optionNode => ({
1056
+ isRenderInTag: true,
1057
+ content: optionNode.label
1058
+ });
885
1059
  }
886
1060
 
887
1061
  const contentWrapperCls = (0, _classnames.default)({
888
- ["".concat(prefixcls, "-content-wrapper")]: true,
889
- ["".concat(prefixcls, "-content-wrapper-one-line")]: maxTagCount,
890
- ["".concat(prefixcls, "-content-wrapper-empty")]: !tags.length
1062
+ [`${prefixcls}-content-wrapper`]: true,
1063
+ [`${prefixcls}-content-wrapper-one-line`]: maxTagCount && !isOpen,
1064
+ [`${prefixcls}-content-wrapper-empty`]: !selectedItems.length
891
1065
  });
892
1066
  const spanCls = (0, _classnames.default)({
893
- ["".concat(prefixcls, "-selection-text")]: true,
894
- ["".concat(prefixcls, "-selection-placeholder")]: !tags.length,
895
- ["".concat(prefixcls, "-selection-text-hide")]: tags && tags.length // [prefixcls + '-selection-text-inactive']: !inputValue && !tags.length,
896
-
1067
+ [`${prefixcls}-selection-text`]: true,
1068
+ [`${prefixcls}-selection-placeholder`]: !selectedItems.length,
1069
+ [`${prefixcls}-selection-text-hide`]: selectedItems && selectedItems.length
897
1070
  });
898
1071
  const placeholderText = placeholder && !inputValue ? /*#__PURE__*/_react.default.createElement("span", {
899
1072
  className: spanCls
900
1073
  }, placeholder) : null;
1074
+ const n = selectedItems.length > maxTagCount ? maxTagCount : undefined;
1075
+ const NotOneLine = !maxTagCount;
1076
+ const oneLineTags = ellipsisTrigger ? this.renderCollapsedTags(selectedItems, n) : this.renderOneLineTags(selectedItems, n);
1077
+ const tagContent = NotOneLine || expandRestTagsOnClick && isOpen ? selectedItems.map((item, i) => this.renderTag(item, i)) : oneLineTags;
901
1078
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
902
1079
  className: contentWrapperCls
903
- }, tags && tags.length ? tagContent : placeholderText, !filterable ? null : this.renderInput()));
1080
+ }, selectedItems && selectedItems.length ? tagContent : placeholderText, !filterable ? null : this.renderInput()));
904
1081
  }
905
1082
 
906
1083
  onMouseEnter(e) {
@@ -955,9 +1132,9 @@ class Select extends _baseComponent.default {
955
1132
  suffix
956
1133
  } = this.props;
957
1134
  const suffixWrapperCls = (0, _classnames.default)({
958
- ["".concat(prefixcls, "-suffix")]: true,
959
- ["".concat(prefixcls, "-suffix-text")]: suffix && (0, _isString2.default)(suffix),
960
- ["".concat(prefixcls, "-suffix-icon")]: (0, _utils2.isSemiIcon)(suffix)
1135
+ [`${prefixcls}-suffix`]: true,
1136
+ [`${prefixcls}-suffix-text`]: suffix && (0, _isString2.default)(suffix),
1137
+ [`${prefixcls}-suffix-icon`]: (0, _utils2.isSemiIcon)(suffix)
961
1138
  });
962
1139
  return /*#__PURE__*/_react.default.createElement("div", {
963
1140
  className: suffixWrapperCls,
@@ -973,10 +1150,10 @@ class Select extends _baseComponent.default {
973
1150
  } = this.props;
974
1151
  const labelNode = prefix || insetLabel;
975
1152
  const prefixWrapperCls = (0, _classnames.default)({
976
- ["".concat(prefixcls, "-prefix")]: true,
977
- ["".concat(prefixcls, "-inset-label")]: insetLabel,
978
- ["".concat(prefixcls, "-prefix-text")]: labelNode && (0, _isString2.default)(labelNode),
979
- ["".concat(prefixcls, "-prefix-icon")]: (0, _utils2.isSemiIcon)(labelNode)
1153
+ [`${prefixcls}-prefix`]: true,
1154
+ [`${prefixcls}-inset-label`]: insetLabel,
1155
+ [`${prefixcls}-prefix-text`]: labelNode && (0, _isString2.default)(labelNode),
1156
+ [`${prefixcls}-prefix-icon`]: (0, _utils2.isSemiIcon)(labelNode)
980
1157
  });
981
1158
  return /*#__PURE__*/_react.default.createElement("div", {
982
1159
  className: prefixWrapperCls,
@@ -1018,26 +1195,26 @@ class Select extends _baseComponent.default {
1018
1195
  const filterable = Boolean(filter); // filter(boolean || function)
1019
1196
 
1020
1197
  const selectionCls = useCustomTrigger ? (0, _classnames.default)(className) : (0, _classnames.default)(prefixcls, className, {
1021
- ["".concat(prefixcls, "-open")]: isOpen,
1022
- ["".concat(prefixcls, "-focus")]: isFocus,
1023
- ["".concat(prefixcls, "-disabled")]: disabled,
1024
- ["".concat(prefixcls, "-single")]: !multiple,
1025
- ["".concat(prefixcls, "-multiple")]: multiple,
1026
- ["".concat(prefixcls, "-filterable")]: filterable,
1027
- ["".concat(prefixcls, "-small")]: size === 'small',
1028
- ["".concat(prefixcls, "-large")]: size === 'large',
1029
- ["".concat(prefixcls, "-error")]: validateStatus === 'error',
1030
- ["".concat(prefixcls, "-warning")]: validateStatus === 'warning',
1031
- ["".concat(prefixcls, "-no-arrow")]: !showArrow,
1032
- ["".concat(prefixcls, "-with-prefix")]: prefix || insetLabel,
1033
- ["".concat(prefixcls, "-with-suffix")]: suffix
1198
+ [`${prefixcls}-open`]: isOpen,
1199
+ [`${prefixcls}-focus`]: isFocus,
1200
+ [`${prefixcls}-disabled`]: disabled,
1201
+ [`${prefixcls}-single`]: !multiple,
1202
+ [`${prefixcls}-multiple`]: multiple,
1203
+ [`${prefixcls}-filterable`]: filterable,
1204
+ [`${prefixcls}-small`]: size === 'small',
1205
+ [`${prefixcls}-large`]: size === 'large',
1206
+ [`${prefixcls}-error`]: validateStatus === 'error',
1207
+ [`${prefixcls}-warning`]: validateStatus === 'warning',
1208
+ [`${prefixcls}-no-arrow`]: !showArrow,
1209
+ [`${prefixcls}-with-prefix`]: prefix || insetLabel,
1210
+ [`${prefixcls}-with-suffix`]: suffix
1034
1211
  });
1035
1212
  const showClear = this.props.showClear && (selections.size || inputValue) && !disabled && (isHovering || isOpen);
1036
1213
  const arrowContent = showArrow ? /*#__PURE__*/_react.default.createElement("div", {
1037
- className: "".concat(prefixcls, "-arrow"),
1214
+ className: `${prefixcls}-arrow`,
1038
1215
  "x-semi-prop": "arrowIcon"
1039
1216
  }, arrowIcon) : /*#__PURE__*/_react.default.createElement("div", {
1040
- className: "".concat(prefixcls, "-arrow-empty")
1217
+ className: `${prefixcls}-arrow-empty`
1041
1218
  });
1042
1219
  const clear = clearIcon ? clearIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null);
1043
1220
  const inner = useCustomTrigger ? /*#__PURE__*/_react.default.createElement(_trigger.default, {
@@ -1055,11 +1232,11 @@ class Select extends _baseComponent.default {
1055
1232
  }, prefix || insetLabel ? this.renderPrefix() : null), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
1056
1233
  key: "selection"
1057
1234
  }, /*#__PURE__*/_react.default.createElement("div", {
1058
- className: (0, _classnames.default)("".concat(prefixcls, "-selection"))
1235
+ className: (0, _classnames.default)(`${prefixcls}-selection`)
1059
1236
  }, multiple ? this.renderMultipleSelection(selections, filterable) : this.renderSingleSelection(selections, filterable))), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
1060
1237
  key: "clearicon"
1061
1238
  }, showClear ? /*#__PURE__*/_react.default.createElement("div", {
1062
- className: (0, _classnames.default)("".concat(prefixcls, "-clear")),
1239
+ className: (0, _classnames.default)(`${prefixcls}-clear`),
1063
1240
  onClick: this.onClear
1064
1241
  }, clear) : arrowContent), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
1065
1242
  key: "suffix"
@@ -1082,7 +1259,7 @@ class Select extends _baseComponent.default {
1082
1259
  role: "combobox",
1083
1260
  "aria-disabled": disabled,
1084
1261
  "aria-expanded": isOpen,
1085
- "aria-controls": "".concat(prefixcls, "-").concat(this.selectOptionListID),
1262
+ "aria-controls": `${prefixcls}-${this.selectOptionListID}`,
1086
1263
  "aria-haspopup": "listbox",
1087
1264
  "aria-label": selections.size ? 'selected' : '',
1088
1265
  "aria-invalid": this.props['aria-invalid'],
@@ -1096,7 +1273,7 @@ class Select extends _baseComponent.default {
1096
1273
  style: style,
1097
1274
  id: this.selectID,
1098
1275
  tabIndex: tabIndex,
1099
- "aria-activedescendant": focusIndex !== -1 ? "".concat(this.selectID, "-option-").concat(focusIndex) : '',
1276
+ "aria-activedescendant": focusIndex !== -1 ? `${this.selectID}-option-${focusIndex}` : '',
1100
1277
  onMouseEnter: this.onMouseEnter,
1101
1278
  onMouseLeave: this.onMouseLeave,
1102
1279
  onFocus: e => this.foundation.handleTriggerFocus(e),
@@ -1130,7 +1307,7 @@ class Select extends _baseComponent.default {
1130
1307
  } = this.state;
1131
1308
  const optionList = this.renderOptions(children);
1132
1309
  const selection = this.renderSelection();
1133
- return /*#__PURE__*/_react.default.createElement(_index2.default, {
1310
+ return /*#__PURE__*/_react.default.createElement(_index4.default, {
1134
1311
  getPopupContainer: getPopupContainer,
1135
1312
  motion: motion,
1136
1313
  margin: dropdownMargin,
@@ -1169,6 +1346,7 @@ Select.propTypes = {
1169
1346
  children: _propTypes.default.node,
1170
1347
  clearIcon: _propTypes.default.node,
1171
1348
  defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
1349
+ ellipsisTrigger: _propTypes.default.bool,
1172
1350
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
1173
1351
  placeholder: _propTypes.default.node,
1174
1352
  onChange: _propTypes.default.func,
@@ -1185,6 +1363,7 @@ Select.propTypes = {
1185
1363
  size: _propTypes.default.oneOf(_constants.strings.SIZE_SET),
1186
1364
  disabled: _propTypes.default.bool,
1187
1365
  emptyContent: _propTypes.default.node,
1366
+ expandRestTagsOnClick: _propTypes.default.bool,
1188
1367
  onDropdownVisibleChange: _propTypes.default.func,
1189
1368
  zIndex: _propTypes.default.number,
1190
1369
  position: _propTypes.default.oneOf(_constants.strings.POSITION_SET),
@@ -1279,7 +1458,9 @@ Select.defaultProps = {
1279
1458
  "aria-label": ''
1280
1459
  }),
1281
1460
  showRestTagsPopover: false,
1282
- restTagsPopoverProps: {} // Radio selection is different from the default renderSelectedItem for multiple selection, so it is not declared here
1461
+ restTagsPopoverProps: {},
1462
+ expandRestTagsOnClick: false,
1463
+ ellipsisTrigger: false // Radio selection is different from the default renderSelectedItem for multiple selection, so it is not declared here
1283
1464
  // renderSelectedItem: (optionNode) => optionNode.label,
1284
1465
  // The default creator rendering is related to i18, so it is not declared here
1285
1466
  // renderCreateItem: (input) => input