@douyinfe/semi-ui 2.27.0 → 2.27.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/css/semi.css +72 -0
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +2055 -1986
  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.js +36 -36
  35. package/lib/cjs/cascader/item.js +25 -25
  36. package/lib/cjs/checkbox/checkbox.js +14 -14
  37. package/lib/cjs/checkbox/checkboxGroup.js +4 -4
  38. package/lib/cjs/checkbox/checkboxInner.js +6 -6
  39. package/lib/cjs/collapse/item.js +9 -9
  40. package/lib/cjs/collapsible/index.js +3 -3
  41. package/lib/cjs/configProvider/index.js +1 -1
  42. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  43. package/lib/cjs/datePicker/dateInput.js +16 -16
  44. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  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.d.ts +1 -1
  50. package/lib/cjs/datePicker/monthsGrid.js +27 -27
  51. package/lib/cjs/datePicker/navigation.js +1 -1
  52. package/lib/cjs/datePicker/quickControl.js +14 -14
  53. package/lib/cjs/datePicker/yearAndMonth.js +4 -4
  54. package/lib/cjs/descriptions/index.js +3 -3
  55. package/lib/cjs/descriptions/item.js +5 -5
  56. package/lib/cjs/divider/index.js +7 -7
  57. package/lib/cjs/dropdown/dropdownDivider.js +1 -1
  58. package/lib/cjs/dropdown/dropdownItem.d.ts +4 -0
  59. package/lib/cjs/dropdown/dropdownItem.js +12 -8
  60. package/lib/cjs/dropdown/dropdownMenu.js +1 -1
  61. package/lib/cjs/dropdown/dropdownTitle.js +2 -2
  62. package/lib/cjs/dropdown/index.js +3 -3
  63. package/lib/cjs/empty/index.js +7 -7
  64. package/lib/cjs/form/arrayField.js +1 -1
  65. package/lib/cjs/form/baseForm.js +2 -2
  66. package/lib/cjs/form/errorMessage.js +1 -1
  67. package/lib/cjs/form/group.js +2 -2
  68. package/lib/cjs/form/hoc/withField.js +67 -47
  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.js +3 -3
  86. package/lib/cjs/layout/index.js +2 -2
  87. package/lib/cjs/list/index.js +11 -11
  88. package/lib/cjs/list/item.js +6 -6
  89. package/lib/cjs/modal/ConfirmModal.js +7 -7
  90. package/lib/cjs/modal/Modal.js +4 -4
  91. package/lib/cjs/modal/ModalContent.js +24 -24
  92. package/lib/cjs/modal/useModal/index.js +1 -1
  93. package/lib/cjs/navigation/CollapseButton.js +1 -1
  94. package/lib/cjs/navigation/Footer.js +2 -2
  95. package/lib/cjs/navigation/Header.js +5 -5
  96. package/lib/cjs/navigation/Item.d.ts +3 -0
  97. package/lib/cjs/navigation/Item.js +35 -21
  98. package/lib/cjs/navigation/SubNav.d.ts +4 -0
  99. package/lib/cjs/navigation/SubNav.js +58 -34
  100. package/lib/cjs/navigation/index.js +8 -8
  101. package/lib/cjs/notification/index.js +3 -3
  102. package/lib/cjs/notification/notice.js +12 -12
  103. package/lib/cjs/overflowList/index.js +6 -6
  104. package/lib/cjs/pagination/index.js +26 -26
  105. package/lib/cjs/popconfirm/index.js +9 -9
  106. package/lib/cjs/popover/index.js +2 -2
  107. package/lib/cjs/progress/index.js +14 -14
  108. package/lib/cjs/radio/radio.js +22 -22
  109. package/lib/cjs/radio/radioGroup.js +5 -5
  110. package/lib/cjs/radio/radioInner.js +7 -7
  111. package/lib/cjs/rating/index.js +5 -5
  112. package/lib/cjs/rating/item.js +11 -11
  113. package/lib/cjs/scrollList/index.js +5 -5
  114. package/lib/cjs/scrollList/scrollItem.js +13 -13
  115. package/lib/cjs/select/index.js +57 -57
  116. package/lib/cjs/select/option.js +7 -7
  117. package/lib/cjs/sideSheet/SideSheetContent.js +10 -10
  118. package/lib/cjs/sideSheet/index.js +7 -7
  119. package/lib/cjs/skeleton/index.js +1 -1
  120. package/lib/cjs/skeleton/item.js +4 -4
  121. package/lib/cjs/slider/index.js +28 -28
  122. package/lib/cjs/space/index.js +12 -12
  123. package/lib/cjs/spin/icon.js +2 -2
  124. package/lib/cjs/spin/index.js +6 -6
  125. package/lib/cjs/steps/basicStep.js +14 -14
  126. package/lib/cjs/steps/basicSteps.js +6 -6
  127. package/lib/cjs/steps/fillStep.js +10 -10
  128. package/lib/cjs/steps/fillSteps.js +4 -4
  129. package/lib/cjs/steps/navStep.js +5 -5
  130. package/lib/cjs/steps/navSteps.js +2 -2
  131. package/lib/cjs/table/Body/BaseRow.js +5 -5
  132. package/lib/cjs/table/Body/ExpandedRow.js +3 -3
  133. package/lib/cjs/table/Body/SectionRow.js +1 -1
  134. package/lib/cjs/table/Body/index.js +8 -8
  135. package/lib/cjs/table/ColGroup.js +2 -2
  136. package/lib/cjs/table/ColumnFilter.js +3 -3
  137. package/lib/cjs/table/ColumnSelection.js +2 -2
  138. package/lib/cjs/table/ColumnSorter.js +7 -7
  139. package/lib/cjs/table/CustomExpandIcon.js +2 -2
  140. package/lib/cjs/table/HeadTable.js +3 -3
  141. package/lib/cjs/table/Table.js +20 -20
  142. package/lib/cjs/table/TableCell.js +8 -8
  143. package/lib/cjs/table/TableHeader.js +1 -1
  144. package/lib/cjs/table/TableHeaderRow.js +8 -8
  145. package/lib/cjs/table/TablePagination.js +3 -3
  146. package/lib/cjs/tabs/TabBar.js +18 -18
  147. package/lib/cjs/tabs/TabPane.js +3 -3
  148. package/lib/cjs/tabs/index.js +2 -2
  149. package/lib/cjs/tag/group.js +5 -5
  150. package/lib/cjs/tag/index.js +13 -13
  151. package/lib/cjs/tagInput/index.js +33 -33
  152. package/lib/cjs/timePicker/Combobox.js +4 -4
  153. package/lib/cjs/timePicker/TimeInput.js +4 -4
  154. package/lib/cjs/timePicker/TimePicker.js +8 -8
  155. package/lib/cjs/timeline/index.js +8 -8
  156. package/lib/cjs/timeline/item.js +7 -7
  157. package/lib/cjs/toast/index.js +5 -5
  158. package/lib/cjs/toast/toast.js +9 -9
  159. package/lib/cjs/tooltip/index.js +7 -7
  160. package/lib/cjs/transfer/index.js +31 -31
  161. package/lib/cjs/tree/autoSizer.js +1 -1
  162. package/lib/cjs/tree/index.js +6 -6
  163. package/lib/cjs/tree/nodeList.js +1 -1
  164. package/lib/cjs/tree/treeNode.js +26 -26
  165. package/lib/cjs/treeSelect/index.js +41 -41
  166. package/lib/cjs/typography/base.js +14 -14
  167. package/lib/cjs/typography/copyable.js +3 -3
  168. package/lib/cjs/typography/paragraph.js +1 -1
  169. package/lib/cjs/typography/title.js +1 -1
  170. package/lib/cjs/typography/util.js +1 -1
  171. package/lib/cjs/upload/fileCard.js +32 -32
  172. package/lib/cjs/upload/index.js +37 -37
  173. package/lib/es/_portal/index.js +2 -2
  174. package/lib/es/_utils/index.js +3 -1
  175. package/lib/es/anchor/index.js +9 -9
  176. package/lib/es/anchor/link.js +8 -8
  177. package/lib/es/autoComplete/index.js +8 -4
  178. package/lib/es/autoComplete/option.js +7 -7
  179. package/lib/es/avatar/avatarGroup.js +7 -7
  180. package/lib/es/avatar/index.js +12 -12
  181. package/lib/es/badge/index.js +8 -8
  182. package/lib/es/banner/index.js +12 -12
  183. package/lib/es/breadcrumb/index.js +12 -12
  184. package/lib/es/breadcrumb/item.js +8 -8
  185. package/lib/es/button/Button.js +9 -9
  186. package/lib/es/button/buttonGroup.js +5 -5
  187. package/lib/es/button/splitButtonGroup.js +1 -1
  188. package/lib/es/calendar/dayCalendar.js +13 -13
  189. package/lib/es/calendar/dayCol.js +17 -17
  190. package/lib/es/calendar/monthCalendar.js +38 -38
  191. package/lib/es/calendar/rangeCalendar.js +27 -27
  192. package/lib/es/calendar/timeCol.js +6 -6
  193. package/lib/es/calendar/weekCalendar.js +27 -27
  194. package/lib/es/card/cardGroup.js +2 -2
  195. package/lib/es/card/index.js +16 -16
  196. package/lib/es/card/meta.js +5 -5
  197. package/lib/es/carousel/CarouselArrow.js +6 -6
  198. package/lib/es/carousel/CarouselIndicator.js +6 -6
  199. package/lib/es/carousel/index.js +12 -12
  200. package/lib/es/cascader/index.js +36 -36
  201. package/lib/es/cascader/item.js +25 -25
  202. package/lib/es/checkbox/checkbox.js +14 -14
  203. package/lib/es/checkbox/checkboxGroup.js +4 -4
  204. package/lib/es/checkbox/checkboxInner.js +6 -6
  205. package/lib/es/collapse/item.js +9 -9
  206. package/lib/es/collapsible/index.js +3 -3
  207. package/lib/es/configProvider/index.js +1 -1
  208. package/lib/es/datePicker/dateInput.d.ts +1 -1
  209. package/lib/es/datePicker/dateInput.js +16 -16
  210. package/lib/es/datePicker/datePicker.d.ts +1 -1
  211. package/lib/es/datePicker/datePicker.js +9 -9
  212. package/lib/es/datePicker/footer.js +1 -1
  213. package/lib/es/datePicker/index.js +1 -1
  214. package/lib/es/datePicker/month.js +2 -2
  215. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  216. package/lib/es/datePicker/monthsGrid.js +27 -27
  217. package/lib/es/datePicker/navigation.js +1 -1
  218. package/lib/es/datePicker/quickControl.js +14 -14
  219. package/lib/es/datePicker/yearAndMonth.js +4 -4
  220. package/lib/es/descriptions/index.js +3 -3
  221. package/lib/es/descriptions/item.js +5 -5
  222. package/lib/es/divider/index.js +7 -7
  223. package/lib/es/dropdown/dropdownDivider.js +1 -1
  224. package/lib/es/dropdown/dropdownItem.d.ts +4 -0
  225. package/lib/es/dropdown/dropdownItem.js +12 -8
  226. package/lib/es/dropdown/dropdownMenu.js +1 -1
  227. package/lib/es/dropdown/dropdownTitle.js +2 -2
  228. package/lib/es/dropdown/index.js +3 -3
  229. package/lib/es/empty/index.js +7 -7
  230. package/lib/es/form/arrayField.js +1 -1
  231. package/lib/es/form/baseForm.js +2 -2
  232. package/lib/es/form/errorMessage.js +1 -1
  233. package/lib/es/form/group.js +2 -2
  234. package/lib/es/form/hoc/withField.js +67 -47
  235. package/lib/es/form/label.js +9 -9
  236. package/lib/es/form/slot.js +5 -5
  237. package/lib/es/grid/col.js +11 -11
  238. package/lib/es/grid/row.js +4 -4
  239. package/lib/es/highlight/index.js +1 -1
  240. package/lib/es/iconButton/index.js +5 -5
  241. package/lib/es/image/image.js +10 -10
  242. package/lib/es/image/preview.js +3 -3
  243. package/lib/es/image/previewFooter.js +12 -12
  244. package/lib/es/image/previewHeader.js +3 -3
  245. package/lib/es/image/previewImage.js +7 -7
  246. package/lib/es/image/previewInner.js +7 -7
  247. package/lib/es/input/index.js +38 -38
  248. package/lib/es/input/inputGroup.js +7 -7
  249. package/lib/es/input/textarea.js +14 -14
  250. package/lib/es/inputNumber/index.js +11 -11
  251. package/lib/es/layout/Sider.js +3 -3
  252. package/lib/es/layout/index.js +2 -2
  253. package/lib/es/list/index.js +11 -11
  254. package/lib/es/list/item.js +6 -6
  255. package/lib/es/modal/ConfirmModal.js +7 -7
  256. package/lib/es/modal/Modal.js +4 -4
  257. package/lib/es/modal/ModalContent.js +24 -24
  258. package/lib/es/modal/useModal/index.js +1 -1
  259. package/lib/es/navigation/CollapseButton.js +1 -1
  260. package/lib/es/navigation/Footer.js +2 -2
  261. package/lib/es/navigation/Header.js +5 -5
  262. package/lib/es/navigation/Item.d.ts +3 -0
  263. package/lib/es/navigation/Item.js +35 -21
  264. package/lib/es/navigation/SubNav.d.ts +4 -0
  265. package/lib/es/navigation/SubNav.js +58 -34
  266. package/lib/es/navigation/index.js +8 -8
  267. package/lib/es/notification/index.js +3 -3
  268. package/lib/es/notification/notice.js +12 -12
  269. package/lib/es/overflowList/index.js +6 -6
  270. package/lib/es/pagination/index.js +26 -26
  271. package/lib/es/popconfirm/index.js +9 -9
  272. package/lib/es/popover/index.js +2 -2
  273. package/lib/es/progress/index.js +14 -14
  274. package/lib/es/radio/radio.js +22 -22
  275. package/lib/es/radio/radioGroup.js +5 -5
  276. package/lib/es/radio/radioInner.js +7 -7
  277. package/lib/es/rating/index.js +5 -5
  278. package/lib/es/rating/item.js +11 -11
  279. package/lib/es/scrollList/index.js +5 -5
  280. package/lib/es/scrollList/scrollItem.js +13 -13
  281. package/lib/es/select/index.js +57 -57
  282. package/lib/es/select/option.js +7 -7
  283. package/lib/es/sideSheet/SideSheetContent.js +10 -10
  284. package/lib/es/sideSheet/index.js +7 -7
  285. package/lib/es/skeleton/index.js +1 -1
  286. package/lib/es/skeleton/item.js +4 -4
  287. package/lib/es/slider/index.js +28 -28
  288. package/lib/es/space/index.js +12 -12
  289. package/lib/es/spin/icon.js +2 -2
  290. package/lib/es/spin/index.js +6 -6
  291. package/lib/es/steps/basicStep.js +14 -14
  292. package/lib/es/steps/basicSteps.js +6 -6
  293. package/lib/es/steps/fillStep.js +10 -10
  294. package/lib/es/steps/fillSteps.js +4 -4
  295. package/lib/es/steps/navStep.js +5 -5
  296. package/lib/es/steps/navSteps.js +2 -2
  297. package/lib/es/table/Body/BaseRow.js +5 -5
  298. package/lib/es/table/Body/ExpandedRow.js +3 -3
  299. package/lib/es/table/Body/SectionRow.js +1 -1
  300. package/lib/es/table/Body/index.js +8 -8
  301. package/lib/es/table/ColGroup.js +2 -2
  302. package/lib/es/table/ColumnFilter.js +3 -3
  303. package/lib/es/table/ColumnSelection.js +2 -2
  304. package/lib/es/table/ColumnSorter.js +7 -7
  305. package/lib/es/table/CustomExpandIcon.js +2 -2
  306. package/lib/es/table/HeadTable.js +3 -3
  307. package/lib/es/table/Table.js +20 -20
  308. package/lib/es/table/TableCell.js +8 -8
  309. package/lib/es/table/TableHeader.js +1 -1
  310. package/lib/es/table/TableHeaderRow.js +8 -8
  311. package/lib/es/table/TablePagination.js +3 -3
  312. package/lib/es/tabs/TabBar.js +18 -18
  313. package/lib/es/tabs/TabPane.js +3 -3
  314. package/lib/es/tabs/index.js +2 -2
  315. package/lib/es/tag/group.js +5 -5
  316. package/lib/es/tag/index.js +13 -13
  317. package/lib/es/tagInput/index.js +33 -33
  318. package/lib/es/timePicker/Combobox.js +4 -4
  319. package/lib/es/timePicker/TimeInput.js +4 -4
  320. package/lib/es/timePicker/TimePicker.js +8 -8
  321. package/lib/es/timeline/index.js +8 -8
  322. package/lib/es/timeline/item.js +7 -7
  323. package/lib/es/toast/index.js +5 -5
  324. package/lib/es/toast/toast.js +9 -9
  325. package/lib/es/tooltip/index.js +7 -7
  326. package/lib/es/transfer/index.js +31 -31
  327. package/lib/es/tree/autoSizer.js +1 -1
  328. package/lib/es/tree/index.js +6 -6
  329. package/lib/es/tree/nodeList.js +1 -1
  330. package/lib/es/tree/treeNode.js +26 -26
  331. package/lib/es/treeSelect/index.js +41 -41
  332. package/lib/es/typography/base.js +14 -14
  333. package/lib/es/typography/copyable.js +3 -3
  334. package/lib/es/typography/paragraph.js +1 -1
  335. package/lib/es/typography/title.js +1 -1
  336. package/lib/es/typography/util.js +1 -1
  337. package/lib/es/upload/fileCard.js +32 -32
  338. package/lib/es/upload/index.js +37 -37
  339. package/package.json +8 -8
@@ -86,7 +86,7 @@ class ModalContent extends _baseComponent.default {
86
86
  } = props;
87
87
 
88
88
  if (mask) {
89
- const className = (0, _classnames.default)("".concat(_constants.cssClasses.DIALOG, "-mask"), {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
89
+ const className = (0, _classnames.default)(`${_constants.cssClasses.DIALOG}-mask`, {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
90
90
  });
91
91
  return /*#__PURE__*/_react.default.createElement("div", Object.assign({
92
92
  key: "mask"
@@ -113,7 +113,7 @@ class ModalContent extends _baseComponent.default {
113
113
 
114
114
  closer = /*#__PURE__*/_react.default.createElement(_iconButton.default, {
115
115
  "aria-label": "close",
116
- className: "".concat(_constants.cssClasses.DIALOG, "-close"),
116
+ className: `${_constants.cssClasses.DIALOG}-close`,
117
117
  key: "close-btn",
118
118
  onClick: this.close,
119
119
  type: "tertiary",
@@ -131,7 +131,7 @@ class ModalContent extends _baseComponent.default {
131
131
  icon
132
132
  } = this.props;
133
133
  return icon ? /*#__PURE__*/_react.default.createElement("span", {
134
- className: "".concat(_constants.cssClasses.DIALOG, "-icon-wrapper"),
134
+ className: `${_constants.cssClasses.DIALOG}-icon-wrapper`,
135
135
  "x-semi-prop": "icon"
136
136
  }, icon) : null;
137
137
  };
@@ -147,11 +147,11 @@ class ModalContent extends _baseComponent.default {
147
147
  const closer = this.renderCloseBtn();
148
148
  const icon = this.renderIcon();
149
149
  return title === null || title === undefined ? null : /*#__PURE__*/_react.default.createElement("div", {
150
- className: "".concat(_constants.cssClasses.DIALOG, "-header")
150
+ className: `${_constants.cssClasses.DIALOG}-header`
151
151
  }, icon, /*#__PURE__*/_react.default.createElement(_typography.default.Title, {
152
152
  heading: 5,
153
- className: "".concat(_constants.cssClasses.DIALOG, "-title"),
154
- id: "".concat(_constants.cssClasses.DIALOG, "-title"),
153
+ className: `${_constants.cssClasses.DIALOG}-title`,
154
+ id: `${_constants.cssClasses.DIALOG}-title`,
155
155
  "x-semi-prop": "title"
156
156
  }, title), closer);
157
157
  };
@@ -162,19 +162,19 @@ class ModalContent extends _baseComponent.default {
162
162
  children,
163
163
  title
164
164
  } = this.props;
165
- const bodyCls = (0, _classnames.default)("".concat(_constants.cssClasses.DIALOG, "-body"), {
166
- ["".concat(_constants.cssClasses.DIALOG, "-withIcon")]: this.props.icon
165
+ const bodyCls = (0, _classnames.default)(`${_constants.cssClasses.DIALOG}-body`, {
166
+ [`${_constants.cssClasses.DIALOG}-withIcon`]: this.props.icon
167
167
  });
168
168
  const closer = this.renderCloseBtn();
169
169
  const icon = this.renderIcon();
170
170
  const hasHeader = title !== null && title !== undefined || 'header' in this.props;
171
171
  return hasHeader ? /*#__PURE__*/_react.default.createElement("div", {
172
172
  className: bodyCls,
173
- id: "".concat(_constants.cssClasses.DIALOG, "-body"),
173
+ id: `${_constants.cssClasses.DIALOG}-body`,
174
174
  style: bodyStyle,
175
175
  "x-semi-prop": "children"
176
176
  }, children) : /*#__PURE__*/_react.default.createElement("div", {
177
- className: "".concat(_constants.cssClasses.DIALOG, "-body-wrapper")
177
+ className: `${_constants.cssClasses.DIALOG}-body-wrapper`
178
178
  }, icon, /*#__PURE__*/_react.default.createElement("div", {
179
179
  className: bodyCls,
180
180
  style: bodyStyle,
@@ -186,9 +186,9 @@ class ModalContent extends _baseComponent.default {
186
186
  const props = __rest(this.props, []);
187
187
 
188
188
  const style = {};
189
- const digCls = (0, _classnames.default)("".concat(_constants.cssClasses.DIALOG), {
190
- ["".concat(_constants.cssClasses.DIALOG, "-centered")]: props.centered,
191
- ["".concat(_constants.cssClasses.DIALOG, "-").concat(props.size)]: props.size
189
+ const digCls = (0, _classnames.default)(`${_constants.cssClasses.DIALOG}`, {
190
+ [`${_constants.cssClasses.DIALOG}-centered`]: props.centered,
191
+ [`${_constants.cssClasses.DIALOG}-${props.size}`]: props.size
192
192
  });
193
193
 
194
194
  if (props.width) {
@@ -208,7 +208,7 @@ class ModalContent extends _baseComponent.default {
208
208
  const body = this.renderBody();
209
209
  const header = this.renderHeader();
210
210
  const footer = props.footer ? /*#__PURE__*/_react.default.createElement("div", {
211
- className: "".concat(_constants.cssClasses.DIALOG, "-footer"),
211
+ className: `${_constants.cssClasses.DIALOG}-footer`,
212
212
  "x-semi-prop": "footer"
213
213
  }, props.footer) : null;
214
214
 
@@ -225,11 +225,11 @@ class ModalContent extends _baseComponent.default {
225
225
  role: "dialog",
226
226
  ref: this.modalDialogRef,
227
227
  "aria-modal": "true",
228
- "aria-labelledby": "".concat(_constants.cssClasses.DIALOG, "-title"),
229
- "aria-describedby": "".concat(_constants.cssClasses.DIALOG, "-body"),
228
+ "aria-labelledby": `${_constants.cssClasses.DIALOG}-title`,
229
+ "aria-describedby": `${_constants.cssClasses.DIALOG}-body`,
230
230
  onAnimationEnd: props.onAnimationEnd,
231
- className: (0, _classnames.default)(["".concat(_constants.cssClasses.DIALOG, "-content"), props.contentClassName, {
232
- ["".concat(_constants.cssClasses.DIALOG, "-content-fullScreen")]: props.isFullScreen
231
+ className: (0, _classnames.default)([`${_constants.cssClasses.DIALOG}-content`, props.contentClassName, {
232
+ [`${_constants.cssClasses.DIALOG}-content-fullScreen`]: props.isFullScreen
233
233
  }])
234
234
  }, header, body, footer)); // return props.visible ? dialogElement : null;
235
235
 
@@ -242,7 +242,7 @@ class ModalContent extends _baseComponent.default {
242
242
  prevFocusElement: _FocusHandle.default.getActiveElement()
243
243
  };
244
244
  this.foundation = new _modalContentFoundation.default(this.adapter);
245
- this.dialogId = "dialog-".concat(uuid++);
245
+ this.dialogId = `dialog-${uuid++}`;
246
246
  this.modalDialogRef = /*#__PURE__*/_react.default.createRef();
247
247
  }
248
248
 
@@ -353,9 +353,9 @@ class ModalContent extends _baseComponent.default {
353
353
  direction
354
354
  } = this.context;
355
355
  const classList = (0, _classnames.default)(className, {
356
- ["".concat(_constants.cssClasses.DIALOG, "-popup")]: getPopupContainer && !maskFixed,
357
- ["".concat(_constants.cssClasses.DIALOG, "-fixed")]: maskFixed,
358
- ["".concat(_constants.cssClasses.DIALOG, "-rtl")]: direction === 'rtl'
356
+ [`${_constants.cssClasses.DIALOG}-popup`]: getPopupContainer && !maskFixed,
357
+ [`${_constants.cssClasses.DIALOG}-fixed`]: maskFixed,
358
+ [`${_constants.cssClasses.DIALOG}-rtl`]: direction === 'rtl'
359
359
  });
360
360
  const containerContext = getContainerContext();
361
361
 
@@ -364,8 +364,8 @@ class ModalContent extends _baseComponent.default {
364
364
  }, this.getMaskElement(), /*#__PURE__*/_react.default.createElement("div", Object.assign({
365
365
  role: "none",
366
366
  className: (0, _classnames.default)({
367
- ["".concat(_constants.cssClasses.DIALOG, "-wrap")]: true,
368
- ["".concat(_constants.cssClasses.DIALOG, "-wrap-center")]: this.props.centered
367
+ [`${_constants.cssClasses.DIALOG}-wrap`]: true,
368
+ [`${_constants.cssClasses.DIALOG}-wrap-center`]: this.props.centered
369
369
  }),
370
370
  onClick: maskClosable ? this.onMaskClick : null,
371
371
  onMouseUp: maskClosable ? this.onMaskMouseUp : null
@@ -41,7 +41,7 @@ function useModal() {
41
41
  let closeFunc;
42
42
 
43
43
  const modal = /*#__PURE__*/_react.default.createElement(_HookModal.default, {
44
- key: "semi-modal-".concat(uuid),
44
+ key: `semi-modal-${uuid}`,
45
45
  config: withFunc(config),
46
46
  ref: modalRef,
47
47
  afterClose: () => {
@@ -45,7 +45,7 @@ function CollapseButton(_ref) {
45
45
  }
46
46
 
47
47
  return /*#__PURE__*/_react.default.createElement("div", {
48
- className: "".concat(prefixCls, "-collapse-btn")
48
+ className: `${prefixCls}-collapse-btn`
49
49
  }, isCollapsed ? /*#__PURE__*/_react.default.createElement(_tooltip.default, {
50
50
  content: finalCollapseText,
51
51
  position: "right"
@@ -73,8 +73,8 @@ class NavFooter extends _react.PureComponent {
73
73
  children = this.renderCollapseButton();
74
74
  }
75
75
 
76
- const wrapCls = (0, _classnames.default)(className, "".concat(_constants.cssClasses.PREFIX, "-footer"), {
77
- ["".concat(_constants.cssClasses.PREFIX, "-footer-collapsed")]: isCollapsed
76
+ const wrapCls = (0, _classnames.default)(className, `${_constants.cssClasses.PREFIX}-footer`, {
77
+ [`${_constants.cssClasses.PREFIX}-footer-collapsed`]: isCollapsed
78
78
  });
79
79
  return /*#__PURE__*/_react.default.createElement("div", {
80
80
  className: wrapCls,
@@ -48,19 +48,19 @@ class NavHeader extends _react.PureComponent {
48
48
  const {
49
49
  isCollapsed
50
50
  } = this.context;
51
- const wrapCls = (0, _classnames.default)(className, "".concat(_constants.cssClasses.PREFIX, "-header"), {
52
- ["".concat(_constants.cssClasses.PREFIX, "-header-collapsed")]: isCollapsed
51
+ const wrapCls = (0, _classnames.default)(className, `${_constants.cssClasses.PREFIX}-header`, {
52
+ [`${_constants.cssClasses.PREFIX}-header-collapsed`]: isCollapsed
53
53
  });
54
54
 
55
55
  let wrappedChildren = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, logo ? /*#__PURE__*/_react.default.createElement("i", {
56
- className: "".concat(_constants.cssClasses.PREFIX, "-header-logo")
56
+ className: `${_constants.cssClasses.PREFIX}-header-logo`
57
57
  }, this.renderLogo(logo)) : null, !(0, _isNullOrUndefined.default)(text) && !isCollapsed ? /*#__PURE__*/_react.default.createElement("span", {
58
- className: "".concat(_constants.cssClasses.PREFIX, "-header-text")
58
+ className: `${_constants.cssClasses.PREFIX}-header-text`
59
59
  }, text) : null, children);
60
60
 
61
61
  if (typeof link === 'string') {
62
62
  wrappedChildren = /*#__PURE__*/_react.default.createElement("a", Object.assign({
63
- className: "".concat(prefixCls, "-header-link"),
63
+ className: `${prefixCls}-header-link`,
64
64
  href: link
65
65
  }, linkOptions), wrappedChildren);
66
66
  }
@@ -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;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
9
+
8
10
  var _times2 = _interopRequireDefault(require("lodash/times"));
9
11
 
10
12
  var _noop2 = _interopRequireDefault(require("lodash/noop"));
@@ -36,7 +38,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
36
38
  /* eslint-disable max-len */
37
39
 
38
40
  /* eslint-disable no-nested-ternary */
39
- const clsPrefix = "".concat(_constants.cssClasses.PREFIX, "-item");
41
+ const clsPrefix = `${_constants.cssClasses.PREFIX}-item`;
40
42
 
41
43
  class NavItem extends _baseComponent.default {
42
44
  constructor(props) {
@@ -129,11 +131,15 @@ class NavItem extends _baseComponent.default {
129
131
  let isToggleIcon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
130
132
  let key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
131
133
 
134
+ var _a;
135
+
136
+ const mode = (_a = this.props.mode) !== null && _a !== void 0 ? _a : this.context.mode;
137
+
132
138
  if (this.props.isSubNav) {
133
139
  return null;
134
140
  }
135
141
 
136
- if (!icon && this.context.mode === _constants.strings.MODE_HORIZONTAL) {
142
+ if (!icon && mode === _constants.strings.MODE_HORIZONTAL) {
137
143
  return null;
138
144
  }
139
145
 
@@ -143,9 +149,9 @@ class NavItem extends _baseComponent.default {
143
149
  iconSize = 'default';
144
150
  }
145
151
 
146
- const className = (0, _classnames.default)("".concat(clsPrefix, "-icon"), {
147
- ["".concat(clsPrefix, "-icon-toggle-").concat(this.context.toggleIconPosition)]: isToggleIcon,
148
- ["".concat(clsPrefix, "-icon-info")]: !isToggleIcon
152
+ const className = (0, _classnames.default)(`${clsPrefix}-icon`, {
153
+ [`${clsPrefix}-icon-toggle-${this.context.toggleIconPosition}`]: isToggleIcon,
154
+ [`${clsPrefix}-icon-info`]: !isToggleIcon
149
155
  });
150
156
  return /*#__PURE__*/_react.default.createElement("i", {
151
157
  className: className,
@@ -171,16 +177,21 @@ class NavItem extends _baseComponent.default {
171
177
  linkOptions,
172
178
  disabled,
173
179
  level = 0,
174
- tabIndex
180
+ tabIndex,
181
+ selected: selectedInProps,
182
+ isInSubNav: isInSubNavInProps,
183
+ mode: modeInProps
175
184
  } = this.props;
176
185
  const {
177
- mode,
178
- isInSubNav,
186
+ mode: modeInContext,
187
+ isInSubNav: isInSubNavInContext,
179
188
  prefixCls,
180
189
  limitIndent
181
190
  } = this.context;
182
191
  const isCollapsed = this.adapter.getIsCollapsed();
183
- const selected = this.adapter.getSelected();
192
+ const selected = selectedInProps !== null && selectedInProps !== void 0 ? selectedInProps : this.adapter.getSelected();
193
+ const isInSubNav = isInSubNavInProps !== null && isInSubNavInProps !== void 0 ? isInSubNavInProps : isInSubNavInContext;
194
+ const mode = modeInProps !== null && modeInProps !== void 0 ? modeInProps : modeInContext;
184
195
  let itemChildren = null;
185
196
 
186
197
  if (!(0, _isNullOrUndefined.default)(children)) {
@@ -194,13 +205,13 @@ class NavItem extends _baseComponent.default {
194
205
  }
195
206
 
196
207
  itemChildren = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, placeholderIcons, this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIcon, _constants.strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'), icon || indent || isInSubNav ? this.renderIcon(icon, _constants.strings.ICON_POS_LEFT, false, 'key-position-left') : null, !(0, _isNullOrUndefined.default)(text) ? /*#__PURE__*/_react.default.createElement("span", {
197
- className: "".concat(_constants.cssClasses.PREFIX, "-item-text")
208
+ className: `${_constants.cssClasses.PREFIX}-item-text`
198
209
  }, text) : '', this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIcon, _constants.strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'));
199
210
  }
200
211
 
201
212
  if (typeof link === 'string') {
202
213
  itemChildren = /*#__PURE__*/_react.default.createElement("a", Object.assign({
203
- className: "".concat(prefixCls, "-item-link"),
214
+ className: `${prefixCls}-item-link`,
204
215
  href: link,
205
216
  tabIndex: -1
206
217
  }, linkOptions), itemChildren);
@@ -211,10 +222,10 @@ class NavItem extends _baseComponent.default {
211
222
  if (isInSubNav && (isCollapsed || mode === _constants.strings.MODE_HORIZONTAL)) {
212
223
  const popoverItemCls = (0, _classnames.default)({
213
224
  [clsPrefix]: true,
214
- ["".concat(clsPrefix, "-sub")]: isSubNav,
215
- ["".concat(clsPrefix, "-selected")]: selected,
216
- ["".concat(clsPrefix, "-collapsed")]: isCollapsed,
217
- ["".concat(clsPrefix, "-disabled")]: disabled
225
+ [`${clsPrefix}-sub`]: isSubNav,
226
+ [`${clsPrefix}-selected`]: selected,
227
+ [`${clsPrefix}-collapsed`]: isCollapsed,
228
+ [`${clsPrefix}-disabled`]: disabled
218
229
  });
219
230
  itemDom = /*#__PURE__*/_react.default.createElement(_dropdown.default.Item, {
220
231
  selected: selected,
@@ -229,13 +240,16 @@ class NavItem extends _baseComponent.default {
229
240
  }, itemChildren);
230
241
  } else {
231
242
  // Items are divided into normal and sub-wrap
232
- const popoverItemCls = (0, _classnames.default)("".concat(className || "".concat(clsPrefix, "-normal")), {
243
+ const isFirstLayer = !(0, _isUndefined2.default)(isInSubNavInProps) && !isInSubNavInProps || (0, _isUndefined2.default)(isInSubNavInProps) && (0, _isUndefined2.default)(isInSubNavInContext);
244
+ const popoverItemCls = (0, _classnames.default)(`${className || `${clsPrefix}-normal`}`, {
233
245
  [clsPrefix]: true,
234
- ["".concat(clsPrefix, "-sub")]: isSubNav,
235
- ["".concat(clsPrefix, "-selected")]: selected && !isSubNav,
236
- ["".concat(clsPrefix, "-collapsed")]: isCollapsed,
237
- ["".concat(clsPrefix, "-disabled")]: disabled,
238
- ["".concat(clsPrefix, "-has-link")]: typeof link === 'string'
246
+ [`${clsPrefix}-sub`]: isSubNav,
247
+ [`${clsPrefix}-selected`]: selected && !isSubNav,
248
+ [`${clsPrefix}-collapsed`]: isCollapsed,
249
+ [`${clsPrefix}-disabled`]: disabled,
250
+ [`${clsPrefix}-has-link`]: typeof link === 'string',
251
+ [`${_constants.cssClasses.PREFIX}-first-layer`]: isFirstLayer,
252
+ [`${clsPrefix}-horizontal`]: modeInProps === _constants.strings.MODE_HORIZONTAL
239
253
  });
240
254
  const ariaProps = {
241
255
  'aria-disabled': disabled
@@ -22,6 +22,8 @@ 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;
@@ -70,6 +72,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
70
72
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
71
73
  disabled: PropTypes.Requireable<boolean>;
72
74
  level: PropTypes.Requireable<number>;
75
+ active: PropTypes.Requireable<boolean>;
73
76
  };
74
77
  static defaultProps: {
75
78
  level: number;
@@ -82,6 +85,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
82
85
  closed: JSX.Element;
83
86
  };
84
87
  disabled: boolean;
88
+ active: boolean;
85
89
  };
86
90
  titleRef: React.RefObject<HTMLDivElement>;
87
91
  itemRef: React.RefObject<HTMLLIElement>;
@@ -137,23 +137,30 @@ class SubNav extends _baseComponent.default {
137
137
  renderIcon(icon, pos, withTransition) {
138
138
  let isToggleIcon = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
139
139
  let key = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
140
+
141
+ var _a;
142
+
140
143
  const {
141
- prefixCls
144
+ prefixCls = _constants.cssClasses.PREFIX
142
145
  } = this.context;
146
+ const {
147
+ isOpen: isOpenInProps
148
+ } = this.props;
143
149
  let iconSize = 'large';
144
150
 
145
151
  if (pos === _constants.strings.ICON_POS_RIGHT) {
146
152
  iconSize = 'default';
147
153
  }
148
154
 
149
- const className = (0, _classnames.default)("".concat(prefixCls, "-item-icon"), {
150
- ["".concat(prefixCls, "-item-icon-toggle-").concat(this.context.toggleIconPosition)]: isToggleIcon,
151
- ["".concat(prefixCls, "-item-icon-info")]: !isToggleIcon
155
+ const isOpen = isOpenInProps ? isOpenInProps : this.adapter.getIsOpen();
156
+ const className = (0, _classnames.default)(`${prefixCls}-item-icon`, {
157
+ [`${prefixCls}-item-icon-toggle-${(_a = this.context.toggleIconPosition) !== null && _a !== void 0 ? _a : 'right'}`]: isToggleIcon,
158
+ [`${prefixCls}-item-icon-info`]: !isToggleIcon,
159
+ [`${prefixCls}-icon-rotate-${isOpen ? "180" : "0"}-no-transition`]: !withTransition && isToggleIcon
152
160
  });
153
- const isOpen = this.adapter.getIsOpen();
154
161
  const iconElem = /*#__PURE__*/_react.default.isValidElement(icon) ? withTransition ? /*#__PURE__*/_react.default.createElement(_cssAnimation.default, {
155
162
  animationState: isOpen ? "enter" : "leave",
156
- startClassName: "".concat(_constants.cssClasses.PREFIX, "-icon-rotate-").concat(isOpen ? "180" : "0")
163
+ startClassName: `${prefixCls}-icon-rotate-${isOpen ? "180" : "0"}`
157
164
  }, _ref => {
158
165
  let {
159
166
  animationClassName
@@ -180,20 +187,25 @@ class SubNav extends _baseComponent.default {
180
187
  itemKey,
181
188
  indent,
182
189
  disabled,
183
- level
190
+ level,
191
+ active,
192
+ mode: modeInProps
184
193
  } = this.props;
185
194
  const {
186
- mode,
195
+ mode: modeInContext,
187
196
  isInSubNav,
188
197
  isCollapsed,
189
- prefixCls,
198
+ prefixCls = _constants.cssClasses.PREFIX,
190
199
  subNavMotion,
191
200
  limitIndent
192
201
  } = this.context;
202
+ const mode = modeInProps !== null && modeInProps !== void 0 ? modeInProps : modeInContext;
193
203
  const isOpen = this.adapter.getIsOpen();
194
- const titleCls = (0, _classnames.default)("".concat(prefixCls, "-sub-title"), {
195
- ["".concat(prefixCls, "-sub-title-selected")]: this.adapter.getIsSelected(itemKey),
196
- ["".concat(prefixCls, "-sub-title-disabled")]: disabled
204
+ const titleCls = (0, _classnames.default)(`${prefixCls}-sub-title`, {
205
+ [`${prefixCls}-sub-title-selected`]: active ? active : this.adapter.getIsSelected(itemKey),
206
+ [`${prefixCls}-sub-title-disabled`]: disabled,
207
+ [`${prefixCls}-first-layer`]: !isInSubNav,
208
+ [`${prefixCls}-sub-title-horizontal`]: mode === _constants.strings.MODE_HORIZONTAL
197
209
  });
198
210
  let withTransition = false;
199
211
  let toggleIconType = '';
@@ -234,6 +246,7 @@ class SubNav extends _baseComponent.default {
234
246
  }
235
247
 
236
248
  const isIconChevronRightShow = !isCollapsed && isInSubNav && mode === _constants.strings.MODE_HORIZONTAL || isCollapsed && isInSubNav;
249
+ const toggleIconPositionLeft = this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_LEFT;
237
250
 
238
251
  const titleDiv = /*#__PURE__*/_react.default.createElement("div", {
239
252
  role: "menuitem",
@@ -245,10 +258,10 @@ class SubNav extends _baseComponent.default {
245
258
  onKeyPress: this.handleKeyPress,
246
259
  "aria-expanded": isOpen ? 'true' : 'false'
247
260
  }, /*#__PURE__*/_react.default.createElement("div", {
248
- className: "".concat(prefixCls, "-item-inner")
249
- }, placeholderIcons, this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== _constants.strings.MODE_HORIZONTAL ? this.renderIcon(icon, _constants.strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/_react.default.createElement("span", {
250
- className: "".concat(prefixCls, "-item-text")
251
- }, text), this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
261
+ className: `${prefixCls}-item-inner`
262
+ }, placeholderIcons, toggleIconPositionLeft && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== _constants.strings.MODE_HORIZONTAL ? this.renderIcon(icon, _constants.strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/_react.default.createElement("span", {
263
+ className: `${prefixCls}-item-text`
264
+ }, text), !toggleIconPositionLeft && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
252
265
 
253
266
  return titleDiv;
254
267
  }
@@ -256,19 +269,22 @@ class SubNav extends _baseComponent.default {
256
269
  renderSubUl() {
257
270
  const {
258
271
  children,
259
- maxHeight
272
+ maxHeight,
273
+ isOpen: isOpenInProps,
274
+ mode: modeInProps
260
275
  } = this.props;
261
276
  const {
262
277
  isCollapsed,
263
- mode,
278
+ mode: modeInContext,
264
279
  subNavMotion,
265
- prefixCls
280
+ prefixCls = _constants.cssClasses.PREFIX
266
281
  } = this.context;
267
- const isOpen = this.adapter.getIsOpen();
282
+ const isOpen = isOpenInProps ? isOpenInProps : this.adapter.getIsOpen();
283
+ const mode = modeInProps !== null && modeInProps !== void 0 ? modeInProps : modeInContext;
268
284
  const isHorizontal = mode === _constants.strings.MODE_HORIZONTAL;
269
- const subNavCls = (0, _classnames.default)("".concat(prefixCls, "-sub"), {
270
- ["".concat(prefixCls, "-sub-open")]: isOpen,
271
- ["".concat(prefixCls, "-sub-popover")]: isCollapsed || isHorizontal
285
+ const subNavCls = (0, _classnames.default)(`${prefixCls}-sub`, {
286
+ [`${prefixCls}-sub-open`]: isOpen,
287
+ [`${prefixCls}-sub-popover`]: isCollapsed || isHorizontal
272
288
  });
273
289
 
274
290
  const ulWithMotion = /*#__PURE__*/_react.default.createElement(_collapsible.default, {
@@ -292,21 +308,23 @@ class SubNav extends _baseComponent.default {
292
308
  const {
293
309
  children,
294
310
  dropdownStyle,
295
- disabled
311
+ disabled,
312
+ mode: modeInProps
296
313
  } = this.props;
297
314
  const {
298
- mode,
315
+ mode: modeInContext,
299
316
  isInSubNav,
300
317
  isCollapsed,
301
318
  subNavCloseDelay,
302
319
  subNavOpenDelay,
303
- prefixCls,
320
+ prefixCls = _constants.cssClasses.PREFIX,
304
321
  getPopupContainer
305
322
  } = this.context;
323
+ const mode = modeInProps !== null && modeInProps !== void 0 ? modeInProps : modeInContext;
306
324
  const isOpen = this.adapter.getIsOpen();
307
325
  const openKeysIsControlled = this.adapter.getOpenKeysIsControlled();
308
326
  const subNavCls = (0, _classnames.default)({
309
- ["".concat(prefixCls, "-popover")]: isCollapsed
327
+ [`${prefixCls}-popover`]: isCollapsed
310
328
  });
311
329
  const dropdownProps = {
312
330
  trigger: 'hover',
@@ -344,13 +362,15 @@ class SubNav extends _baseComponent.default {
344
362
  onMouseEnter,
345
363
  onMouseLeave,
346
364
  disabled,
347
- text
365
+ text,
366
+ mode: modeInProps
348
367
  } = this.props;
349
368
  const {
350
- mode,
369
+ mode: modeInContext,
351
370
  isCollapsed,
352
- prefixCls
371
+ prefixCls = _constants.cssClasses.PREFIX
353
372
  } = this.context;
373
+ const mode = modeInProps !== null && modeInProps !== void 0 ? modeInProps : modeInContext;
354
374
  let titleDiv = this.renderTitleDiv();
355
375
  const subUl = this.renderSubUl(); // When mode=horizontal, it is displayed in Dropdown
356
376
 
@@ -364,13 +384,15 @@ class SubNav extends _baseComponent.default {
364
384
  itemKey: itemKey,
365
385
  forwardRef: this.setItemRef,
366
386
  isCollapsed: isCollapsed,
367
- className: "".concat(prefixCls, "-sub-wrap"),
387
+ className: `${prefixCls}-sub-wrap`,
368
388
  onMouseEnter: onMouseEnter,
369
389
  onMouseLeave: onMouseLeave,
370
390
  disabled: disabled,
371
- text: text
391
+ text: text,
392
+ mode: mode
372
393
  }, /*#__PURE__*/_react.default.createElement(_navContext.default.Provider, {
373
394
  value: Object.assign(Object.assign({}, this.context), {
395
+ mode: mode,
374
396
  isInSubNav: true
375
397
  })
376
398
  }, titleDiv, subUl));
@@ -433,7 +455,8 @@ SubNav.propTypes = {
433
455
  onMouseLeave: _propTypes.default.func,
434
456
  // Is it disabled
435
457
  disabled: _propTypes.default.bool,
436
- level: _propTypes.default.number
458
+ level: _propTypes.default.number,
459
+ active: _propTypes.default.bool
437
460
  };
438
461
  SubNav.defaultProps = {
439
462
  level: 0,
@@ -449,5 +472,6 @@ SubNav.defaultProps = {
449
472
  "aria-hidden": true
450
473
  })
451
474
  },
452
- disabled: false
475
+ disabled: false,
476
+ active: false
453
477
  };
@@ -301,12 +301,12 @@ class Nav extends _baseComponent.default {
301
301
  }
302
302
 
303
303
  const finalCls = (0, _classnames.default)(prefixCls, className, {
304
- ["".concat(prefixCls, "-collapsed")]: isCollapsed,
305
- ["".concat(prefixCls, "-horizontal")]: mode === 'horizontal',
306
- ["".concat(prefixCls, "-vertical")]: mode === 'vertical'
304
+ [`${prefixCls}-collapsed`]: isCollapsed,
305
+ [`${prefixCls}-horizontal`]: mode === 'horizontal',
306
+ [`${prefixCls}-vertical`]: mode === 'vertical'
307
307
  });
308
- const headerListOuterCls = (0, _classnames.default)("".concat(prefixCls, "-header-list-outer"), {
309
- ["".concat(prefixCls, "-header-list-outer-collapsed")]: isCollapsed
308
+ const headerListOuterCls = (0, _classnames.default)(`${prefixCls}-header-list-outer`, {
309
+ [`${prefixCls}-header-list-outer-collapsed`]: isCollapsed
310
310
  });
311
311
 
312
312
  if (this.itemsChanged) {
@@ -351,16 +351,16 @@ class Nav extends _baseComponent.default {
351
351
  className: finalCls,
352
352
  style: finalStyle
353
353
  }, /*#__PURE__*/_react.default.createElement("div", {
354
- className: "".concat(prefixCls, "-inner")
354
+ className: `${prefixCls}-inner`
355
355
  }, /*#__PURE__*/_react.default.createElement("div", {
356
356
  className: headerListOuterCls
357
357
  }, headers, /*#__PURE__*/_react.default.createElement("div", {
358
358
  style: bodyStyle,
359
- className: "".concat(prefixCls, "-list-wrapper")
359
+ className: `${prefixCls}-list-wrapper`
360
360
  }, /*#__PURE__*/_react.default.createElement("ul", {
361
361
  role: "menu",
362
362
  "aria-orientation": mode,
363
- className: "".concat(prefixCls, "-list")
363
+ className: `${prefixCls}-list`
364
364
  }, this.adapter.getCache('itemElems'), children))), footers))));
365
365
  }
366
366
 
@@ -78,7 +78,7 @@ class NotificationList extends _baseComponent.default {
78
78
  return /*#__PURE__*/_react.default.createElement(_cssAnimation.default, {
79
79
  key: notice.id,
80
80
  animationState: isRemoved ? "leave" : "enter",
81
- startClassName: "".concat(_constants.cssClasses.NOTICE, "-animation-").concat(isRemoved ? "hide" : "show", "_").concat(position)
81
+ startClassName: `${_constants.cssClasses.NOTICE}-animation-${isRemoved ? "hide" : "show"}_${position}`
82
82
  }, _ref => {
83
83
  let {
84
84
  animationClassName,
@@ -214,7 +214,7 @@ class NotificationList extends _baseComponent.default {
214
214
  static destroyAll() {
215
215
  if (ref) {
216
216
  ref.destroyAll();
217
- const wrapper = document.querySelector("#".concat(this.wrapperId));
217
+ const wrapper = document.querySelector(`#${this.wrapperId}`);
218
218
 
219
219
  _reactDom.default.unmountComponentAtNode(wrapper);
220
220
 
@@ -249,7 +249,7 @@ class NotificationList extends _baseComponent.default {
249
249
  ['top', 'left', 'bottom', 'right'].forEach(pos => {
250
250
  if (pos in noticeInstance) {
251
251
  const val = noticeInstance[pos];
252
- style[pos] = typeof val === 'number' ? "".concat(val, "px") : val;
252
+ style[pos] = typeof val === 'number' ? `${val}px` : val;
253
253
  }
254
254
  });
255
255
  return style;