@douyinfe/semi-ui 2.27.1-alpha.0 → 2.27.1-alpha.2

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 (385) hide show
  1. package/dist/css/semi.css +69 -0
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +2049 -1988
  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.d.ts +1 -1
  10. package/lib/cjs/anchor/index.js +9 -9
  11. package/lib/cjs/anchor/link.js +8 -8
  12. package/lib/cjs/autoComplete/index.d.ts +1 -1
  13. package/lib/cjs/autoComplete/index.js +8 -4
  14. package/lib/cjs/autoComplete/option.js +7 -7
  15. package/lib/cjs/avatar/avatarGroup.js +7 -7
  16. package/lib/cjs/avatar/index.js +12 -12
  17. package/lib/cjs/badge/index.js +8 -8
  18. package/lib/cjs/banner/index.js +12 -12
  19. package/lib/cjs/breadcrumb/index.js +12 -12
  20. package/lib/cjs/breadcrumb/item.js +8 -8
  21. package/lib/cjs/button/Button.d.ts +1 -1
  22. package/lib/cjs/button/Button.js +9 -9
  23. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  24. package/lib/cjs/button/buttonGroup.js +5 -5
  25. package/lib/cjs/button/index.d.ts +1 -1
  26. package/lib/cjs/button/splitButtonGroup.js +1 -1
  27. package/lib/cjs/calendar/dayCalendar.js +13 -13
  28. package/lib/cjs/calendar/dayCol.js +17 -17
  29. package/lib/cjs/calendar/monthCalendar.js +38 -38
  30. package/lib/cjs/calendar/rangeCalendar.js +27 -27
  31. package/lib/cjs/calendar/timeCol.js +6 -6
  32. package/lib/cjs/calendar/weekCalendar.js +27 -27
  33. package/lib/cjs/card/cardGroup.js +2 -2
  34. package/lib/cjs/card/index.js +16 -16
  35. package/lib/cjs/card/meta.js +5 -5
  36. package/lib/cjs/carousel/CarouselArrow.js +6 -6
  37. package/lib/cjs/carousel/CarouselIndicator.d.ts +1 -1
  38. package/lib/cjs/carousel/CarouselIndicator.js +6 -6
  39. package/lib/cjs/carousel/index.d.ts +2 -2
  40. package/lib/cjs/carousel/index.js +12 -12
  41. package/lib/cjs/cascader/index.d.ts +1 -1
  42. package/lib/cjs/cascader/index.js +36 -36
  43. package/lib/cjs/cascader/item.d.ts +1 -1
  44. package/lib/cjs/cascader/item.js +25 -25
  45. package/lib/cjs/checkbox/checkbox.js +14 -14
  46. package/lib/cjs/checkbox/checkboxGroup.js +4 -4
  47. package/lib/cjs/checkbox/checkboxInner.js +6 -6
  48. package/lib/cjs/collapse/item.js +9 -9
  49. package/lib/cjs/collapsible/index.js +3 -3
  50. package/lib/cjs/configProvider/index.js +1 -1
  51. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  52. package/lib/cjs/datePicker/dateInput.js +16 -16
  53. package/lib/cjs/datePicker/datePicker.d.ts +2 -2
  54. package/lib/cjs/datePicker/datePicker.js +9 -9
  55. package/lib/cjs/datePicker/footer.js +1 -1
  56. package/lib/cjs/datePicker/index.js +1 -1
  57. package/lib/cjs/datePicker/month.js +2 -2
  58. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  59. package/lib/cjs/datePicker/monthsGrid.js +27 -27
  60. package/lib/cjs/datePicker/navigation.js +1 -1
  61. package/lib/cjs/datePicker/quickControl.js +14 -14
  62. package/lib/cjs/datePicker/yearAndMonth.js +4 -4
  63. package/lib/cjs/descriptions/index.js +3 -3
  64. package/lib/cjs/descriptions/item.js +5 -5
  65. package/lib/cjs/divider/index.js +7 -7
  66. package/lib/cjs/dropdown/dropdownDivider.js +1 -1
  67. package/lib/cjs/dropdown/dropdownItem.d.ts +1 -1
  68. package/lib/cjs/dropdown/dropdownItem.js +7 -7
  69. package/lib/cjs/dropdown/dropdownMenu.js +1 -1
  70. package/lib/cjs/dropdown/dropdownTitle.js +2 -2
  71. package/lib/cjs/dropdown/index.js +3 -3
  72. package/lib/cjs/empty/index.js +7 -7
  73. package/lib/cjs/form/arrayField.js +1 -1
  74. package/lib/cjs/form/baseForm.d.ts +1 -1
  75. package/lib/cjs/form/baseForm.js +2 -2
  76. package/lib/cjs/form/errorMessage.js +1 -1
  77. package/lib/cjs/form/field.d.ts +1 -1
  78. package/lib/cjs/form/group.js +2 -2
  79. package/lib/cjs/form/hoc/withField.js +67 -47
  80. package/lib/cjs/form/label.js +9 -9
  81. package/lib/cjs/form/slot.js +5 -5
  82. package/lib/cjs/grid/col.js +11 -11
  83. package/lib/cjs/grid/row.js +4 -4
  84. package/lib/cjs/highlight/index.js +1 -1
  85. package/lib/cjs/iconButton/index.js +5 -5
  86. package/lib/cjs/image/image.js +10 -10
  87. package/lib/cjs/image/preview.js +3 -3
  88. package/lib/cjs/image/previewFooter.js +12 -12
  89. package/lib/cjs/image/previewHeader.js +3 -3
  90. package/lib/cjs/image/previewImage.js +7 -7
  91. package/lib/cjs/image/previewInner.js +7 -7
  92. package/lib/cjs/input/index.d.ts +1 -1
  93. package/lib/cjs/input/index.js +38 -38
  94. package/lib/cjs/input/inputGroup.d.ts +1 -1
  95. package/lib/cjs/input/inputGroup.js +7 -7
  96. package/lib/cjs/input/textarea.js +14 -14
  97. package/lib/cjs/inputNumber/index.js +11 -11
  98. package/lib/cjs/layout/Sider.js +3 -3
  99. package/lib/cjs/layout/index.js +2 -2
  100. package/lib/cjs/list/index.js +11 -11
  101. package/lib/cjs/list/item.js +6 -6
  102. package/lib/cjs/modal/ConfirmModal.js +7 -7
  103. package/lib/cjs/modal/Modal.js +4 -4
  104. package/lib/cjs/modal/ModalContent.js +24 -24
  105. package/lib/cjs/modal/useModal/index.js +1 -1
  106. package/lib/cjs/navigation/CollapseButton.js +1 -1
  107. package/lib/cjs/navigation/Footer.js +2 -2
  108. package/lib/cjs/navigation/Header.js +5 -5
  109. package/lib/cjs/navigation/Item.d.ts +4 -0
  110. package/lib/cjs/navigation/Item.js +40 -24
  111. package/lib/cjs/navigation/SubNav.d.ts +5 -0
  112. package/lib/cjs/navigation/SubNav.js +54 -36
  113. package/lib/cjs/navigation/index.js +8 -8
  114. package/lib/cjs/notification/index.js +3 -3
  115. package/lib/cjs/notification/notice.js +12 -12
  116. package/lib/cjs/overflowList/index.js +6 -6
  117. package/lib/cjs/pagination/index.js +26 -26
  118. package/lib/cjs/popconfirm/index.js +9 -9
  119. package/lib/cjs/popover/index.d.ts +1 -1
  120. package/lib/cjs/popover/index.js +2 -2
  121. package/lib/cjs/progress/index.js +14 -14
  122. package/lib/cjs/radio/radio.js +22 -22
  123. package/lib/cjs/radio/radioGroup.js +5 -5
  124. package/lib/cjs/radio/radioInner.js +7 -7
  125. package/lib/cjs/rating/index.d.ts +1 -1
  126. package/lib/cjs/rating/index.js +5 -5
  127. package/lib/cjs/rating/item.d.ts +1 -1
  128. package/lib/cjs/rating/item.js +11 -11
  129. package/lib/cjs/scrollList/index.js +5 -5
  130. package/lib/cjs/scrollList/scrollItem.js +13 -13
  131. package/lib/cjs/select/index.js +57 -57
  132. package/lib/cjs/select/option.js +7 -7
  133. package/lib/cjs/sideSheet/SideSheetContent.js +10 -10
  134. package/lib/cjs/sideSheet/index.js +7 -7
  135. package/lib/cjs/skeleton/index.js +1 -1
  136. package/lib/cjs/skeleton/item.js +4 -4
  137. package/lib/cjs/slider/index.js +28 -28
  138. package/lib/cjs/space/index.js +12 -12
  139. package/lib/cjs/spin/icon.js +2 -2
  140. package/lib/cjs/spin/index.js +6 -6
  141. package/lib/cjs/steps/basicStep.js +14 -14
  142. package/lib/cjs/steps/basicSteps.js +6 -6
  143. package/lib/cjs/steps/fillStep.js +10 -10
  144. package/lib/cjs/steps/fillSteps.js +4 -4
  145. package/lib/cjs/steps/navStep.js +5 -5
  146. package/lib/cjs/steps/navSteps.js +2 -2
  147. package/lib/cjs/switch/index.d.ts +1 -1
  148. package/lib/cjs/table/Body/BaseRow.js +5 -5
  149. package/lib/cjs/table/Body/ExpandedRow.js +3 -3
  150. package/lib/cjs/table/Body/SectionRow.js +1 -1
  151. package/lib/cjs/table/Body/index.js +8 -8
  152. package/lib/cjs/table/ColGroup.js +2 -2
  153. package/lib/cjs/table/ColumnFilter.js +3 -3
  154. package/lib/cjs/table/ColumnSelection.js +2 -2
  155. package/lib/cjs/table/ColumnSorter.js +7 -7
  156. package/lib/cjs/table/CustomExpandIcon.js +2 -2
  157. package/lib/cjs/table/HeadTable.js +3 -3
  158. package/lib/cjs/table/Table.d.ts +2 -2
  159. package/lib/cjs/table/Table.js +20 -20
  160. package/lib/cjs/table/TableCell.js +8 -8
  161. package/lib/cjs/table/TableHeader.js +1 -1
  162. package/lib/cjs/table/TableHeaderRow.js +8 -8
  163. package/lib/cjs/table/TablePagination.js +3 -3
  164. package/lib/cjs/table/index.d.ts +1 -1
  165. package/lib/cjs/tabs/TabBar.js +18 -18
  166. package/lib/cjs/tabs/TabPane.js +3 -3
  167. package/lib/cjs/tabs/index.js +2 -2
  168. package/lib/cjs/tag/group.js +5 -5
  169. package/lib/cjs/tag/index.js +13 -13
  170. package/lib/cjs/tagInput/index.d.ts +1 -1
  171. package/lib/cjs/tagInput/index.js +33 -33
  172. package/lib/cjs/timePicker/Combobox.js +4 -4
  173. package/lib/cjs/timePicker/TimeInput.js +4 -4
  174. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  175. package/lib/cjs/timePicker/TimePicker.js +8 -8
  176. package/lib/cjs/timePicker/index.d.ts +1 -1
  177. package/lib/cjs/timeline/index.js +8 -8
  178. package/lib/cjs/timeline/item.js +7 -7
  179. package/lib/cjs/toast/index.js +5 -5
  180. package/lib/cjs/toast/toast.js +9 -9
  181. package/lib/cjs/tooltip/index.d.ts +1 -1
  182. package/lib/cjs/tooltip/index.js +7 -7
  183. package/lib/cjs/transfer/index.js +31 -31
  184. package/lib/cjs/tree/autoSizer.js +1 -1
  185. package/lib/cjs/tree/index.js +6 -6
  186. package/lib/cjs/tree/nodeList.js +1 -1
  187. package/lib/cjs/tree/treeNode.js +26 -26
  188. package/lib/cjs/treeSelect/index.js +41 -41
  189. package/lib/cjs/typography/base.js +14 -14
  190. package/lib/cjs/typography/copyable.js +3 -3
  191. package/lib/cjs/typography/paragraph.js +1 -1
  192. package/lib/cjs/typography/title.js +1 -1
  193. package/lib/cjs/typography/util.js +1 -1
  194. package/lib/cjs/upload/fileCard.js +32 -32
  195. package/lib/cjs/upload/index.js +37 -37
  196. package/lib/es/_portal/index.js +2 -2
  197. package/lib/es/_utils/index.js +3 -1
  198. package/lib/es/anchor/index.d.ts +1 -1
  199. package/lib/es/anchor/index.js +9 -9
  200. package/lib/es/anchor/link.js +8 -8
  201. package/lib/es/autoComplete/index.d.ts +1 -1
  202. package/lib/es/autoComplete/index.js +8 -4
  203. package/lib/es/autoComplete/option.js +7 -7
  204. package/lib/es/avatar/avatarGroup.js +7 -7
  205. package/lib/es/avatar/index.js +12 -12
  206. package/lib/es/badge/index.js +8 -8
  207. package/lib/es/banner/index.js +12 -12
  208. package/lib/es/breadcrumb/index.js +12 -12
  209. package/lib/es/breadcrumb/item.js +8 -8
  210. package/lib/es/button/Button.d.ts +1 -1
  211. package/lib/es/button/Button.js +9 -9
  212. package/lib/es/button/buttonGroup.d.ts +1 -1
  213. package/lib/es/button/buttonGroup.js +5 -5
  214. package/lib/es/button/index.d.ts +1 -1
  215. package/lib/es/button/splitButtonGroup.js +1 -1
  216. package/lib/es/calendar/dayCalendar.js +13 -13
  217. package/lib/es/calendar/dayCol.js +17 -17
  218. package/lib/es/calendar/monthCalendar.js +38 -38
  219. package/lib/es/calendar/rangeCalendar.js +27 -27
  220. package/lib/es/calendar/timeCol.js +6 -6
  221. package/lib/es/calendar/weekCalendar.js +27 -27
  222. package/lib/es/card/cardGroup.js +2 -2
  223. package/lib/es/card/index.js +16 -16
  224. package/lib/es/card/meta.js +5 -5
  225. package/lib/es/carousel/CarouselArrow.js +6 -6
  226. package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
  227. package/lib/es/carousel/CarouselIndicator.js +6 -6
  228. package/lib/es/carousel/index.d.ts +2 -2
  229. package/lib/es/carousel/index.js +12 -12
  230. package/lib/es/cascader/index.d.ts +1 -1
  231. package/lib/es/cascader/index.js +36 -36
  232. package/lib/es/cascader/item.d.ts +1 -1
  233. package/lib/es/cascader/item.js +25 -25
  234. package/lib/es/checkbox/checkbox.js +14 -14
  235. package/lib/es/checkbox/checkboxGroup.js +4 -4
  236. package/lib/es/checkbox/checkboxInner.js +6 -6
  237. package/lib/es/collapse/item.js +9 -9
  238. package/lib/es/collapsible/index.js +3 -3
  239. package/lib/es/configProvider/index.js +1 -1
  240. package/lib/es/datePicker/dateInput.d.ts +1 -1
  241. package/lib/es/datePicker/dateInput.js +16 -16
  242. package/lib/es/datePicker/datePicker.d.ts +2 -2
  243. package/lib/es/datePicker/datePicker.js +9 -9
  244. package/lib/es/datePicker/footer.js +1 -1
  245. package/lib/es/datePicker/index.js +1 -1
  246. package/lib/es/datePicker/month.js +2 -2
  247. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  248. package/lib/es/datePicker/monthsGrid.js +27 -27
  249. package/lib/es/datePicker/navigation.js +1 -1
  250. package/lib/es/datePicker/quickControl.js +14 -14
  251. package/lib/es/datePicker/yearAndMonth.js +4 -4
  252. package/lib/es/descriptions/index.js +3 -3
  253. package/lib/es/descriptions/item.js +5 -5
  254. package/lib/es/divider/index.js +7 -7
  255. package/lib/es/dropdown/dropdownDivider.js +1 -1
  256. package/lib/es/dropdown/dropdownItem.d.ts +1 -1
  257. package/lib/es/dropdown/dropdownItem.js +7 -7
  258. package/lib/es/dropdown/dropdownMenu.js +1 -1
  259. package/lib/es/dropdown/dropdownTitle.js +2 -2
  260. package/lib/es/dropdown/index.js +3 -3
  261. package/lib/es/empty/index.js +7 -7
  262. package/lib/es/form/arrayField.js +1 -1
  263. package/lib/es/form/baseForm.d.ts +1 -1
  264. package/lib/es/form/baseForm.js +2 -2
  265. package/lib/es/form/errorMessage.js +1 -1
  266. package/lib/es/form/field.d.ts +1 -1
  267. package/lib/es/form/group.js +2 -2
  268. package/lib/es/form/hoc/withField.js +67 -47
  269. package/lib/es/form/label.js +9 -9
  270. package/lib/es/form/slot.js +5 -5
  271. package/lib/es/grid/col.js +11 -11
  272. package/lib/es/grid/row.js +4 -4
  273. package/lib/es/highlight/index.js +1 -1
  274. package/lib/es/iconButton/index.js +5 -5
  275. package/lib/es/image/image.js +10 -10
  276. package/lib/es/image/preview.js +3 -3
  277. package/lib/es/image/previewFooter.js +12 -12
  278. package/lib/es/image/previewHeader.js +3 -3
  279. package/lib/es/image/previewImage.js +7 -7
  280. package/lib/es/image/previewInner.js +7 -7
  281. package/lib/es/input/index.d.ts +1 -1
  282. package/lib/es/input/index.js +38 -38
  283. package/lib/es/input/inputGroup.d.ts +1 -1
  284. package/lib/es/input/inputGroup.js +7 -7
  285. package/lib/es/input/textarea.js +14 -14
  286. package/lib/es/inputNumber/index.js +11 -11
  287. package/lib/es/layout/Sider.js +3 -3
  288. package/lib/es/layout/index.js +2 -2
  289. package/lib/es/list/index.js +11 -11
  290. package/lib/es/list/item.js +6 -6
  291. package/lib/es/modal/ConfirmModal.js +7 -7
  292. package/lib/es/modal/Modal.js +4 -4
  293. package/lib/es/modal/ModalContent.js +24 -24
  294. package/lib/es/modal/useModal/index.js +1 -1
  295. package/lib/es/navigation/CollapseButton.js +1 -1
  296. package/lib/es/navigation/Footer.js +2 -2
  297. package/lib/es/navigation/Header.js +5 -5
  298. package/lib/es/navigation/Item.d.ts +4 -0
  299. package/lib/es/navigation/Item.js +40 -24
  300. package/lib/es/navigation/SubNav.d.ts +5 -0
  301. package/lib/es/navigation/SubNav.js +54 -36
  302. package/lib/es/navigation/index.js +8 -8
  303. package/lib/es/notification/index.js +3 -3
  304. package/lib/es/notification/notice.js +12 -12
  305. package/lib/es/overflowList/index.js +6 -6
  306. package/lib/es/pagination/index.js +26 -26
  307. package/lib/es/popconfirm/index.js +9 -9
  308. package/lib/es/popover/index.d.ts +1 -1
  309. package/lib/es/popover/index.js +2 -2
  310. package/lib/es/progress/index.js +14 -14
  311. package/lib/es/radio/radio.js +22 -22
  312. package/lib/es/radio/radioGroup.js +5 -5
  313. package/lib/es/radio/radioInner.js +7 -7
  314. package/lib/es/rating/index.d.ts +1 -1
  315. package/lib/es/rating/index.js +5 -5
  316. package/lib/es/rating/item.d.ts +1 -1
  317. package/lib/es/rating/item.js +11 -11
  318. package/lib/es/scrollList/index.js +5 -5
  319. package/lib/es/scrollList/scrollItem.js +13 -13
  320. package/lib/es/select/index.js +57 -57
  321. package/lib/es/select/option.js +7 -7
  322. package/lib/es/sideSheet/SideSheetContent.js +10 -10
  323. package/lib/es/sideSheet/index.js +7 -7
  324. package/lib/es/skeleton/index.js +1 -1
  325. package/lib/es/skeleton/item.js +4 -4
  326. package/lib/es/slider/index.js +28 -28
  327. package/lib/es/space/index.js +12 -12
  328. package/lib/es/spin/icon.js +2 -2
  329. package/lib/es/spin/index.js +6 -6
  330. package/lib/es/steps/basicStep.js +14 -14
  331. package/lib/es/steps/basicSteps.js +6 -6
  332. package/lib/es/steps/fillStep.js +10 -10
  333. package/lib/es/steps/fillSteps.js +4 -4
  334. package/lib/es/steps/navStep.js +5 -5
  335. package/lib/es/steps/navSteps.js +2 -2
  336. package/lib/es/switch/index.d.ts +1 -1
  337. package/lib/es/table/Body/BaseRow.js +5 -5
  338. package/lib/es/table/Body/ExpandedRow.js +3 -3
  339. package/lib/es/table/Body/SectionRow.js +1 -1
  340. package/lib/es/table/Body/index.js +8 -8
  341. package/lib/es/table/ColGroup.js +2 -2
  342. package/lib/es/table/ColumnFilter.js +3 -3
  343. package/lib/es/table/ColumnSelection.js +2 -2
  344. package/lib/es/table/ColumnSorter.js +7 -7
  345. package/lib/es/table/CustomExpandIcon.js +2 -2
  346. package/lib/es/table/HeadTable.js +3 -3
  347. package/lib/es/table/Table.d.ts +2 -2
  348. package/lib/es/table/Table.js +20 -20
  349. package/lib/es/table/TableCell.js +8 -8
  350. package/lib/es/table/TableHeader.js +1 -1
  351. package/lib/es/table/TableHeaderRow.js +8 -8
  352. package/lib/es/table/TablePagination.js +3 -3
  353. package/lib/es/table/index.d.ts +1 -1
  354. package/lib/es/tabs/TabBar.js +18 -18
  355. package/lib/es/tabs/TabPane.js +3 -3
  356. package/lib/es/tabs/index.js +2 -2
  357. package/lib/es/tag/group.js +5 -5
  358. package/lib/es/tag/index.js +13 -13
  359. package/lib/es/tagInput/index.d.ts +1 -1
  360. package/lib/es/tagInput/index.js +33 -33
  361. package/lib/es/timePicker/Combobox.js +4 -4
  362. package/lib/es/timePicker/TimeInput.js +4 -4
  363. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  364. package/lib/es/timePicker/TimePicker.js +8 -8
  365. package/lib/es/timePicker/index.d.ts +1 -1
  366. package/lib/es/timeline/index.js +8 -8
  367. package/lib/es/timeline/item.js +7 -7
  368. package/lib/es/toast/index.js +5 -5
  369. package/lib/es/toast/toast.js +9 -9
  370. package/lib/es/tooltip/index.d.ts +1 -1
  371. package/lib/es/tooltip/index.js +7 -7
  372. package/lib/es/transfer/index.js +31 -31
  373. package/lib/es/tree/autoSizer.js +1 -1
  374. package/lib/es/tree/index.js +6 -6
  375. package/lib/es/tree/nodeList.js +1 -1
  376. package/lib/es/tree/treeNode.js +26 -26
  377. package/lib/es/treeSelect/index.js +41 -41
  378. package/lib/es/typography/base.js +14 -14
  379. package/lib/es/typography/copyable.js +3 -3
  380. package/lib/es/typography/paragraph.js +1 -1
  381. package/lib/es/typography/title.js +1 -1
  382. package/lib/es/typography/util.js +1 -1
  383. package/lib/es/upload/fileCard.js +32 -32
  384. package/lib/es/upload/index.js +37 -37
  385. package/package.json +8 -8
@@ -23,14 +23,14 @@ class List extends BaseComponent {
23
23
 
24
24
  if (emptyContent) {
25
25
  return /*#__PURE__*/React.createElement("div", {
26
- className: "".concat(cssClasses.PREFIX, "-empty"),
26
+ className: `${cssClasses.PREFIX}-empty`,
27
27
  "x-semi-prop": "emptyContent"
28
28
  }, emptyContent);
29
29
  } else {
30
30
  return /*#__PURE__*/React.createElement(LocaleConsumer, {
31
31
  componentName: "List"
32
32
  }, locale => /*#__PURE__*/React.createElement("div", {
33
- className: "".concat(cssClasses.PREFIX, "-empty")
33
+ className: `${cssClasses.PREFIX}-empty`
34
34
  }, locale.emptyText));
35
35
  }
36
36
  };
@@ -54,7 +54,7 @@ class List extends BaseComponent {
54
54
  }
55
55
 
56
56
  return /*#__PURE__*/React.createElement("ul", {
57
- className: "".concat(prefixCls, "-items")
57
+ className: `${prefixCls}-items`
58
58
  }, childrenList ? childrenList : null, children);
59
59
  }
60
60
 
@@ -78,11 +78,11 @@ class List extends BaseComponent {
78
78
  children
79
79
  } = this.props;
80
80
  const wrapperCls = cls(prefixCls, className, {
81
- ["".concat(prefixCls, "-flex")]: layout === 'horizontal',
82
- ["".concat(prefixCls, "-").concat(size)]: size,
83
- ["".concat(prefixCls, "-grid")]: grid,
84
- ["".concat(prefixCls, "-split")]: split,
85
- ["".concat(prefixCls, "-bordered")]: bordered
81
+ [`${prefixCls}-flex`]: layout === 'horizontal',
82
+ [`${prefixCls}-${size}`]: size,
83
+ [`${prefixCls}-grid`]: grid,
84
+ [`${prefixCls}-split`]: split,
85
+ [`${prefixCls}-bordered`]: bordered
86
86
  });
87
87
  let childrenList;
88
88
 
@@ -90,7 +90,7 @@ class List extends BaseComponent {
90
90
  childrenList = [];
91
91
  const items = renderItem ? dataSource.map((item, index) => renderItem(item, index)) : [];
92
92
  React.Children.forEach(items, (child, index) => {
93
- const itemKey = child.key || "list-item-".concat(index);
93
+ const itemKey = child.key || `list-item-${index}`;
94
94
  childrenList.push( /*#__PURE__*/React.cloneElement(child, {
95
95
  key: itemKey
96
96
  }));
@@ -103,7 +103,7 @@ class List extends BaseComponent {
103
103
  className: wrapperCls,
104
104
  style: style
105
105
  }, header ? /*#__PURE__*/React.createElement("div", {
106
- className: "".concat(cssClasses.PREFIX, "-header"),
106
+ className: `${cssClasses.PREFIX}-header`,
107
107
  "x-semi-prop": "header"
108
108
  }, header) : null, /*#__PURE__*/React.createElement(ListContext.Provider, {
109
109
  value: {
@@ -115,7 +115,7 @@ class List extends BaseComponent {
115
115
  spinning: loading,
116
116
  size: "large"
117
117
  }, this.wrapChildren(childrenList, children))), footer ? /*#__PURE__*/React.createElement("div", {
118
- className: "".concat(cssClasses.PREFIX, "-footer"),
118
+ className: `${cssClasses.PREFIX}-footer`,
119
119
  "x-semi-prop": "footer"
120
120
  }, footer) : null, loadMore ? loadMore : null);
121
121
  }
@@ -56,9 +56,9 @@ export default class ListItem extends PureComponent {
56
56
  } = this.context;
57
57
  const handleContextMenu = onRightClick ? onRightClick : contextOnRightClick;
58
58
  const handleClick = onClick ? onClick : contextOnClick;
59
- const itemCls = cls("".concat(prefixCls, "-item"), className);
60
- const bodyCls = cls("".concat(prefixCls, "-item-body"), {
61
- ["".concat(prefixCls, "-item-body-").concat(align)]: align
59
+ const itemCls = cls(`${prefixCls}-item`, className);
60
+ const bodyCls = cls(`${prefixCls}-item-body`, {
61
+ [`${prefixCls}-item-body-${align}`]: align
62
62
  });
63
63
  let body;
64
64
 
@@ -66,9 +66,9 @@ export default class ListItem extends PureComponent {
66
66
  body = /*#__PURE__*/React.createElement("div", {
67
67
  className: bodyCls
68
68
  }, header ? /*#__PURE__*/React.createElement("div", {
69
- className: "".concat(prefixCls, "-item-body-header")
69
+ className: `${prefixCls}-item-body-header`
70
70
  }, header) : null, main ? /*#__PURE__*/React.createElement("div", {
71
- className: "".concat(prefixCls, "-item-body-main")
71
+ className: `${prefixCls}-item-body-main`
72
72
  }, main) : null);
73
73
  }
74
74
 
@@ -83,7 +83,7 @@ export default class ListItem extends PureComponent {
83
83
  onMouseEnter: onMouseEnter,
84
84
  onMouseLeave: onMouseLeave
85
85
  }, body ? body : null, children, extra ? /*#__PURE__*/React.createElement("div", {
86
- className: "".concat(prefixCls, "-item-extra")
86
+ className: `${prefixCls}-item-extra`
87
87
  }, extra) : null);
88
88
 
89
89
  if (this.context && contextGrid) {
@@ -69,20 +69,20 @@ const ConfirmModal = props => {
69
69
  setVisible(false);
70
70
  }
71
71
  }, [onCancel]);
72
- const confirmCls = "".concat(cssClasses.DIALOG, "-confirm");
72
+ const confirmCls = `${cssClasses.DIALOG}-confirm`;
73
73
  const wrapperCls = cls(className, confirmCls, {
74
- ["".concat(confirmCls, "-rtl")]: direction === 'rtl'
74
+ [`${confirmCls}-rtl`]: direction === 'rtl'
75
75
  });
76
- const typeCls = cls("".concat(cssClasses.DIALOG, "-").concat(type));
76
+ const typeCls = cls(`${cssClasses.DIALOG}-${type}`);
77
77
  const iconNode = isSemiIcon(icon) ? /*#__PURE__*/React.cloneElement(icon, {
78
- className: "".concat(confirmCls, "-icon ").concat(typeCls, "-icon"),
78
+ className: `${confirmCls}-icon ${typeCls}-icon`,
79
79
  size: 'extra-large'
80
80
  }) : icon;
81
81
  const titleNode = title == null ? null : /*#__PURE__*/React.createElement("span", {
82
- className: "".concat(confirmCls, "-title-text")
82
+ className: `${confirmCls}-title-text`
83
83
  }, title);
84
- const contentCls = cls("".concat(confirmCls, "-content"), {
85
- ["".concat(confirmCls, "-content-withIcon")]: props.icon
84
+ const contentCls = cls(`${confirmCls}-content`, {
85
+ [`${confirmCls}-content-withIcon`]: props.icon
86
86
  });
87
87
  return /*#__PURE__*/React.createElement(Modal, Object.assign({
88
88
  className: wrapperCls,
@@ -125,7 +125,7 @@ class Modal extends BaseComponent {
125
125
  }
126
126
 
127
127
  const classList = cls(className, {
128
- ["".concat(cssClasses.DIALOG, "-displayNone")]: keepDOM && this.state.displayNone
128
+ [`${cssClasses.DIALOG}-displayNone`]: keepDOM && this.state.displayNone
129
129
  });
130
130
  const shouldRender = this.props.visible || this.props.keepDOM && (!this.props.lazyRender || this._haveRendered) || this.props.motion && !this.state.displayNone
131
131
  /* When there is animation, we use displayNone to judge whether animation is ended and judge whether to unmount content */
@@ -141,7 +141,7 @@ class Modal extends BaseComponent {
141
141
  }, /*#__PURE__*/React.createElement(CSSAnimation, {
142
142
  motion: this.props.motion,
143
143
  animationState: visible ? 'enter' : 'leave',
144
- startClassName: visible ? "".concat(cssClasses.DIALOG, "-content-animate-show") : "".concat(cssClasses.DIALOG, "-content-animate-hide"),
144
+ startClassName: visible ? `${cssClasses.DIALOG}-content-animate-show` : `${cssClasses.DIALOG}-content-animate-hide`,
145
145
  onAnimationEnd: () => {
146
146
  this.updateState();
147
147
  }
@@ -153,7 +153,7 @@ class Modal extends BaseComponent {
153
153
  return /*#__PURE__*/React.createElement(CSSAnimation, {
154
154
  motion: this.props.motion,
155
155
  animationState: visible ? 'enter' : 'leave',
156
- startClassName: visible ? "".concat(cssClasses.DIALOG, "-mask-animate-show") : "".concat(cssClasses.DIALOG, "-mask-animate-hide"),
156
+ startClassName: visible ? `${cssClasses.DIALOG}-mask-animate-show` : `${cssClasses.DIALOG}-mask-animate-hide`,
157
157
  onAnimationEnd: () => {
158
158
  this.updateState();
159
159
  }
@@ -202,7 +202,7 @@ class Modal extends BaseComponent {
202
202
 
203
203
  if (!getPopupContainer && this.bodyOverflow !== 'hidden') {
204
204
  document.body.style.overflow = 'hidden';
205
- document.body.style.width = "calc(".concat(this.originBodyWidth || '100%', " - ").concat(this.scrollBarWidth, "px)");
205
+ document.body.style.width = `calc(${this.originBodyWidth || '100%'} - ${this.scrollBarWidth}px)`;
206
206
  }
207
207
  },
208
208
  enabledBodyScroll: () => {
@@ -64,7 +64,7 @@ export default class ModalContent extends BaseComponent {
64
64
  } = props;
65
65
 
66
66
  if (mask) {
67
- const className = cls("".concat(cssClasses.DIALOG, "-mask"), {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
67
+ const className = cls(`${cssClasses.DIALOG}-mask`, {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
68
68
  });
69
69
  return /*#__PURE__*/React.createElement("div", Object.assign({
70
70
  key: "mask"
@@ -90,7 +90,7 @@ export default class ModalContent extends BaseComponent {
90
90
  });
91
91
  closer = /*#__PURE__*/React.createElement(Button, {
92
92
  "aria-label": "close",
93
- className: "".concat(cssClasses.DIALOG, "-close"),
93
+ className: `${cssClasses.DIALOG}-close`,
94
94
  key: "close-btn",
95
95
  onClick: this.close,
96
96
  type: "tertiary",
@@ -108,7 +108,7 @@ export default class ModalContent extends BaseComponent {
108
108
  icon
109
109
  } = this.props;
110
110
  return icon ? /*#__PURE__*/React.createElement("span", {
111
- className: "".concat(cssClasses.DIALOG, "-icon-wrapper"),
111
+ className: `${cssClasses.DIALOG}-icon-wrapper`,
112
112
  "x-semi-prop": "icon"
113
113
  }, icon) : null;
114
114
  };
@@ -124,11 +124,11 @@ export default class ModalContent extends BaseComponent {
124
124
  const closer = this.renderCloseBtn();
125
125
  const icon = this.renderIcon();
126
126
  return title === null || title === undefined ? null : /*#__PURE__*/React.createElement("div", {
127
- className: "".concat(cssClasses.DIALOG, "-header")
127
+ className: `${cssClasses.DIALOG}-header`
128
128
  }, icon, /*#__PURE__*/React.createElement(Typography.Title, {
129
129
  heading: 5,
130
- className: "".concat(cssClasses.DIALOG, "-title"),
131
- id: "".concat(cssClasses.DIALOG, "-title"),
130
+ className: `${cssClasses.DIALOG}-title`,
131
+ id: `${cssClasses.DIALOG}-title`,
132
132
  "x-semi-prop": "title"
133
133
  }, title), closer);
134
134
  };
@@ -139,19 +139,19 @@ export default class ModalContent extends BaseComponent {
139
139
  children,
140
140
  title
141
141
  } = this.props;
142
- const bodyCls = cls("".concat(cssClasses.DIALOG, "-body"), {
143
- ["".concat(cssClasses.DIALOG, "-withIcon")]: this.props.icon
142
+ const bodyCls = cls(`${cssClasses.DIALOG}-body`, {
143
+ [`${cssClasses.DIALOG}-withIcon`]: this.props.icon
144
144
  });
145
145
  const closer = this.renderCloseBtn();
146
146
  const icon = this.renderIcon();
147
147
  const hasHeader = title !== null && title !== undefined || 'header' in this.props;
148
148
  return hasHeader ? /*#__PURE__*/React.createElement("div", {
149
149
  className: bodyCls,
150
- id: "".concat(cssClasses.DIALOG, "-body"),
150
+ id: `${cssClasses.DIALOG}-body`,
151
151
  style: bodyStyle,
152
152
  "x-semi-prop": "children"
153
153
  }, children) : /*#__PURE__*/React.createElement("div", {
154
- className: "".concat(cssClasses.DIALOG, "-body-wrapper")
154
+ className: `${cssClasses.DIALOG}-body-wrapper`
155
155
  }, icon, /*#__PURE__*/React.createElement("div", {
156
156
  className: bodyCls,
157
157
  style: bodyStyle,
@@ -163,9 +163,9 @@ export default class ModalContent extends BaseComponent {
163
163
  const props = __rest(this.props, []);
164
164
 
165
165
  const style = {};
166
- const digCls = cls("".concat(cssClasses.DIALOG), {
167
- ["".concat(cssClasses.DIALOG, "-centered")]: props.centered,
168
- ["".concat(cssClasses.DIALOG, "-").concat(props.size)]: props.size
166
+ const digCls = cls(`${cssClasses.DIALOG}`, {
167
+ [`${cssClasses.DIALOG}-centered`]: props.centered,
168
+ [`${cssClasses.DIALOG}-${props.size}`]: props.size
169
169
  });
170
170
 
171
171
  if (props.width) {
@@ -185,7 +185,7 @@ export default class ModalContent extends BaseComponent {
185
185
  const body = this.renderBody();
186
186
  const header = this.renderHeader();
187
187
  const footer = props.footer ? /*#__PURE__*/React.createElement("div", {
188
- className: "".concat(cssClasses.DIALOG, "-footer"),
188
+ className: `${cssClasses.DIALOG}-footer`,
189
189
  "x-semi-prop": "footer"
190
190
  }, props.footer) : null;
191
191
  const dialogElement =
@@ -201,11 +201,11 @@ export default class ModalContent extends BaseComponent {
201
201
  role: "dialog",
202
202
  ref: this.modalDialogRef,
203
203
  "aria-modal": "true",
204
- "aria-labelledby": "".concat(cssClasses.DIALOG, "-title"),
205
- "aria-describedby": "".concat(cssClasses.DIALOG, "-body"),
204
+ "aria-labelledby": `${cssClasses.DIALOG}-title`,
205
+ "aria-describedby": `${cssClasses.DIALOG}-body`,
206
206
  onAnimationEnd: props.onAnimationEnd,
207
- className: cls(["".concat(cssClasses.DIALOG, "-content"), props.contentClassName, {
208
- ["".concat(cssClasses.DIALOG, "-content-fullScreen")]: props.isFullScreen
207
+ className: cls([`${cssClasses.DIALOG}-content`, props.contentClassName, {
208
+ [`${cssClasses.DIALOG}-content-fullScreen`]: props.isFullScreen
209
209
  }])
210
210
  }, header, body, footer)); // return props.visible ? dialogElement : null;
211
211
 
@@ -217,7 +217,7 @@ export default class ModalContent extends BaseComponent {
217
217
  prevFocusElement: FocusTrapHandle.getActiveElement()
218
218
  };
219
219
  this.foundation = new ModalContentFoundation(this.adapter);
220
- this.dialogId = "dialog-".concat(uuid++);
220
+ this.dialogId = `dialog-${uuid++}`;
221
221
  this.modalDialogRef = /*#__PURE__*/React.createRef();
222
222
  }
223
223
 
@@ -328,9 +328,9 @@ export default class ModalContent extends BaseComponent {
328
328
  direction
329
329
  } = this.context;
330
330
  const classList = cls(className, {
331
- ["".concat(cssClasses.DIALOG, "-popup")]: getPopupContainer && !maskFixed,
332
- ["".concat(cssClasses.DIALOG, "-fixed")]: maskFixed,
333
- ["".concat(cssClasses.DIALOG, "-rtl")]: direction === 'rtl'
331
+ [`${cssClasses.DIALOG}-popup`]: getPopupContainer && !maskFixed,
332
+ [`${cssClasses.DIALOG}-fixed`]: maskFixed,
333
+ [`${cssClasses.DIALOG}-rtl`]: direction === 'rtl'
334
334
  });
335
335
  const containerContext = getContainerContext();
336
336
  const elem = /*#__PURE__*/React.createElement("div", {
@@ -338,8 +338,8 @@ export default class ModalContent extends BaseComponent {
338
338
  }, this.getMaskElement(), /*#__PURE__*/React.createElement("div", Object.assign({
339
339
  role: "none",
340
340
  className: cls({
341
- ["".concat(cssClasses.DIALOG, "-wrap")]: true,
342
- ["".concat(cssClasses.DIALOG, "-wrap-center")]: this.props.centered
341
+ [`${cssClasses.DIALOG}-wrap`]: true,
342
+ [`${cssClasses.DIALOG}-wrap-center`]: this.props.centered
343
343
  }),
344
344
  onClick: maskClosable ? this.onMaskClick : null,
345
345
  onMouseUp: maskClosable ? this.onMaskMouseUp : null
@@ -26,7 +26,7 @@ export default function useModal() {
26
26
 
27
27
  let closeFunc;
28
28
  const modal = /*#__PURE__*/React.createElement(HookModal, {
29
- key: "semi-modal-".concat(uuid),
29
+ key: `semi-modal-${uuid}`,
30
30
  config: withFunc(config),
31
31
  ref: modalRef,
32
32
  afterClose: () => {
@@ -31,7 +31,7 @@ export default function CollapseButton(_ref) {
31
31
  }
32
32
 
33
33
  return /*#__PURE__*/React.createElement("div", {
34
- className: "".concat(prefixCls, "-collapse-btn")
34
+ className: `${prefixCls}-collapse-btn`
35
35
  }, isCollapsed ? /*#__PURE__*/React.createElement(Tooltip, {
36
36
  content: finalCollapseText,
37
37
  position: "right"
@@ -53,8 +53,8 @@ export default class NavFooter extends PureComponent {
53
53
  children = this.renderCollapseButton();
54
54
  }
55
55
 
56
- const wrapCls = cls(className, "".concat(cssClasses.PREFIX, "-footer"), {
57
- ["".concat(cssClasses.PREFIX, "-footer-collapsed")]: isCollapsed
56
+ const wrapCls = cls(className, `${cssClasses.PREFIX}-footer`, {
57
+ [`${cssClasses.PREFIX}-footer-collapsed`]: isCollapsed
58
58
  });
59
59
  return /*#__PURE__*/React.createElement("div", {
60
60
  className: wrapCls,
@@ -28,18 +28,18 @@ export default class NavHeader extends PureComponent {
28
28
  const {
29
29
  isCollapsed
30
30
  } = this.context;
31
- const wrapCls = cls(className, "".concat(cssClasses.PREFIX, "-header"), {
32
- ["".concat(cssClasses.PREFIX, "-header-collapsed")]: isCollapsed
31
+ const wrapCls = cls(className, `${cssClasses.PREFIX}-header`, {
32
+ [`${cssClasses.PREFIX}-header-collapsed`]: isCollapsed
33
33
  });
34
34
  let wrappedChildren = /*#__PURE__*/React.createElement(React.Fragment, null, logo ? /*#__PURE__*/React.createElement("i", {
35
- className: "".concat(cssClasses.PREFIX, "-header-logo")
35
+ className: `${cssClasses.PREFIX}-header-logo`
36
36
  }, this.renderLogo(logo)) : null, !isNullOrUndefined(text) && !isCollapsed ? /*#__PURE__*/React.createElement("span", {
37
- className: "".concat(cssClasses.PREFIX, "-header-text")
37
+ className: `${cssClasses.PREFIX}-header-text`
38
38
  }, text) : null, children);
39
39
 
40
40
  if (typeof link === 'string') {
41
41
  wrappedChildren = /*#__PURE__*/React.createElement("a", Object.assign({
42
- className: "".concat(prefixCls, "-header-link"),
42
+ className: `${prefixCls}-header-link`,
43
43
  href: link
44
44
  }, linkOptions), wrappedChildren);
45
45
  }
@@ -19,6 +19,9 @@ export interface NavItemProps extends ItemProps, BaseProps {
19
19
  onClick?(clickItems: SelectedData): void;
20
20
  onMouseEnter?: React.MouseEventHandler<HTMLLIElement>;
21
21
  onMouseLeave?: React.MouseEventHandler<HTMLLIElement>;
22
+ selected?: boolean;
23
+ mode?: string;
24
+ isInSubNav?: boolean;
22
25
  }
23
26
  export interface SelectedData extends SelectedItemProps<NavItemProps> {
24
27
  text?: React.ReactNode;
@@ -28,6 +31,7 @@ export interface NavItemState {
28
31
  }
29
32
  export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
30
33
  static contextType: React.Context<NavContextType>;
34
+ static elementType: string;
31
35
  static propTypes: {
32
36
  text: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
33
37
  itemKey: PropTypes.Requireable<NonNullable<string | number>>;
@@ -1,3 +1,4 @@
1
+ import _isUndefined from "lodash/isUndefined";
1
2
  import _times from "lodash/times";
2
3
  import _noop from "lodash/noop";
3
4
 
@@ -15,7 +16,7 @@ import { cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/navigation
15
16
  import Tooltip from '../tooltip';
16
17
  import NavContext from './nav-context';
17
18
  import Dropdown from '../dropdown';
18
- const clsPrefix = "".concat(cssClasses.PREFIX, "-item");
19
+ const clsPrefix = `${cssClasses.PREFIX}-item`;
19
20
  export default class NavItem extends BaseComponent {
20
21
  constructor(props) {
21
22
  super(props);
@@ -97,21 +98,28 @@ export default class NavItem extends BaseComponent {
97
98
  notifyMouseLeave: function () {
98
99
  return _this.props.onMouseLeave(...arguments);
99
100
  },
100
- getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed) || false,
101
- getSelected: () => Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
102
- getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey))
101
+ getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed),
102
+ getSelected: () => this.props.selected || Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
103
+ getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey)),
104
+ getIsInSubNav: () => this.props.isInSubNav || Boolean(this.context && this.context.isInSubNav),
105
+ getMode: () => {
106
+ var _a, _b;
107
+
108
+ return (_a = this.props.mode) !== null && _a !== void 0 ? _a : (_b = this.context) === null || _b === void 0 ? void 0 : _b.mode;
109
+ }
103
110
  });
104
111
  }
105
112
 
106
113
  renderIcon(icon, pos) {
107
114
  let isToggleIcon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
108
115
  let key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
116
+ const mode = this.adapter.getMode();
109
117
 
110
118
  if (this.props.isSubNav) {
111
119
  return null;
112
120
  }
113
121
 
114
- if (!icon && this.context.mode === strings.MODE_HORIZONTAL) {
122
+ if (!icon && mode === strings.MODE_HORIZONTAL) {
115
123
  return null;
116
124
  }
117
125
 
@@ -121,9 +129,9 @@ export default class NavItem extends BaseComponent {
121
129
  iconSize = 'default';
122
130
  }
123
131
 
124
- const className = cls("".concat(clsPrefix, "-icon"), {
125
- ["".concat(clsPrefix, "-icon-toggle-").concat(this.context.toggleIconPosition)]: isToggleIcon,
126
- ["".concat(clsPrefix, "-icon-info")]: !isToggleIcon
132
+ const className = cls(`${clsPrefix}-icon`, {
133
+ [`${clsPrefix}-icon-toggle-${this.context.toggleIconPosition}`]: isToggleIcon,
134
+ [`${clsPrefix}-icon-info`]: !isToggleIcon
127
135
  });
128
136
  return /*#__PURE__*/React.createElement("i", {
129
137
  className: className,
@@ -149,16 +157,19 @@ export default class NavItem extends BaseComponent {
149
157
  linkOptions,
150
158
  disabled,
151
159
  level = 0,
152
- tabIndex
160
+ tabIndex,
161
+ isInSubNav: isInSubNavInProps,
162
+ mode: modeInProps
153
163
  } = this.props;
154
164
  const {
155
- mode,
156
- isInSubNav,
165
+ isInSubNav: isInSubNavInContext,
157
166
  prefixCls,
158
167
  limitIndent
159
168
  } = this.context;
160
169
  const isCollapsed = this.adapter.getIsCollapsed();
161
170
  const selected = this.adapter.getSelected();
171
+ const isInSubNav = this.adapter.getIsInSubNav();
172
+ const mode = this.adapter.getMode();
162
173
  let itemChildren = null;
163
174
 
164
175
  if (!isNullOrUndefined(children)) {
@@ -172,13 +183,13 @@ export default class NavItem extends BaseComponent {
172
183
  }
173
184
 
174
185
  itemChildren = /*#__PURE__*/React.createElement(React.Fragment, null, placeholderIcons, this.context.toggleIconPosition === strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIcon, strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'), icon || indent || isInSubNav ? this.renderIcon(icon, strings.ICON_POS_LEFT, false, 'key-position-left') : null, !isNullOrUndefined(text) ? /*#__PURE__*/React.createElement("span", {
175
- className: "".concat(cssClasses.PREFIX, "-item-text")
186
+ className: `${cssClasses.PREFIX}-item-text`
176
187
  }, text) : '', this.context.toggleIconPosition === strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIcon, strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'));
177
188
  }
178
189
 
179
190
  if (typeof link === 'string') {
180
191
  itemChildren = /*#__PURE__*/React.createElement("a", Object.assign({
181
- className: "".concat(prefixCls, "-item-link"),
192
+ className: `${prefixCls}-item-link`,
182
193
  href: link,
183
194
  tabIndex: -1
184
195
  }, linkOptions), itemChildren);
@@ -189,10 +200,10 @@ export default class NavItem extends BaseComponent {
189
200
  if (isInSubNav && (isCollapsed || mode === strings.MODE_HORIZONTAL)) {
190
201
  const popoverItemCls = cls({
191
202
  [clsPrefix]: true,
192
- ["".concat(clsPrefix, "-sub")]: isSubNav,
193
- ["".concat(clsPrefix, "-selected")]: selected,
194
- ["".concat(clsPrefix, "-collapsed")]: isCollapsed,
195
- ["".concat(clsPrefix, "-disabled")]: disabled
203
+ [`${clsPrefix}-sub`]: isSubNav,
204
+ [`${clsPrefix}-selected`]: selected,
205
+ [`${clsPrefix}-collapsed`]: isCollapsed,
206
+ [`${clsPrefix}-disabled`]: disabled
196
207
  });
197
208
  itemDom = /*#__PURE__*/React.createElement(Dropdown.Item, {
198
209
  selected: selected,
@@ -207,13 +218,17 @@ export default class NavItem extends BaseComponent {
207
218
  }, itemChildren);
208
219
  } else {
209
220
  // Items are divided into normal and sub-wrap
210
- const popoverItemCls = cls("".concat(className || "".concat(clsPrefix, "-normal")), {
221
+ const isFirstLayer = !_isUndefined(isInSubNavInProps) && !isInSubNavInProps || _isUndefined(isInSubNavInProps) && _isUndefined(isInSubNavInContext);
222
+
223
+ const popoverItemCls = cls(`${className || `${clsPrefix}-normal`}`, {
211
224
  [clsPrefix]: true,
212
- ["".concat(clsPrefix, "-sub")]: isSubNav,
213
- ["".concat(clsPrefix, "-selected")]: selected && !isSubNav,
214
- ["".concat(clsPrefix, "-collapsed")]: isCollapsed,
215
- ["".concat(clsPrefix, "-disabled")]: disabled,
216
- ["".concat(clsPrefix, "-has-link")]: typeof link === 'string'
225
+ [`${clsPrefix}-sub`]: isSubNav,
226
+ [`${clsPrefix}-selected`]: selected && !isSubNav,
227
+ [`${clsPrefix}-collapsed`]: isCollapsed,
228
+ [`${clsPrefix}-disabled`]: disabled,
229
+ [`${clsPrefix}-has-link`]: typeof link === 'string',
230
+ [`${cssClasses.PREFIX}-first-layer`]: isFirstLayer,
231
+ [`${clsPrefix}-horizontal`]: modeInProps === strings.MODE_HORIZONTAL
217
232
  });
218
233
  const ariaProps = {
219
234
  'aria-disabled': disabled
@@ -291,4 +306,5 @@ NavItem.defaultProps = {
291
306
  onMouseLeave: _noop,
292
307
  disabled: false,
293
308
  tabIndex: 0
294
- };
309
+ };
310
+ NavItem.elementType = 'Nav.Item';
@@ -22,12 +22,15 @@ export interface SubNavProps extends BaseProps {
22
22
  onMouseLeave?: React.MouseEventHandler<HTMLLIElement>;
23
23
  text?: React.ReactNode;
24
24
  toggleIcon?: ToggleIcon;
25
+ active?: boolean;
26
+ mode?: string;
25
27
  }
26
28
  export interface SubNavState {
27
29
  isHovered: boolean;
28
30
  }
29
31
  export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
30
32
  static contextType: React.Context<NavContextType>;
33
+ static elementType: string;
31
34
  static propTypes: {
32
35
  /**
33
36
  * Unique identification
@@ -70,6 +73,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
70
73
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
71
74
  disabled: PropTypes.Requireable<boolean>;
72
75
  level: PropTypes.Requireable<number>;
76
+ active: PropTypes.Requireable<boolean>;
73
77
  };
74
78
  static defaultProps: {
75
79
  level: number;
@@ -82,6 +86,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
82
86
  closed: JSX.Element;
83
87
  };
84
88
  disabled: boolean;
89
+ active: boolean;
85
90
  };
86
91
  titleRef: React.RefObject<HTMLDivElement>;
87
92
  itemRef: React.RefObject<HTMLLIElement>;