@douyinfe/semi-ui 2.28.0-alpha.0 → 2.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/dist/css/semi.css +227 -0
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +2393 -2068
  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.js +1 -1
  59. package/lib/cjs/dropdown/dropdownTitle.js +2 -2
  60. package/lib/cjs/dropdown/index.js +3 -3
  61. package/lib/cjs/empty/index.js +7 -7
  62. package/lib/cjs/form/arrayField.js +1 -1
  63. package/lib/cjs/form/baseForm.d.ts +2 -0
  64. package/lib/cjs/form/baseForm.js +2 -2
  65. package/lib/cjs/form/errorMessage.js +1 -1
  66. package/lib/cjs/form/field.d.ts +2 -0
  67. package/lib/cjs/form/group.js +2 -2
  68. package/lib/cjs/form/hoc/withField.js +16 -16
  69. package/lib/cjs/form/label.js +9 -9
  70. package/lib/cjs/form/slot.js +5 -5
  71. package/lib/cjs/grid/col.js +11 -11
  72. package/lib/cjs/grid/row.js +4 -4
  73. package/lib/cjs/highlight/index.js +1 -1
  74. package/lib/cjs/iconButton/index.js +5 -5
  75. package/lib/cjs/image/image.js +10 -10
  76. package/lib/cjs/image/preview.js +3 -3
  77. package/lib/cjs/image/previewFooter.js +12 -12
  78. package/lib/cjs/image/previewHeader.js +3 -3
  79. package/lib/cjs/image/previewImage.js +7 -7
  80. package/lib/cjs/image/previewInner.js +7 -7
  81. package/lib/cjs/input/index.js +38 -38
  82. package/lib/cjs/input/inputGroup.js +7 -7
  83. package/lib/cjs/input/textarea.js +14 -14
  84. package/lib/cjs/inputNumber/index.js +11 -11
  85. package/lib/cjs/layout/Sider.d.ts +1 -1
  86. package/lib/cjs/layout/Sider.js +4 -4
  87. package/lib/cjs/layout/index.js +3 -3
  88. package/lib/cjs/list/index.js +11 -11
  89. package/lib/cjs/list/item.js +6 -6
  90. package/lib/cjs/modal/ConfirmModal.js +7 -7
  91. package/lib/cjs/modal/Modal.js +4 -4
  92. package/lib/cjs/modal/ModalContent.js +24 -24
  93. package/lib/cjs/modal/useModal/index.js +1 -1
  94. package/lib/cjs/navigation/CollapseButton.js +1 -1
  95. package/lib/cjs/navigation/Footer.js +2 -2
  96. package/lib/cjs/navigation/Header.js +5 -5
  97. package/lib/cjs/navigation/Item.js +16 -16
  98. package/lib/cjs/navigation/SubNav.js +14 -14
  99. package/lib/cjs/navigation/index.js +8 -8
  100. package/lib/cjs/notification/index.js +3 -3
  101. package/lib/cjs/notification/notice.js +12 -12
  102. package/lib/cjs/overflowList/index.d.ts +1 -1
  103. package/lib/cjs/overflowList/index.js +32 -35
  104. package/lib/cjs/overflowList/intersectionObserver.js +3 -1
  105. package/lib/cjs/pagination/index.js +26 -26
  106. package/lib/cjs/popconfirm/index.js +9 -9
  107. package/lib/cjs/popover/index.js +2 -2
  108. package/lib/cjs/progress/index.js +14 -14
  109. package/lib/cjs/radio/radio.js +22 -22
  110. package/lib/cjs/radio/radioGroup.js +5 -5
  111. package/lib/cjs/radio/radioInner.js +7 -7
  112. package/lib/cjs/rating/index.js +5 -5
  113. package/lib/cjs/rating/item.js +11 -11
  114. package/lib/cjs/scrollList/index.js +5 -5
  115. package/lib/cjs/scrollList/scrollItem.js +13 -13
  116. package/lib/cjs/select/index.d.ts +11 -0
  117. package/lib/cjs/select/index.js +297 -116
  118. package/lib/cjs/select/option.js +7 -7
  119. package/lib/cjs/sideSheet/SideSheetContent.js +10 -10
  120. package/lib/cjs/sideSheet/index.js +7 -7
  121. package/lib/cjs/skeleton/index.js +1 -1
  122. package/lib/cjs/skeleton/item.js +4 -4
  123. package/lib/cjs/slider/index.js +28 -28
  124. package/lib/cjs/space/index.js +12 -12
  125. package/lib/cjs/spin/icon.js +2 -2
  126. package/lib/cjs/spin/index.js +6 -6
  127. package/lib/cjs/steps/basicStep.js +14 -14
  128. package/lib/cjs/steps/basicSteps.js +6 -6
  129. package/lib/cjs/steps/fillStep.js +10 -10
  130. package/lib/cjs/steps/fillSteps.js +4 -4
  131. package/lib/cjs/steps/navStep.js +5 -5
  132. package/lib/cjs/steps/navSteps.js +2 -2
  133. package/lib/cjs/table/Body/BaseRow.js +5 -5
  134. package/lib/cjs/table/Body/ExpandedRow.js +3 -3
  135. package/lib/cjs/table/Body/SectionRow.js +1 -1
  136. package/lib/cjs/table/Body/index.js +8 -8
  137. package/lib/cjs/table/ColGroup.js +2 -2
  138. package/lib/cjs/table/ColumnFilter.js +3 -3
  139. package/lib/cjs/table/ColumnSelection.js +2 -2
  140. package/lib/cjs/table/ColumnSorter.js +7 -7
  141. package/lib/cjs/table/CustomExpandIcon.js +2 -2
  142. package/lib/cjs/table/HeadTable.js +3 -3
  143. package/lib/cjs/table/Table.js +20 -20
  144. package/lib/cjs/table/TableCell.js +8 -8
  145. package/lib/cjs/table/TableHeader.js +1 -1
  146. package/lib/cjs/table/TableHeaderRow.js +8 -8
  147. package/lib/cjs/table/TablePagination.js +3 -3
  148. package/lib/cjs/tabs/TabBar.js +31 -49
  149. package/lib/cjs/tabs/TabItem.d.ts +18 -0
  150. package/lib/cjs/tabs/TabItem.js +95 -0
  151. package/lib/cjs/tabs/TabPane.js +3 -3
  152. package/lib/cjs/tabs/index.d.ts +2 -1
  153. package/lib/cjs/tabs/index.js +5 -2
  154. package/lib/cjs/tag/group.js +5 -5
  155. package/lib/cjs/tag/index.js +13 -13
  156. package/lib/cjs/tagInput/index.d.ts +6 -2
  157. package/lib/cjs/tagInput/index.js +37 -34
  158. package/lib/cjs/timePicker/Combobox.js +4 -4
  159. package/lib/cjs/timePicker/TimeInput.js +4 -4
  160. package/lib/cjs/timePicker/TimePicker.js +8 -8
  161. package/lib/cjs/timeline/index.js +8 -8
  162. package/lib/cjs/timeline/item.js +7 -7
  163. package/lib/cjs/toast/index.js +5 -5
  164. package/lib/cjs/toast/toast.js +9 -9
  165. package/lib/cjs/tooltip/index.js +7 -7
  166. package/lib/cjs/transfer/index.js +31 -31
  167. package/lib/cjs/tree/autoSizer.js +1 -1
  168. package/lib/cjs/tree/index.js +6 -6
  169. package/lib/cjs/tree/interface.d.ts +1 -0
  170. package/lib/cjs/tree/nodeList.js +1 -1
  171. package/lib/cjs/tree/treeNode.js +26 -26
  172. package/lib/cjs/treeSelect/index.js +41 -41
  173. package/lib/cjs/typography/base.js +14 -14
  174. package/lib/cjs/typography/copyable.js +3 -3
  175. package/lib/cjs/typography/paragraph.js +1 -1
  176. package/lib/cjs/typography/title.js +1 -1
  177. package/lib/cjs/typography/util.js +1 -1
  178. package/lib/cjs/upload/fileCard.js +32 -32
  179. package/lib/cjs/upload/index.js +37 -37
  180. package/lib/es/_portal/index.js +2 -2
  181. package/lib/es/_utils/index.js +3 -1
  182. package/lib/es/anchor/index.js +9 -9
  183. package/lib/es/anchor/link.js +8 -8
  184. package/lib/es/autoComplete/index.js +8 -4
  185. package/lib/es/autoComplete/option.js +7 -7
  186. package/lib/es/avatar/avatarGroup.js +7 -7
  187. package/lib/es/avatar/index.js +12 -12
  188. package/lib/es/badge/index.js +8 -8
  189. package/lib/es/banner/index.js +12 -12
  190. package/lib/es/breadcrumb/index.js +12 -12
  191. package/lib/es/breadcrumb/item.js +8 -8
  192. package/lib/es/button/Button.js +9 -9
  193. package/lib/es/button/buttonGroup.js +5 -5
  194. package/lib/es/button/splitButtonGroup.js +1 -1
  195. package/lib/es/calendar/dayCalendar.js +13 -13
  196. package/lib/es/calendar/dayCol.js +17 -17
  197. package/lib/es/calendar/monthCalendar.js +38 -38
  198. package/lib/es/calendar/rangeCalendar.js +27 -27
  199. package/lib/es/calendar/timeCol.js +6 -6
  200. package/lib/es/calendar/weekCalendar.js +27 -27
  201. package/lib/es/card/cardGroup.js +2 -2
  202. package/lib/es/card/index.js +16 -16
  203. package/lib/es/card/meta.js +5 -5
  204. package/lib/es/carousel/CarouselArrow.js +6 -6
  205. package/lib/es/carousel/CarouselIndicator.js +6 -6
  206. package/lib/es/carousel/index.js +12 -12
  207. package/lib/es/cascader/index.d.ts +5 -2
  208. package/lib/es/cascader/index.js +40 -38
  209. package/lib/es/cascader/item.d.ts +15 -1
  210. package/lib/es/cascader/item.js +64 -32
  211. package/lib/es/checkbox/checkbox.js +14 -14
  212. package/lib/es/checkbox/checkboxGroup.js +4 -4
  213. package/lib/es/checkbox/checkboxInner.js +6 -6
  214. package/lib/es/collapse/item.js +9 -9
  215. package/lib/es/collapsible/index.js +3 -3
  216. package/lib/es/configProvider/index.js +1 -1
  217. package/lib/es/datePicker/dateInput.js +16 -16
  218. package/lib/es/datePicker/datePicker.js +9 -9
  219. package/lib/es/datePicker/footer.js +1 -1
  220. package/lib/es/datePicker/index.js +1 -1
  221. package/lib/es/datePicker/month.js +2 -2
  222. package/lib/es/datePicker/monthsGrid.js +27 -27
  223. package/lib/es/datePicker/navigation.js +1 -1
  224. package/lib/es/datePicker/quickControl.js +14 -14
  225. package/lib/es/datePicker/yearAndMonth.js +4 -4
  226. package/lib/es/descriptions/index.js +3 -3
  227. package/lib/es/descriptions/item.js +5 -5
  228. package/lib/es/divider/index.js +7 -7
  229. package/lib/es/dropdown/dropdownDivider.js +1 -1
  230. package/lib/es/dropdown/dropdownItem.js +7 -7
  231. package/lib/es/dropdown/dropdownMenu.js +1 -1
  232. package/lib/es/dropdown/dropdownTitle.js +2 -2
  233. package/lib/es/dropdown/index.js +3 -3
  234. package/lib/es/empty/index.js +7 -7
  235. package/lib/es/form/arrayField.js +1 -1
  236. package/lib/es/form/baseForm.d.ts +2 -0
  237. package/lib/es/form/baseForm.js +2 -2
  238. package/lib/es/form/errorMessage.js +1 -1
  239. package/lib/es/form/field.d.ts +2 -0
  240. package/lib/es/form/group.js +2 -2
  241. package/lib/es/form/hoc/withField.js +16 -16
  242. package/lib/es/form/label.js +9 -9
  243. package/lib/es/form/slot.js +5 -5
  244. package/lib/es/grid/col.js +11 -11
  245. package/lib/es/grid/row.js +4 -4
  246. package/lib/es/highlight/index.js +1 -1
  247. package/lib/es/iconButton/index.js +5 -5
  248. package/lib/es/image/image.js +10 -10
  249. package/lib/es/image/preview.js +3 -3
  250. package/lib/es/image/previewFooter.js +12 -12
  251. package/lib/es/image/previewHeader.js +3 -3
  252. package/lib/es/image/previewImage.js +7 -7
  253. package/lib/es/image/previewInner.js +7 -7
  254. package/lib/es/input/index.js +38 -38
  255. package/lib/es/input/inputGroup.js +7 -7
  256. package/lib/es/input/textarea.js +14 -14
  257. package/lib/es/inputNumber/index.js +11 -11
  258. package/lib/es/layout/Sider.d.ts +1 -1
  259. package/lib/es/layout/Sider.js +4 -4
  260. package/lib/es/layout/index.js +3 -3
  261. package/lib/es/list/index.js +11 -11
  262. package/lib/es/list/item.js +6 -6
  263. package/lib/es/modal/ConfirmModal.js +7 -7
  264. package/lib/es/modal/Modal.js +4 -4
  265. package/lib/es/modal/ModalContent.js +24 -24
  266. package/lib/es/modal/useModal/index.js +1 -1
  267. package/lib/es/navigation/CollapseButton.js +1 -1
  268. package/lib/es/navigation/Footer.js +2 -2
  269. package/lib/es/navigation/Header.js +5 -5
  270. package/lib/es/navigation/Item.js +16 -16
  271. package/lib/es/navigation/SubNav.js +14 -14
  272. package/lib/es/navigation/index.js +8 -8
  273. package/lib/es/notification/index.js +3 -3
  274. package/lib/es/notification/notice.js +12 -12
  275. package/lib/es/overflowList/index.d.ts +1 -1
  276. package/lib/es/overflowList/index.js +31 -35
  277. package/lib/es/overflowList/intersectionObserver.js +2 -1
  278. package/lib/es/pagination/index.js +26 -26
  279. package/lib/es/popconfirm/index.js +9 -9
  280. package/lib/es/popover/index.js +2 -2
  281. package/lib/es/progress/index.js +14 -14
  282. package/lib/es/radio/radio.js +22 -22
  283. package/lib/es/radio/radioGroup.js +5 -5
  284. package/lib/es/radio/radioInner.js +7 -7
  285. package/lib/es/rating/index.js +5 -5
  286. package/lib/es/rating/item.js +11 -11
  287. package/lib/es/scrollList/index.js +5 -5
  288. package/lib/es/scrollList/scrollItem.js +13 -13
  289. package/lib/es/select/index.d.ts +11 -0
  290. package/lib/es/select/index.js +288 -112
  291. package/lib/es/select/option.js +7 -7
  292. package/lib/es/sideSheet/SideSheetContent.js +10 -10
  293. package/lib/es/sideSheet/index.js +7 -7
  294. package/lib/es/skeleton/index.js +1 -1
  295. package/lib/es/skeleton/item.js +4 -4
  296. package/lib/es/slider/index.js +28 -28
  297. package/lib/es/space/index.js +12 -12
  298. package/lib/es/spin/icon.js +2 -2
  299. package/lib/es/spin/index.js +6 -6
  300. package/lib/es/steps/basicStep.js +14 -14
  301. package/lib/es/steps/basicSteps.js +6 -6
  302. package/lib/es/steps/fillStep.js +10 -10
  303. package/lib/es/steps/fillSteps.js +4 -4
  304. package/lib/es/steps/navStep.js +5 -5
  305. package/lib/es/steps/navSteps.js +2 -2
  306. package/lib/es/table/Body/BaseRow.js +5 -5
  307. package/lib/es/table/Body/ExpandedRow.js +3 -3
  308. package/lib/es/table/Body/SectionRow.js +1 -1
  309. package/lib/es/table/Body/index.js +8 -8
  310. package/lib/es/table/ColGroup.js +2 -2
  311. package/lib/es/table/ColumnFilter.js +3 -3
  312. package/lib/es/table/ColumnSelection.js +2 -2
  313. package/lib/es/table/ColumnSorter.js +7 -7
  314. package/lib/es/table/CustomExpandIcon.js +2 -2
  315. package/lib/es/table/HeadTable.js +3 -3
  316. package/lib/es/table/Table.js +20 -20
  317. package/lib/es/table/TableCell.js +8 -8
  318. package/lib/es/table/TableHeader.js +1 -1
  319. package/lib/es/table/TableHeaderRow.js +8 -8
  320. package/lib/es/table/TablePagination.js +3 -3
  321. package/lib/es/tabs/TabBar.js +30 -50
  322. package/lib/es/tabs/TabItem.d.ts +18 -0
  323. package/lib/es/tabs/TabItem.js +78 -0
  324. package/lib/es/tabs/TabPane.js +3 -3
  325. package/lib/es/tabs/index.d.ts +2 -1
  326. package/lib/es/tabs/index.js +4 -2
  327. package/lib/es/tag/group.js +5 -5
  328. package/lib/es/tag/index.js +13 -13
  329. package/lib/es/tagInput/index.d.ts +6 -2
  330. package/lib/es/tagInput/index.js +37 -34
  331. package/lib/es/timePicker/Combobox.js +4 -4
  332. package/lib/es/timePicker/TimeInput.js +4 -4
  333. package/lib/es/timePicker/TimePicker.js +8 -8
  334. package/lib/es/timeline/index.js +8 -8
  335. package/lib/es/timeline/item.js +7 -7
  336. package/lib/es/toast/index.js +5 -5
  337. package/lib/es/toast/toast.js +9 -9
  338. package/lib/es/tooltip/index.js +7 -7
  339. package/lib/es/transfer/index.js +31 -31
  340. package/lib/es/tree/autoSizer.js +1 -1
  341. package/lib/es/tree/index.js +6 -6
  342. package/lib/es/tree/interface.d.ts +1 -0
  343. package/lib/es/tree/nodeList.js +1 -1
  344. package/lib/es/tree/treeNode.js +26 -26
  345. package/lib/es/treeSelect/index.js +41 -41
  346. package/lib/es/typography/base.js +14 -14
  347. package/lib/es/typography/copyable.js +3 -3
  348. package/lib/es/typography/paragraph.js +1 -1
  349. package/lib/es/typography/title.js +1 -1
  350. package/lib/es/typography/util.js +1 -1
  351. package/lib/es/upload/fileCard.js +32 -32
  352. package/lib/es/upload/index.js +37 -37
  353. package/package.json +8 -8
@@ -35,11 +35,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
35
35
 
36
36
  const toPercent = num => {
37
37
  const res = num < 1 ? num * 100 : 100;
38
- return "".concat(res, "%");
38
+ return `${res}%`;
39
39
  };
40
40
 
41
- const prefixCls = "".concat(_constants.cssClasses.PREFIX, "-week");
42
- const allDayCls = "".concat(_constants.cssClasses.PREFIX, "-all-day");
41
+ const prefixCls = `${_constants.cssClasses.PREFIX}-week`;
42
+ const allDayCls = `${_constants.cssClasses.PREFIX}-all-day`;
43
43
 
44
44
  class WeekCalendar extends _baseComponent.default {
45
45
  constructor(props) {
@@ -72,7 +72,7 @@ class WeekCalendar extends _baseComponent.default {
72
72
  const dayEvents = events.has(dateString) ? events.get(dateString) : [];
73
73
  const parsed = this.foundation.getParseDailyEvents(dayEvents, day.date);
74
74
  return /*#__PURE__*/_react.default.createElement(_dayCol.default, {
75
- key: "".concat(dateString, "-weekday"),
75
+ key: `${dateString}-weekday`,
76
76
  displayValue: day.date,
77
77
  scrollHeight: this.state.scrollHeight,
78
78
  handleClick: this.handleClick,
@@ -95,14 +95,14 @@ class WeekCalendar extends _baseComponent.default {
95
95
  week
96
96
  } = this.foundation.getWeeklyData(displayValue, dateFnsLocale);
97
97
  return /*#__PURE__*/_react.default.createElement("div", {
98
- className: "".concat(prefixCls, "-header")
98
+ className: `${prefixCls}-header`
99
99
  }, /*#__PURE__*/_react.default.createElement("ul", {
100
- className: "".concat(_constants.cssClasses.PREFIX, "-tag ").concat(prefixCls, "-tag ").concat(prefixCls, "-sticky-left")
100
+ className: `${_constants.cssClasses.PREFIX}-tag ${prefixCls}-tag ${prefixCls}-sticky-left`
101
101
  }, /*#__PURE__*/_react.default.createElement("span", null, month)), /*#__PURE__*/_react.default.createElement("div", {
102
102
  role: "gridcell",
103
- className: "".concat(prefixCls, "-grid")
103
+ className: `${prefixCls}-grid`
104
104
  }, /*#__PURE__*/_react.default.createElement("ul", {
105
- className: "".concat(prefixCls, "-grid-row")
105
+ className: `${prefixCls}-grid-row`
106
106
  }, week.map(day => {
107
107
  const {
108
108
  date,
@@ -111,14 +111,14 @@ class WeekCalendar extends _baseComponent.default {
111
111
  isToday
112
112
  } = day;
113
113
  const listCls = (0, _classnames.default)({
114
- ["".concat(_constants.cssClasses.PREFIX, "-today")]: isToday,
115
- ["".concat(_constants.cssClasses.PREFIX, "-weekend")]: markWeekend && day.isWeekend
114
+ [`${_constants.cssClasses.PREFIX}-today`]: isToday,
115
+ [`${_constants.cssClasses.PREFIX}-weekend`]: markWeekend && day.isWeekend
116
116
  });
117
117
  return /*#__PURE__*/_react.default.createElement("li", {
118
- key: "".concat(date.toString(), "-weekheader"),
118
+ key: `${date.toString()}-weekheader`,
119
119
  className: listCls
120
120
  }, /*#__PURE__*/_react.default.createElement("span", {
121
- className: "".concat(_constants.cssClasses.PREFIX, "-today-date")
121
+ className: `${_constants.cssClasses.PREFIX}-today-date`
122
122
  }, dayString), /*#__PURE__*/_react.default.createElement("span", null, weekday));
123
123
  }))));
124
124
  };
@@ -132,15 +132,15 @@ class WeekCalendar extends _baseComponent.default {
132
132
  children,
133
133
  key
134
134
  } = event;
135
- const top = "".concat(topInd, "em");
135
+ const top = `${topInd}em`;
136
136
  const style = {
137
137
  left: toPercent(leftPos),
138
138
  width: toPercent(width),
139
139
  top
140
140
  };
141
141
  return /*#__PURE__*/_react.default.createElement("li", {
142
- className: "".concat(_constants.cssClasses.PREFIX, "-event-item ").concat(_constants.cssClasses.PREFIX, "-event-allday"),
143
- key: "allDay-".concat(ind),
142
+ className: `${_constants.cssClasses.PREFIX}-event-item ${_constants.cssClasses.PREFIX}-event-allday`,
143
+ key: `allDay-${ind}`,
144
144
  style: style
145
145
  }, children);
146
146
  });
@@ -154,7 +154,7 @@ class WeekCalendar extends _baseComponent.default {
154
154
  const parsed = this.foundation.parseWeeklyAllDayEvents(allDay);
155
155
  const maxRowHeight = (0, _eventUtil.calcRowHeight)(parsed);
156
156
  const style = {
157
- height: "".concat(maxRowHeight, "em")
157
+ height: `${maxRowHeight}em`
158
158
  };
159
159
  const {
160
160
  markWeekend
@@ -163,25 +163,25 @@ class WeekCalendar extends _baseComponent.default {
163
163
  week
164
164
  } = this.weeklyData;
165
165
  return /*#__PURE__*/_react.default.createElement("div", {
166
- className: "".concat(allDayCls),
166
+ className: `${allDayCls}`,
167
167
  style: style
168
168
  }, /*#__PURE__*/_react.default.createElement("ul", {
169
- className: "".concat(_constants.cssClasses.PREFIX, "-tag ").concat(allDayCls, "-tag ").concat(prefixCls, "-sticky-left")
169
+ className: `${_constants.cssClasses.PREFIX}-tag ${allDayCls}-tag ${prefixCls}-sticky-left`
170
170
  }, /*#__PURE__*/_react.default.createElement("span", null, locale.allDay)), /*#__PURE__*/_react.default.createElement("div", {
171
171
  role: "gridcell",
172
- className: "".concat(_constants.cssClasses.PREFIX, "-content ").concat(allDayCls, "-content")
172
+ className: `${_constants.cssClasses.PREFIX}-content ${allDayCls}-content`
173
173
  }, /*#__PURE__*/_react.default.createElement("ul", {
174
- className: "".concat(allDayCls, "-skeleton")
174
+ className: `${allDayCls}-skeleton`
175
175
  }, Object.keys(week).map((date, ind) => {
176
176
  const listCls = (0, _classnames.default)({
177
- ["".concat(_constants.cssClasses.PREFIX, "-weekend")]: markWeekend && week[date].isWeekend
177
+ [`${_constants.cssClasses.PREFIX}-weekend`]: markWeekend && week[date].isWeekend
178
178
  });
179
179
  return /*#__PURE__*/_react.default.createElement("li", {
180
- key: "".concat(date, "-weekgrid"),
180
+ key: `${date}-weekgrid`,
181
181
  className: listCls
182
182
  });
183
183
  })), /*#__PURE__*/_react.default.createElement("ul", {
184
- className: "".concat(_constants.cssClasses.PREFIX, "-event-items")
184
+ className: `${_constants.cssClasses.PREFIX}-event-items`
185
185
  }, this.renderAllDayEvents(parsed))));
186
186
  };
187
187
 
@@ -268,14 +268,14 @@ class WeekCalendar extends _baseComponent.default {
268
268
  style: weekStyle,
269
269
  ref: this.dom
270
270
  }, /*#__PURE__*/_react.default.createElement("div", {
271
- className: "".concat(prefixCls, "-sticky-top")
271
+ className: `${prefixCls}-sticky-top`
272
272
  }, header, this.renderHeader(dateFnsLocale), this.renderAllDay(locale)), /*#__PURE__*/_react.default.createElement("div", {
273
- className: "".concat(prefixCls, "-scroll-wrapper")
273
+ className: `${prefixCls}-scroll-wrapper`
274
274
  }, /*#__PURE__*/_react.default.createElement("div", {
275
- className: "".concat(prefixCls, "-scroll"),
275
+ className: `${prefixCls}-scroll`,
276
276
  ref: this.scrollDom
277
277
  }, /*#__PURE__*/_react.default.createElement(_timeCol.default, {
278
- className: "".concat(prefixCls, "-sticky-left"),
278
+ className: `${prefixCls}-sticky-left`,
279
279
  renderTimeDisplay: renderTimeDisplay
280
280
  }), this.renderDayGrid()))));
281
281
  }
@@ -47,8 +47,8 @@ class CardGroup extends _react.PureComponent {
47
47
  others = __rest(_a, ["children", "className", "spacing", "style", "type"]);
48
48
 
49
49
  const isGrid = type === 'grid';
50
- const cardGroupCls = (0, _classnames.default)("".concat(prefixcls, "-group"), className, {
51
- ["".concat(prefixcls, "-group-grid")]: isGrid
50
+ const cardGroupCls = (0, _classnames.default)(`${prefixcls}-group`, className, {
51
+ [`${prefixcls}-group-grid`]: isGrid
52
52
  });
53
53
  return /*#__PURE__*/_react.default.createElement(_space.default, Object.assign({
54
54
  spacing: isGrid ? 0 : spacing,
@@ -58,12 +58,12 @@ class Card extends _react.PureComponent {
58
58
  headerLine,
59
59
  headerStyle
60
60
  } = this.props;
61
- const headerCls = (0, _classnames.default)("".concat(prefixcls, "-header"), {
62
- ["".concat(prefixcls, "-header-bordered")]: Boolean(headerLine)
61
+ const headerCls = (0, _classnames.default)(`${prefixcls}-header`, {
62
+ [`${prefixcls}-header-bordered`]: Boolean(headerLine)
63
63
  });
64
- const headerWrapperCls = (0, _classnames.default)("".concat(prefixcls, "-header-wrapper"));
65
- const titleCls = (0, _classnames.default)("".concat(prefixcls, "-header-wrapper-title"), {
66
- ["".concat(prefixcls, "-header-wrapper-spacing")]: Boolean(headerExtraContent)
64
+ const headerWrapperCls = (0, _classnames.default)(`${prefixcls}-header-wrapper`);
65
+ const titleCls = (0, _classnames.default)(`${prefixcls}-header-wrapper-title`, {
66
+ [`${prefixcls}-header-wrapper-spacing`]: Boolean(headerExtraContent)
67
67
  });
68
68
 
69
69
  if (header || headerExtraContent || title) {
@@ -76,7 +76,7 @@ class Card extends _react.PureComponent {
76
76
  _react.default.createElement("div", {
77
77
  className: headerWrapperCls
78
78
  }, headerExtraContent && /*#__PURE__*/_react.default.createElement("div", {
79
- className: "".concat(prefixcls, "-header-wrapper-extra"),
79
+ className: `${prefixcls}-header-wrapper-extra`,
80
80
  "x-semi-prop": "headerExtraContent"
81
81
  }, headerExtraContent), title && /*#__PURE__*/_react.default.createElement("div", {
82
82
  className: titleCls
@@ -97,7 +97,7 @@ class Card extends _react.PureComponent {
97
97
  const {
98
98
  cover
99
99
  } = this.props;
100
- const coverCls = (0, _classnames.default)("".concat(prefixcls, "-cover"));
100
+ const coverCls = (0, _classnames.default)(`${prefixcls}-cover`);
101
101
  return cover && /*#__PURE__*/_react.default.createElement("div", {
102
102
  className: coverCls,
103
103
  "x-semi-prop": "cover"
@@ -111,9 +111,9 @@ class Card extends _react.PureComponent {
111
111
  actions,
112
112
  loading
113
113
  } = this.props;
114
- const bodyCls = (0, _classnames.default)("".concat(prefixcls, "-body"));
115
- const actionsCls = (0, _classnames.default)("".concat(prefixcls, "-body-actions"));
116
- const actionsItemCls = (0, _classnames.default)("".concat(prefixcls, "-body-actions-item"));
114
+ const bodyCls = (0, _classnames.default)(`${prefixcls}-body`);
115
+ const actionsCls = (0, _classnames.default)(`${prefixcls}-body-actions`);
116
+ const actionsItemCls = (0, _classnames.default)(`${prefixcls}-body-actions-item`);
117
117
 
118
118
  const placeholder = /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_skeleton.default.Title, null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_skeleton.default.Paragraph, {
119
119
  rows: 3
@@ -133,7 +133,7 @@ class Card extends _react.PureComponent {
133
133
  }, actions.map((item, idx) => /*#__PURE__*/_react.default.createElement("div", {
134
134
  key: idx,
135
135
  className: actionsItemCls,
136
- "x-semi-prop": "actions.".concat(idx)
136
+ "x-semi-prop": `actions.${idx}`
137
137
  }, item)))));
138
138
  };
139
139
 
@@ -143,8 +143,8 @@ class Card extends _react.PureComponent {
143
143
  footerLine,
144
144
  footerStyle
145
145
  } = this.props;
146
- const footerCls = (0, _classnames.default)("".concat(prefixcls, "-footer"), {
147
- ["".concat(prefixcls, "-footer-bordered")]: footerLine
146
+ const footerCls = (0, _classnames.default)(`${prefixcls}-footer`, {
147
+ [`${prefixcls}-footer-bordered`]: footerLine
148
148
  });
149
149
  return footer && /*#__PURE__*/_react.default.createElement("div", {
150
150
  style: footerStyle,
@@ -166,9 +166,9 @@ class Card extends _react.PureComponent {
166
166
 
167
167
  const others = (0, _omit2.default)(otherProps, ['actions', 'bodyStyle', 'cover', 'headerExtraContent', 'footer', 'footerLine', 'footerStyle', 'header', 'headerLine', 'headerStyle', 'loading', 'title']);
168
168
  const cardCls = (0, _classnames.default)(prefixcls, className, {
169
- ["".concat(prefixcls, "-bordered")]: bordered,
170
- ["".concat(prefixcls, "-shadows")]: shadows,
171
- ["".concat(prefixcls, "-shadows-").concat(shadows)]: shadows
169
+ [`${prefixcls}-bordered`]: bordered,
170
+ [`${prefixcls}-shadows`]: shadows,
171
+ [`${prefixcls}-shadows-${shadows}`]: shadows
172
172
  });
173
173
  return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, others, {
174
174
  "aria-busy": this.props.loading,
@@ -44,22 +44,22 @@ class Meta extends _react.PureComponent {
44
44
  } = _a,
45
45
  others = __rest(_a, ["avatar", "className", "description", "style", "title"]);
46
46
 
47
- const metaCls = (0, _classnames.default)("".concat(prefixcls, "-meta"), className);
47
+ const metaCls = (0, _classnames.default)(`${prefixcls}-meta`, className);
48
48
 
49
49
  const avatarNode = avatar && /*#__PURE__*/_react.default.createElement("div", {
50
- className: "".concat(prefixcls, "-meta-avatar")
50
+ className: `${prefixcls}-meta-avatar`
51
51
  }, avatar);
52
52
 
53
53
  const titleNode = title && /*#__PURE__*/_react.default.createElement("div", {
54
- className: "".concat(prefixcls, "-meta-wrapper-title")
54
+ className: `${prefixcls}-meta-wrapper-title`
55
55
  }, title);
56
56
 
57
57
  const descriptionNode = description && /*#__PURE__*/_react.default.createElement("div", {
58
- className: "".concat(prefixcls, "-meta-wrapper-description")
58
+ className: `${prefixcls}-meta-wrapper-description`
59
59
  }, description);
60
60
 
61
61
  const wrapper = title || description ? /*#__PURE__*/_react.default.createElement("div", {
62
- className: "".concat(prefixcls, "-meta-wrapper")
62
+ className: `${prefixcls}-meta-wrapper`
63
63
  }, titleNode, descriptionNode) : null;
64
64
  return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, others, {
65
65
  className: metaCls,
@@ -48,16 +48,16 @@ class CarouselArrow extends _react.default.PureComponent {
48
48
  } = this.props;
49
49
  const classNames = (0, _classnames.default)({
50
50
  [_constants.cssClasses.CAROUSEL_ARROW]: true,
51
- ["".concat(_constants.cssClasses.CAROUSEL_ARROW, "-").concat(theme)]: theme,
52
- ["".concat(_constants.cssClasses.CAROUSEL_ARROW, "-hover")]: type === 'hover'
51
+ [`${_constants.cssClasses.CAROUSEL_ARROW}-${theme}`]: theme,
52
+ [`${_constants.cssClasses.CAROUSEL_ARROW}-hover`]: type === 'hover'
53
53
  });
54
54
  const leftClassNames = (0, _classnames.default)({
55
- ["".concat(_constants.cssClasses.CAROUSEL_ARROW, "-prev")]: true,
56
- ["".concat(_constants.cssClasses.CAROUSEL_ARROW, "-").concat(theme)]: theme
55
+ [`${_constants.cssClasses.CAROUSEL_ARROW}-prev`]: true,
56
+ [`${_constants.cssClasses.CAROUSEL_ARROW}-${theme}`]: theme
57
57
  });
58
58
  const rightClassNames = (0, _classnames.default)({
59
- ["".concat(_constants.cssClasses.CAROUSEL_ARROW, "-next")]: true,
60
- ["".concat(_constants.cssClasses.CAROUSEL_ARROW, "-").concat(theme)]: theme
59
+ [`${_constants.cssClasses.CAROUSEL_ARROW}-next`]: true,
60
+ [`${_constants.cssClasses.CAROUSEL_ARROW}-${theme}`]: theme
61
61
  });
62
62
  return /*#__PURE__*/_react.default.createElement("div", {
63
63
  className: classNames
@@ -75,10 +75,10 @@ class CarouselIndicator extends _react.default.PureComponent {
75
75
  // role='none'
76
76
  key: i,
77
77
  "data-index": i,
78
- className: (0, _classnames.default)(["".concat(_constants.cssClasses.CAROUSEL_INDICATOR, "-item")], {
79
- ["".concat(_constants.cssClasses.CAROUSEL_INDICATOR, "-item-active")]: i === activeIndex,
80
- ["".concat(_constants.cssClasses.CAROUSEL_INDICATOR, "-item-").concat(theme)]: theme,
81
- ["".concat(_constants.cssClasses.CAROUSEL_INDICATOR, "-item-").concat(size)]: size
78
+ className: (0, _classnames.default)([`${_constants.cssClasses.CAROUSEL_INDICATOR}-item`], {
79
+ [`${_constants.cssClasses.CAROUSEL_INDICATOR}-item-active`]: i === activeIndex,
80
+ [`${_constants.cssClasses.CAROUSEL_INDICATOR}-item-${theme}`]: theme,
81
+ [`${_constants.cssClasses.CAROUSEL_INDICATOR}-item-${size}`]: size
82
82
  }),
83
83
  onClick: () => this.handleIndicatorClick(i),
84
84
  onMouseEnter: () => this.handleIndicatorHover(i)
@@ -102,8 +102,8 @@ class CarouselIndicator extends _react.default.PureComponent {
102
102
 
103
103
  const classNames = (0, _classnames.default)(className, {
104
104
  [_constants.cssClasses.CAROUSEL_INDICATOR]: true,
105
- ["".concat(_constants.cssClasses.CAROUSEL_INDICATOR, "-").concat(type)]: type,
106
- ["".concat(_constants.cssClasses.CAROUSEL_INDICATOR, "-").concat(position)]: position
105
+ [`${_constants.cssClasses.CAROUSEL_INDICATOR}-${type}`]: type,
106
+ [`${_constants.cssClasses.CAROUSEL_INDICATOR}-${position}`]: position
107
107
  });
108
108
  const indicatorContent = this.renderIndicatorContent();
109
109
  return /*#__PURE__*/_react.default.createElement("div", Object.assign({
@@ -118,20 +118,20 @@ class Carousel extends _baseComponent.default {
118
118
  const isNext = index === this.getValidIndex(activeIndex + 1);
119
119
  const animateStyle = {
120
120
  transitionTimingFunction: 'ease',
121
- transitionDuration: "".concat(speed, "ms"),
121
+ transitionDuration: `${speed}ms`,
122
122
  animationTimingFunction: 'ease',
123
- animationDuration: "".concat(speed, "ms")
123
+ animationDuration: `${speed}ms`
124
124
  };
125
125
  return /*#__PURE__*/_react.default.cloneElement(child, {
126
126
  style: Object.assign(Object.assign({}, child.props.style), animateStyle),
127
127
  className: (0, _classnames.default)(child.props.className, {
128
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-item-prev")]: isPrev,
129
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-item-next")]: isNext,
130
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-item-current")]: isCurrent,
131
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-item")]: true,
132
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-item-active")]: isCurrent,
133
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-item-slide-in")]: animation === 'slide' && !isInit && isCurrent,
134
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-item-slide-out")]: animation === 'slide' && !isInit && index === preIndex
128
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}-item-prev`]: isPrev,
129
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}-item-next`]: isNext,
130
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}-item-current`]: isCurrent,
131
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}-item`]: true,
132
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}-item-active`]: isCurrent,
133
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}-item-slide-in`]: animation === 'slide' && !isInit && isCurrent,
134
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}-item-slide-out`]: animation === 'slide' && !isInit && index === preIndex
135
135
  })
136
136
  });
137
137
  }));
@@ -274,9 +274,9 @@ class Carousel extends _baseComponent.default {
274
274
  onMouseEnter: (0, _debounce2.default)(this.handleMouseEnter, 400),
275
275
  onMouseLeave: (0, _debounce2.default)(this.handleMouseLeave, 400)
276
276
  }, /*#__PURE__*/_react.default.createElement("div", {
277
- className: (0, _classnames.default)(["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-").concat(animation)], {
278
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT)]: true,
279
- ["".concat(_constants.cssClasses.CAROUSEL_CONTENT, "-reverse")]: slideDirection === 'left' ? isReverse : !isReverse
277
+ className: (0, _classnames.default)([`${_constants.cssClasses.CAROUSEL_CONTENT}-${animation}`], {
278
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}`]: true,
279
+ [`${_constants.cssClasses.CAROUSEL_CONTENT}-reverse`]: slideDirection === 'left' ? isReverse : !isReverse
280
280
  }),
281
281
  "x-semi-prop": "children"
282
282
  }, this.renderChildren()), this.renderIndicator(), this.renderArrow());
@@ -6,10 +6,10 @@ import { ContextValue } from '../configProvider/context';
6
6
  import BaseComponent, { ValidateStatus } from '../_base/baseComponent';
7
7
  import Input from '../input/index';
8
8
  import { PopoverProps } from '../popover/index';
9
- import { CascaderData, Entities, Entity, Data } from './item';
9
+ import { CascaderData, Entities, Entity, Data, FilterRenderProps } from './item';
10
10
  import { Position } from '../tooltip/index';
11
11
  export type { CascaderType, ShowNextType } from '@douyinfe/semi-foundation/lib/cjs/cascader/foundation';
12
- export type { CascaderData, Entity, Data, CascaderItemProps } from './item';
12
+ export type { CascaderData, Entity, Data, CascaderItemProps, FilterRenderProps } from './item';
13
13
  export interface ScrollPanelProps extends BasicScrollPanelProps {
14
14
  activeNode: CascaderData;
15
15
  }
@@ -33,6 +33,9 @@ export interface CascaderProps extends BasicCascaderProps {
33
33
  dropdownMargin?: PopoverProps['margin'];
34
34
  emptyContent?: ReactNode;
35
35
  motion?: boolean;
36
+ filterTreeNode?: ((inputValue: string, treeNodeString: string, data?: CascaderData) => boolean) | boolean;
37
+ filterSorter?: (first: CascaderData, second: CascaderData, inputValue: string) => number;
38
+ filterRender?: (props: FilterRenderProps) => ReactNode;
36
39
  treeData?: Array<CascaderData>;
37
40
  restTagsPopoverProps?: PopoverProps;
38
41
  children?: React.ReactNode;
@@ -98,8 +98,8 @@ class Cascader extends _baseComponent.default {
98
98
  const isDsiabled = disabled || keyEntities[nodeKey].data.disabled || disableStrictly && disabledKeys.has(nodeKey);
99
99
 
100
100
  if (!(0, _isEmpty2.default)(keyEntities) && !(0, _isEmpty2.default)(keyEntities[nodeKey])) {
101
- const tagCls = (0, _classnames.default)("".concat(prefixcls, "-selection-tag"), {
102
- ["".concat(prefixcls, "-selection-tag-disabled")]: isDsiabled
101
+ const tagCls = (0, _classnames.default)(`${prefixcls}-selection-tag`, {
102
+ [`${prefixcls}-selection-tag-disabled`]: isDsiabled
103
103
  }); // custom render tags
104
104
 
105
105
  if ((0, _isFunction2.default)(displayRender)) {
@@ -107,7 +107,7 @@ class Cascader extends _baseComponent.default {
107
107
  } else {
108
108
  return /*#__PURE__*/_react.default.createElement(_tag.default, {
109
109
  size: size === 'default' ? 'large' : size,
110
- key: "tag-".concat(nodeKey, "-").concat(idx),
110
+ key: `tag-${nodeKey}-${idx}`,
111
111
  color: "white",
112
112
  className: tagCls,
113
113
  closable: true,
@@ -160,10 +160,11 @@ class Cascader extends _baseComponent.default {
160
160
  topSlot,
161
161
  bottomSlot,
162
162
  showNext,
163
- multiple
163
+ multiple,
164
+ filterRender
164
165
  } = this.props;
165
166
  const searchable = Boolean(filterTreeNode) && isSearching;
166
- const popoverCls = (0, _classnames.default)(dropdownClassName, "".concat(prefixcls, "-popover"));
167
+ const popoverCls = (0, _classnames.default)(dropdownClassName, `${prefixcls}-popover`);
167
168
  const renderData = this.foundation.getRenderData();
168
169
 
169
170
  const content = /*#__PURE__*/_react.default.createElement("div", {
@@ -188,7 +189,8 @@ class Cascader extends _baseComponent.default {
188
189
  data: renderData,
189
190
  multiple: multiple,
190
191
  checkedKeys: checkedKeys,
191
- halfCheckedKeys: halfCheckedKeys
192
+ halfCheckedKeys: halfCheckedKeys,
193
+ filterRender: filterRender
192
194
  }), bottomSlot);
193
195
 
194
196
  return content;
@@ -200,8 +202,8 @@ class Cascader extends _baseComponent.default {
200
202
  showRestTagsPopover,
201
203
  restTagsPopoverProps
202
204
  } = this.props;
203
- const plusNCls = (0, _classnames.default)("".concat(prefixcls, "-selection-n"), {
204
- ["".concat(prefixcls, "-selection-n-disabled")]: disabled
205
+ const plusNCls = (0, _classnames.default)(`${prefixcls}-selection-n`, {
206
+ [`${prefixcls}-selection-n-disabled`]: disabled
205
207
  });
206
208
 
207
209
  const renderPlusNChildren = /*#__PURE__*/_react.default.createElement("span", {
@@ -260,7 +262,7 @@ class Cascader extends _baseComponent.default {
260
262
  displayText = displayRender(displayPath);
261
263
  } else {
262
264
  displayText = displayPath.map((path, index) => /*#__PURE__*/_react.default.createElement(_react.Fragment, {
263
- key: "".concat(path, "-").concat(index)
265
+ key: `${path}-${index}`
264
266
  }, index < displayPath.length - 1 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, path, separator) : path));
265
267
  }
266
268
  }
@@ -283,7 +285,7 @@ class Cascader extends _baseComponent.default {
283
285
  if (multiple) {
284
286
  if ((0, _isEmpty2.default)(checkedKeys)) {
285
287
  return /*#__PURE__*/_react.default.createElement("span", {
286
- className: "".concat(prefixcls, "-selection-placeholder")
288
+ className: `${prefixcls}-selection-placeholder`
287
289
  }, placeholder);
288
290
  }
289
291
 
@@ -291,7 +293,7 @@ class Cascader extends _baseComponent.default {
291
293
  } else {
292
294
  const displayText = this.renderDisplayText();
293
295
  const spanCls = (0, _classnames.default)({
294
- ["".concat(prefixcls, "-selection-placeholder")]: !displayText
296
+ [`${prefixcls}-selection-placeholder`]: !displayText
295
297
  });
296
298
  return /*#__PURE__*/_react.default.createElement("span", {
297
299
  className: spanCls
@@ -308,9 +310,9 @@ class Cascader extends _baseComponent.default {
308
310
  suffix
309
311
  } = this.props;
310
312
  const suffixWrapperCls = (0, _classnames.default)({
311
- ["".concat(prefixcls, "-suffix")]: true,
312
- ["".concat(prefixcls, "-suffix-text")]: suffix && (0, _isString2.default)(suffix),
313
- ["".concat(prefixcls, "-suffix-icon")]: (0, _utils.isSemiIcon)(suffix)
313
+ [`${prefixcls}-suffix`]: true,
314
+ [`${prefixcls}-suffix-text`]: suffix && (0, _isString2.default)(suffix),
315
+ [`${prefixcls}-suffix-icon`]: (0, _utils.isSemiIcon)(suffix)
314
316
  });
315
317
  return /*#__PURE__*/_react.default.createElement("div", {
316
318
  className: suffixWrapperCls,
@@ -326,11 +328,11 @@ class Cascader extends _baseComponent.default {
326
328
  } = this.props;
327
329
  const labelNode = prefix || insetLabel;
328
330
  const prefixWrapperCls = (0, _classnames.default)({
329
- ["".concat(prefixcls, "-prefix")]: true,
331
+ [`${prefixcls}-prefix`]: true,
330
332
  // to be doublechecked
331
- ["".concat(prefixcls, "-inset-label")]: insetLabel,
332
- ["".concat(prefixcls, "-prefix-text")]: labelNode && (0, _isString2.default)(labelNode),
333
- ["".concat(prefixcls, "-prefix-icon")]: (0, _utils.isSemiIcon)(labelNode)
333
+ [`${prefixcls}-inset-label`]: insetLabel,
334
+ [`${prefixcls}-prefix-text`]: labelNode && (0, _isString2.default)(labelNode),
335
+ [`${prefixcls}-prefix-icon`]: (0, _utils.isSemiIcon)(labelNode)
334
336
  });
335
337
  return /*#__PURE__*/_react.default.createElement("div", {
336
338
  className: prefixWrapperCls,
@@ -419,7 +421,7 @@ class Cascader extends _baseComponent.default {
419
421
  };
420
422
 
421
423
  this.renderClearBtn = () => {
422
- const clearCls = (0, _classnames.default)("".concat(prefixcls, "-clearbtn"));
424
+ const clearCls = (0, _classnames.default)(`${prefixcls}-clearbtn`);
423
425
  const {
424
426
  clearIcon
425
427
  } = this.props;
@@ -449,7 +451,7 @@ class Cascader extends _baseComponent.default {
449
451
  }
450
452
 
451
453
  return arrowIcon ? /*#__PURE__*/_react.default.createElement("div", {
452
- className: (0, _classnames.default)("".concat(prefixcls, "-arrow")),
454
+ className: (0, _classnames.default)(`${prefixcls}-arrow`),
453
455
  "x-semi-prop": "arrowIcon"
454
456
  }, arrowIcon) : null;
455
457
  };
@@ -479,23 +481,23 @@ class Cascader extends _baseComponent.default {
479
481
  const filterable = Boolean(filterTreeNode);
480
482
  const useCustomTrigger = typeof triggerRender === 'function';
481
483
  const classNames = useCustomTrigger ? (0, _classnames.default)(className) : (0, _classnames.default)(prefixcls, className, {
482
- ["".concat(prefixcls, "-focus")]: isFocus || isOpen && !isInput,
483
- ["".concat(prefixcls, "-disabled")]: disabled,
484
- ["".concat(prefixcls, "-single")]: true,
485
- ["".concat(prefixcls, "-filterable")]: filterable,
486
- ["".concat(prefixcls, "-error")]: validateStatus === 'error',
487
- ["".concat(prefixcls, "-warning")]: validateStatus === 'warning',
488
- ["".concat(prefixcls, "-small")]: size === 'small',
489
- ["".concat(prefixcls, "-large")]: size === 'large',
490
- ["".concat(prefixcls, "-with-prefix")]: prefix || insetLabel,
491
- ["".concat(prefixcls, "-with-suffix")]: suffix
484
+ [`${prefixcls}-focus`]: isFocus || isOpen && !isInput,
485
+ [`${prefixcls}-disabled`]: disabled,
486
+ [`${prefixcls}-single`]: true,
487
+ [`${prefixcls}-filterable`]: filterable,
488
+ [`${prefixcls}-error`]: validateStatus === 'error',
489
+ [`${prefixcls}-warning`]: validateStatus === 'warning',
490
+ [`${prefixcls}-small`]: size === 'small',
491
+ [`${prefixcls}-large`]: size === 'large',
492
+ [`${prefixcls}-with-prefix`]: prefix || insetLabel,
493
+ [`${prefixcls}-with-suffix`]: suffix
492
494
  });
493
495
  const mouseEvent = showClear ? {
494
496
  onMouseEnter: () => this.handleMouseOver(),
495
497
  onMouseLeave: () => this.handleMouseLeave()
496
498
  } : {};
497
- const sectionCls = (0, _classnames.default)("".concat(prefixcls, "-selection"), {
498
- ["".concat(prefixcls, "-selection-multiple")]: multiple && !(0, _isEmpty2.default)(checkedKeys)
499
+ const sectionCls = (0, _classnames.default)(`${prefixcls}-selection`, {
500
+ [`${prefixcls}-selection-multiple`]: multiple && !(0, _isEmpty2.default)(checkedKeys)
499
501
  });
500
502
  const inner = useCustomTrigger ? this.renderCustomTrigger() : [/*#__PURE__*/_react.default.createElement(_react.Fragment, {
501
503
  key: 'prefix'
@@ -889,7 +891,7 @@ class Cascader extends _baseComponent.default {
889
891
  keyEntities,
890
892
  resolvedCheckedKeys
891
893
  } = this.state;
892
- const tagInputcls = (0, _classnames.default)("".concat(prefixcls, "-tagInput-wrapper"));
894
+ const tagInputcls = (0, _classnames.default)(`${prefixcls}-tagInput-wrapper`);
893
895
  const tagValue = [];
894
896
  const realKeys = this.mergeType === _constants.strings.NONE_MERGE_TYPE ? checkedKeys : resolvedCheckedKeys;
895
897
  [...realKeys].forEach(checkedKey => {
@@ -922,7 +924,7 @@ class Cascader extends _baseComponent.default {
922
924
  size,
923
925
  disabled
924
926
  } = this.props;
925
- const inputcls = (0, _classnames.default)("".concat(prefixcls, "-input"));
927
+ const inputcls = (0, _classnames.default)(`${prefixcls}-input`);
926
928
  const {
927
929
  inputValue,
928
930
  inputPlaceHolder,
@@ -935,13 +937,13 @@ class Cascader extends _baseComponent.default {
935
937
  onChange: this.handleInputChange
936
938
  };
937
939
  const wrappercls = (0, _classnames.default)({
938
- ["".concat(prefixcls, "-search-wrapper")]: true
940
+ [`${prefixcls}-search-wrapper`]: true
939
941
  });
940
942
  const displayText = this.renderDisplayText();
941
943
  const spanCls = (0, _classnames.default)({
942
- ["".concat(prefixcls, "-selection-placeholder")]: !displayText,
943
- ["".concat(prefixcls, "-selection-text-hide")]: showInput && inputValue,
944
- ["".concat(prefixcls, "-selection-text-inactive")]: showInput && !inputValue
944
+ [`${prefixcls}-selection-placeholder`]: !displayText,
945
+ [`${prefixcls}-selection-text-hide`]: showInput && inputValue,
946
+ [`${prefixcls}-selection-text-inactive`]: showInput && !inputValue
945
947
  });
946
948
  return /*#__PURE__*/_react.default.createElement("div", {
947
949
  className: wrappercls
@@ -1,4 +1,4 @@
1
- import React, { PureComponent } from 'react';
1
+ import React, { PureComponent, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { ContextValue } from '../configProvider/context';
4
4
  import { CheckboxEvent } from '../checkbox';
@@ -18,6 +18,19 @@ export interface Data extends BasicData {
18
18
  data: CascaderData;
19
19
  searchText: React.ReactNode[];
20
20
  }
21
+ export interface FilterRenderProps {
22
+ className: string;
23
+ inputValue: string;
24
+ disabled: boolean;
25
+ data: CascaderData[];
26
+ checkStatus: {
27
+ checked: boolean;
28
+ halfChecked: boolean;
29
+ };
30
+ selected: boolean;
31
+ onClick: (e: React.MouseEvent) => void;
32
+ onCheck: (e: React.MouseEvent) => void;
33
+ }
21
34
  export interface CascaderItemProps {
22
35
  activeKeys: Set<string>;
23
36
  selectedKeys: Set<string>;
@@ -38,6 +51,7 @@ export interface CascaderItemProps {
38
51
  multiple: boolean;
39
52
  checkedKeys: Set<string>;
40
53
  halfCheckedKeys: Set<string>;
54
+ filterRender?: (props: FilterRenderProps) => ReactNode;
41
55
  }
42
56
  export default class Item extends PureComponent<CascaderItemProps> {
43
57
  static contextType: React.Context<ContextValue>;