@hi-ui/hiui 2.15.11 → 2.15.12

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 (344) hide show
  1. package/es/_util/SwitchVersion.js +40 -0
  2. package/es/_util/depreactedPropsCompat.js +58 -0
  3. package/es/_util/index.js +31 -0
  4. package/es/_util/warning.js +2 -2
  5. package/es/alert/Alert.js +126 -0
  6. package/es/alert/__tests__/index.test.js +84 -0
  7. package/es/alert/index.js +6 -147
  8. package/es/alert/style/index.css +1 -1
  9. package/es/badge/Badge.js +82 -0
  10. package/es/badge/__tests__/index.test.js +82 -0
  11. package/es/badge/index.js +9 -87
  12. package/es/badge/style/index.css +1 -1
  13. package/es/badge/style/index.js +0 -0
  14. package/es/breadcrumb/__tests__/index.test.js +61 -0
  15. package/es/breadcrumb/index.js +85 -0
  16. package/es/breadcrumb/style/index.css +1 -0
  17. package/es/button/Button.js +62 -60
  18. package/es/button/ButtonGroup.js +24 -40
  19. package/es/button/IconLoading.js +6 -6
  20. package/es/button/__tests__/index.test.js +221 -0
  21. package/es/button/index.js +3 -2
  22. package/es/button/style/index.css +1 -1
  23. package/es/card/__tests__/index.test.js +179 -0
  24. package/es/card/index.js +61 -57
  25. package/es/card/style/index.css +1 -1
  26. package/es/carousel/__tests__/index.test.js +104 -0
  27. package/es/carousel/index.js +219 -0
  28. package/es/carousel/style/index.css +1 -0
  29. package/es/carousel/style/index.js +3 -0
  30. package/es/cascader/Cascader.js +190 -133
  31. package/es/cascader/Menu.js +168 -0
  32. package/es/cascader/__tests__/index.test.js +392 -0
  33. package/es/cascader/index.js +5 -2
  34. package/es/cascader/style/cascader.css +1 -1
  35. package/es/cascader/style/menu.css +1 -1
  36. package/es/checkbox/Checkbox.js +136 -0
  37. package/es/checkbox/Group.js +194 -0
  38. package/es/checkbox/__tests__/index.test.js +226 -0
  39. package/es/checkbox/checkbox-legacy/Base.js +212 -0
  40. package/es/checkbox/checkbox-legacy/CheckBox.js +157 -0
  41. package/es/checkbox/checkbox-legacy/index.js +15 -0
  42. package/es/checkbox/checkbox-legacy/style/index.css +1 -0
  43. package/es/checkbox/checkbox-legacy/style/index.js +3 -0
  44. package/es/checkbox/index.js +13 -4
  45. package/es/checkbox/style/index.css +1 -1
  46. package/es/collapse/__tests__/index.test.js +111 -0
  47. package/es/collapse/index.js +88 -110
  48. package/es/collapse/style/index.css +1 -1
  49. package/es/confirm/index.js +39 -60
  50. package/es/context/index.js +45 -51
  51. package/es/counter/Counter.js +339 -0
  52. package/es/counter/__tests__/index.test.js +134 -0
  53. package/es/counter/counter-legacy/index.js +267 -0
  54. package/es/counter/index.js +6 -270
  55. package/es/counter/style/index.css +1 -1
  56. package/es/date-picker/BasePicker.js +380 -302
  57. package/es/date-picker/Calender.js +326 -98
  58. package/es/date-picker/DatePanel.js +194 -213
  59. package/es/date-picker/DatePicker.js +143 -47
  60. package/es/date-picker/DateRangePanel.js +272 -208
  61. package/es/date-picker/Modal.js +18 -32
  62. package/es/date-picker/Time.js +231 -345
  63. package/es/date-picker/TimeList.js +246 -0
  64. package/es/date-picker/TimePanel.js +28 -41
  65. package/es/date-picker/TimePeriodPanel.js +27 -46
  66. package/es/date-picker/TimePicker.js +44 -46
  67. package/es/date-picker/TimeRangePanel.js +33 -51
  68. package/es/date-picker/Type.js +5 -1
  69. package/es/date-picker/WeekRangePanel.js +254 -175
  70. package/es/date-picker/YMRangePanel.js +364 -0
  71. package/es/date-picker/__tests__/index.test.js +956 -0
  72. package/es/date-picker/constants.js +14 -28
  73. package/es/date-picker/dateUtil.js +221 -52
  74. package/es/date-picker/datepicker-legacy/BasePicker.js +511 -0
  75. package/es/date-picker/datepicker-legacy/Calender.js +422 -0
  76. package/es/date-picker/datepicker-legacy/DatePanel.js +455 -0
  77. package/es/date-picker/datepicker-legacy/DatePicker.js +103 -0
  78. package/es/date-picker/datepicker-legacy/DateRangePanel.js +488 -0
  79. package/es/date-picker/datepicker-legacy/Modal.js +67 -0
  80. package/es/date-picker/datepicker-legacy/Time.js +405 -0
  81. package/es/date-picker/datepicker-legacy/TimePanel.js +85 -0
  82. package/es/date-picker/datepicker-legacy/TimePeriodPanel.js +118 -0
  83. package/es/date-picker/datepicker-legacy/TimePicker.js +78 -0
  84. package/es/date-picker/datepicker-legacy/TimeRangePanel.js +90 -0
  85. package/es/date-picker/datepicker-legacy/Type.js +31 -0
  86. package/es/date-picker/datepicker-legacy/WeekRangePanel.js +337 -0
  87. package/es/date-picker/datepicker-legacy/constants.js +79 -0
  88. package/es/date-picker/datepicker-legacy/dateUtil.js +258 -0
  89. package/es/date-picker/datepicker-legacy/index.js +15 -0
  90. package/es/date-picker/datepicker-legacy/local.js +11 -0
  91. package/es/date-picker/datepicker-legacy/style/index.css +1 -0
  92. package/es/date-picker/datepicker-legacy/style/index.js +3 -0
  93. package/es/date-picker/datepicker-legacy/style/timepicker.css +1 -0
  94. package/es/date-picker/datepicker-legacy/util.js +60 -0
  95. package/es/date-picker/index.js +5 -2
  96. package/es/date-picker/style/index.css +1 -1
  97. package/es/date-picker/toLunar.js +172 -0
  98. package/es/date-picker/util.js +101 -8
  99. package/es/dropdown/Dropdown.js +191 -203
  100. package/es/dropdown/DropdownButton.js +102 -0
  101. package/es/dropdown/DropdownMenu.js +107 -0
  102. package/es/dropdown/DropdownMenuItem.js +172 -0
  103. package/es/dropdown/__tests__/index.test.js +313 -0
  104. package/es/dropdown/index.js +69 -4
  105. package/es/dropdown/style/index.css +1 -1
  106. package/es/dropdown/style/index.js +0 -2
  107. package/es/dropdown/{__test__ → tests}/index.test.js +7 -7
  108. package/es/dropdown/utils.js +35 -0
  109. package/es/ficon/index.js +16 -30
  110. package/es/form/Form.js +176 -0
  111. package/es/form/{item.js → Item.js} +52 -60
  112. package/es/form/__tests__/index.test.js +571 -0
  113. package/es/form/index.js +6 -171
  114. package/es/form/style/index.css +1 -1
  115. package/es/grid/__tests__/index.test.js +100 -0
  116. package/es/grid/index.js +36 -56
  117. package/es/icon/index.js +23 -38
  118. package/es/index.js +61 -9
  119. package/es/input/Input.js +400 -0
  120. package/es/input/__tests__/index.test.js +376 -0
  121. package/es/input/index.js +26 -347
  122. package/es/input/input-legacy/index.js +341 -0
  123. package/es/input/input-legacy/util.js +176 -0
  124. package/es/input/style/index.css +1 -1
  125. package/es/input/util.js +26 -18
  126. package/es/lib/withDragDropContext.js +2 -2
  127. package/es/loading/Loading.js +173 -0
  128. package/es/loading/__tests__/index.test.js +110 -0
  129. package/es/loading/index.js +5 -129
  130. package/es/loading/style/index.css +0 -0
  131. package/es/loading/style/index.js +0 -0
  132. package/es/locales/en-US.js +45 -9
  133. package/es/locales/index.js +16 -2
  134. package/es/locales/zh-CN.js +46 -10
  135. package/es/locales/zh-Hant-HK.js +123 -0
  136. package/es/locales/zh-Hant-TW.js +125 -0
  137. package/es/menu/Item.js +34 -51
  138. package/es/menu/Menu.js +414 -0
  139. package/es/menu/SubMenu.js +63 -90
  140. package/es/menu/Title.js +37 -51
  141. package/es/menu/__tests__/index.test.js +274 -0
  142. package/es/menu/index.js +12 -419
  143. package/es/menu/style/index.css +1 -1
  144. package/es/message/__tests__/index.test.js +71 -0
  145. package/es/message/index.js +58 -0
  146. package/es/message/style/index.css +1 -0
  147. package/es/message/style/index.js +5 -0
  148. package/es/modal/__tests__/index.test.js +178 -0
  149. package/es/modal/index.js +85 -77
  150. package/es/modal/style/index.css +1 -1
  151. package/es/nav-menu/NavMenu.js +44 -61
  152. package/es/nav-menu/__test__/index.test.js +8 -8
  153. package/es/nav-menu/__tests__/index.test.js +23 -0
  154. package/es/nav-menu/index.js +2 -2
  155. package/es/notice/Notice.js +136 -0
  156. package/es/notice/NoticeContainer.js +107 -0
  157. package/es/notice/__tests__/index.test.js +174 -0
  158. package/es/notice/index.js +66 -0
  159. package/es/notice/style/index.css +1 -0
  160. package/es/notice/style/index.js +5 -0
  161. package/es/notification/HandleNotification/index.js +216 -0
  162. package/es/notification/HandleNotification/style/index.css +1 -0
  163. package/es/notification/HandleNotification/style/index.js +5 -0
  164. package/es/notification/__tests__/index.test.js +114 -0
  165. package/es/notification/index.js +68 -231
  166. package/es/notification/style/index.css +1 -1
  167. package/es/notification/style/index.js +0 -0
  168. package/es/pagination/Pager.js +7 -9
  169. package/es/pagination/Pagination.js +134 -133
  170. package/es/pagination/__tests__/index.test.js +244 -0
  171. package/es/pagination/index.js +9 -8
  172. package/es/pagination/style/index.css +1 -1
  173. package/es/panel/index.js +28 -46
  174. package/es/popover/__test__/index.test.js +10 -10
  175. package/es/popover/__tests__/index.test.js +152 -0
  176. package/es/popover/index.js +77 -83
  177. package/es/popper/index.js +68 -64
  178. package/es/popper/style/index.css +1 -1
  179. package/es/preview/index.js +529 -0
  180. package/es/preview/style/index.css +1 -0
  181. package/es/preview/style/index.js +3 -0
  182. package/es/progress/BarProgress.js +107 -43
  183. package/es/progress/CircleProgress.js +13 -14
  184. package/es/progress/DashboardProgress.js +11 -13
  185. package/es/progress/Progress.js +102 -0
  186. package/es/progress/__tests__/index.test.js +131 -0
  187. package/es/progress/index.js +8 -100
  188. package/es/progress/style/index.css +1 -1
  189. package/es/radio/Group.js +199 -0
  190. package/es/radio/Radio.js +147 -0
  191. package/es/radio/__tests__/index.test.js +127 -0
  192. package/es/radio/index.js +10 -216
  193. package/es/radio/{__test__ → radio-legacy/__test__}/index.test.js +13 -13
  194. package/es/radio/radio-legacy/index.js +214 -0
  195. package/es/radio/radio-legacy/style/index.css +1 -0
  196. package/es/radio/radio-legacy/style/index.js +3 -0
  197. package/es/radio/style/index.css +1 -1
  198. package/es/rate/Icons.js +70 -70
  199. package/es/rate/Rate.js +75 -108
  200. package/es/rate/__tests__/index.test.js +124 -0
  201. package/es/rate/index.js +5 -2
  202. package/es/rate/style/index.css +1 -1
  203. package/es/select/Select.js +330 -265
  204. package/es/select/SelectDropdown.js +223 -79
  205. package/es/select/SelectInput.js +120 -91
  206. package/es/select/__tests__/index.test.js +505 -0
  207. package/es/select/index.js +6 -4
  208. package/es/select/select-legacy/Option.js +78 -0
  209. package/es/select/select-legacy/Select.js +702 -0
  210. package/es/select/select-legacy/SelectDropdown.js +157 -0
  211. package/es/select/select-legacy/SelectInput.js +308 -0
  212. package/es/select/select-legacy/common.js +19 -0
  213. package/es/select/select-legacy/index.js +16 -0
  214. package/es/select/style/select-dropdown.css +1 -1
  215. package/es/select/style/select-input.css +1 -1
  216. package/es/stepper/Stepper.js +147 -0
  217. package/es/stepper/__tests__/index.test.js +161 -0
  218. package/es/stepper/index.js +21 -127
  219. package/es/stepper/style/index.css +1 -1
  220. package/es/style/icon/diyIcon.css +1 -1
  221. package/es/style/icon/index.css +1 -1
  222. package/es/switch/__tests__/index.test.js +68 -0
  223. package/es/switch/index.js +26 -46
  224. package/es/switch/style/index.css +1 -1
  225. package/es/table/Body.js +294 -0
  226. package/es/table/ClickOuterside.js +95 -0
  227. package/es/table/Footer.js +171 -0
  228. package/es/table/Header.js +320 -0
  229. package/es/table/TableContent.js +101 -0
  230. package/es/table/__tests__/index.test.js +129 -0
  231. package/es/table/checkbox/index.js +36 -47
  232. package/es/table/checkbox/style/index.css +1 -0
  233. package/es/table/checkbox/style/index.js +3 -0
  234. package/es/table/index.js +269 -314
  235. package/es/table/menu/index.js +34 -44
  236. package/es/table/prefix.js +2 -2
  237. package/es/table/style/Table.css +1 -1
  238. package/es/table/style/index.css +1 -1
  239. package/es/tabs/ItemDropdown.js +45 -65
  240. package/es/tabs/TabPane.js +26 -44
  241. package/es/tabs/Tabs.js +110 -111
  242. package/es/tabs/__tests__/index.test.js +329 -0
  243. package/es/tabs/index.js +9 -3
  244. package/es/tabs/style/index.css +1 -1
  245. package/es/tabs/tabs-legacy/ItemDropdown.js +162 -0
  246. package/es/tabs/tabs-legacy/TabPane.js +70 -0
  247. package/es/tabs/tabs-legacy/Tabs.js +291 -0
  248. package/es/tabs/tabs-legacy/index.js +18 -0
  249. package/es/tabs/tabs-legacy/style/index.css +1 -0
  250. package/es/tabs/tabs-legacy/style/index.js +3 -0
  251. package/es/tag/__tests__/index.test.js +46 -0
  252. package/es/tag/index.js +86 -0
  253. package/es/tag/style/index.css +1 -0
  254. package/es/tag/style/index.js +3 -0
  255. package/es/timeline/__tests__/index.test.js +198 -0
  256. package/es/timeline/index.js +206 -136
  257. package/es/timeline/style/index.css +1 -1
  258. package/es/tooltip/__tests__/index.test.js +166 -0
  259. package/es/tooltip/index.js +93 -52
  260. package/es/tooltip/style/index.css +1 -1
  261. package/es/transfer/Item.js +73 -71
  262. package/es/transfer/Transfer.js +558 -0
  263. package/es/transfer/__tests__/index.test.js +210 -0
  264. package/es/transfer/index.js +4 -443
  265. package/es/transfer/style/index.css +1 -1
  266. package/es/tree/IconLoading.js +38 -0
  267. package/es/tree/Tree.js +94 -111
  268. package/es/tree/TreeDivider.js +6 -6
  269. package/es/tree/TreeItem.js +217 -123
  270. package/es/tree/TreeNode.js +472 -333
  271. package/es/tree/__tests__/index.test.js +599 -0
  272. package/es/tree/index.js +9 -2
  273. package/es/tree/style/index.css +1 -1
  274. package/es/tree/tree-legacy/Tree.js +330 -0
  275. package/es/tree/tree-legacy/TreeDivider.js +25 -0
  276. package/es/tree/tree-legacy/TreeItem.js +326 -0
  277. package/es/tree/tree-legacy/TreeNode.js +711 -0
  278. package/es/tree/tree-legacy/index.js +13 -0
  279. package/es/tree/tree-legacy/style/index.css +1 -0
  280. package/es/tree/tree-legacy/style/index.js +3 -0
  281. package/es/tree/tree-legacy/util.js +434 -0
  282. package/es/tree/util.js +8 -256
  283. package/es/upload/Upload.js +292 -200
  284. package/es/upload/UploadAvatar.js +61 -79
  285. package/es/upload/UploadClick.js +62 -60
  286. package/es/upload/UploadDrag.js +63 -66
  287. package/es/upload/UploadPhoto.js +86 -75
  288. package/es/upload/UploadPictureCard.js +53 -60
  289. package/es/upload/__tests__/index.test.js +760 -0
  290. package/es/upload/index.js +8 -71
  291. package/es/upload/main.js +83 -0
  292. package/es/upload/style/index.css +1 -1
  293. package/es/upload/tool.js +0 -1
  294. package/es/upload/{Preview.js → upload-legacy/Preview.js} +48 -62
  295. package/es/upload/upload-legacy/Upload.js +431 -0
  296. package/es/upload/upload-legacy/UploadAvatar.js +318 -0
  297. package/es/upload/upload-legacy/UploadClick.js +121 -0
  298. package/es/upload/upload-legacy/UploadDrag.js +176 -0
  299. package/es/upload/upload-legacy/UploadPhoto.js +179 -0
  300. package/es/upload/upload-legacy/UploadPictureCard.js +122 -0
  301. package/es/upload/upload-legacy/index.js +67 -0
  302. package/es/upload/upload-legacy/style/index.css +1 -0
  303. package/es/upload/upload-legacy/style/index.js +5 -0
  304. package/es/upload/upload-legacy/tool.js +84 -0
  305. package/es/watermark/index.js +97 -0
  306. package/es/watermark/watermark.js +263 -0
  307. package/package.json +1 -1
  308. package/es/alert/__test__/index.test.js +0 -67
  309. package/es/button/__test__/index.test.js +0 -29
  310. package/es/cascader/__test__/index.test.js +0 -283
  311. package/es/cascader/menu.js +0 -155
  312. package/es/checkbox/Base.js +0 -205
  313. package/es/checkbox/CheckBox.js +0 -185
  314. package/es/collapse/__test__/index.test.js +0 -58
  315. package/es/counter/__test__/index.test.js +0 -52
  316. package/es/menu/ItemGroup.js +0 -81
  317. package/es/modal/__test__/index.test.js +0 -123
  318. package/es/notification/__test__/index.test.js +0 -56
  319. package/es/pagination/__test__/index.test.js +0 -140
  320. package/es/rate/__test__/index.test.js +0 -54
  321. package/es/select/Option.js +0 -93
  322. package/es/select/__test__/index.test.js +0 -429
  323. package/es/style/color/colors.css +0 -0
  324. package/es/style/index.css +0 -0
  325. package/es/style/mixins/colors.css +0 -0
  326. package/es/style/mixins/index.css +0 -0
  327. package/es/style/theme/dark.css +0 -0
  328. package/es/style/theme/default.css +0 -0
  329. package/es/switch/__test__/index.test.js +0 -39
  330. package/es/table/__test__/index.test.js +0 -73
  331. package/es/table/body.js +0 -318
  332. package/es/table/clickOuterside.js +0 -115
  333. package/es/table/footer.js +0 -196
  334. package/es/table/header.js +0 -337
  335. package/es/table/pover.js +0 -154
  336. package/es/table/tableContent.js +0 -120
  337. package/es/timeline/__test__/index.test.js +0 -49
  338. package/es/timeline/foldingItem.js +0 -82
  339. package/es/tooltip/__test__/index.test.js +0 -67
  340. package/es/transfer/__test__/index.test.js +0 -11
  341. /package/es/{style → breadcrumb/style}/index.js +0 -0
  342. /package/es/checkbox/{common.js → checkbox-legacy/common.js} +0 -0
  343. /package/es/upload/{style → upload-legacy/style}/preview.css +0 -0
  344. /package/es/upload/{style → upload-legacy/style}/preview.js +0 -0
@@ -0,0 +1,414 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
+
24
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
+
26
+ var _react = _interopRequireWildcard(require("react"));
27
+
28
+ var _lodash = _interopRequireDefault(require("lodash"));
29
+
30
+ var _propTypes = _interopRequireDefault(require("prop-types"));
31
+
32
+ var _classnames = _interopRequireDefault(require("classnames"));
33
+
34
+ var _Title = _interopRequireDefault(require("./Title"));
35
+
36
+ var _Item = _interopRequireDefault(require("./Item"));
37
+
38
+ var _SubMenu = _interopRequireDefault(require("./SubMenu"));
39
+
40
+ require("./style/index");
41
+
42
+ var Menu =
43
+ /*#__PURE__*/
44
+ function (_Component) {
45
+ (0, _inherits2["default"])(Menu, _Component);
46
+
47
+ function Menu(props) {
48
+ var _this;
49
+
50
+ (0, _classCallCheck2["default"])(this, Menu);
51
+ _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(Menu).call(this, props));
52
+ var _this$props = _this.props,
53
+ activeId = _this$props.activeId,
54
+ collapsed = _this$props.collapsed;
55
+
56
+ var activeIndex = _this.getActiveIndex(activeId);
57
+
58
+ var expandIndex = [];
59
+ _this.clickOutsideHandel = _this.clickOutside.bind((0, _assertThisInitialized2["default"])(_this));
60
+
61
+ if (_this.isNoMiniVertaicalMenu(collapsed)) {
62
+ // 垂直非mini菜单默认打开激活项
63
+ expandIndex = [activeIndex.split('-').slice(0, -1).join('-')];
64
+ }
65
+
66
+ _this.state = {
67
+ activeId: _this.props.activeId,
68
+ expandIndex: expandIndex,
69
+ activeIndex: activeIndex,
70
+ collapsed: collapsed
71
+ };
72
+ _this.clickInsideFlag = false; // click在menu标识
73
+
74
+ return _this;
75
+ }
76
+
77
+ (0, _createClass2["default"])(Menu, [{
78
+ key: "componentWillReceiveProps",
79
+ value: function componentWillReceiveProps(nextProps) {
80
+ var activeId = nextProps.activeId,
81
+ data = nextProps.data,
82
+ collapsed = nextProps.collapsed;
83
+
84
+ if (activeId !== this.props.activeId || !_lodash["default"].isEqual(data, this.props.data)) {
85
+ var activeIndex = this.getActiveIndex(activeId, data);
86
+ this.setState({
87
+ activeId: activeId,
88
+ activeIndex: activeIndex
89
+ });
90
+ this.isNoMiniVertaicalMenu(collapsed) && this.setState({
91
+ expandIndex: [activeIndex.split('-').slice(0, -1).join('-')]
92
+ });
93
+ }
94
+
95
+ if (collapsed !== this.props.collapsed) {
96
+ this.setState({
97
+ collapsed: collapsed
98
+ });
99
+ }
100
+ }
101
+ }, {
102
+ key: "componentDidMount",
103
+ value: function componentDidMount() {
104
+ window.addEventListener('click', this.clickOutsideHandel);
105
+ }
106
+ }, {
107
+ key: "componentWillUnmount",
108
+ value: function componentWillUnmount() {
109
+ window.removeEventListener('click', this.clickOutsideHandel);
110
+ }
111
+ }, {
112
+ key: "clickOutside",
113
+ value: function clickOutside() {
114
+ if (!this.clickInsideFlag && !this.isNoMiniVertaicalMenu()) {
115
+ this.setState({
116
+ expandIndex: []
117
+ });
118
+ }
119
+
120
+ this.clickInsideFlag = false;
121
+ }
122
+ }, {
123
+ key: "clickInside",
124
+ value: function clickInside() {
125
+ this.clickInsideFlag = true;
126
+ }
127
+ }, {
128
+ key: "getExpandIndex",
129
+ value: function getExpandIndex(clickedIndex) {
130
+ if (!clickedIndex) {
131
+ return [];
132
+ }
133
+
134
+ var accordion = this.props.accordion;
135
+ var expandIndex = this.state.expandIndex;
136
+ var _clickedIndex = clickedIndex;
137
+ var subInExpandIndex = false;
138
+
139
+ var _expandIndex = expandIndex.filter(function (item) {
140
+ // 点击父菜单时,需要把已展开的子菜单过滤掉,因为父菜单关闭时所有子菜单也要关闭
141
+ var flag = item.startsWith(_clickedIndex);
142
+
143
+ if (flag) {
144
+ subInExpandIndex = true;
145
+ }
146
+
147
+ return !flag;
148
+ });
149
+
150
+ subInExpandIndex && _expandIndex.push(_clickedIndex); // subInExpandIndex为true说明其有子菜单被展开,在点击需要关闭
151
+
152
+ var index = _expandIndex.indexOf(clickedIndex);
153
+
154
+ if (index > -1) {
155
+ // 点击同一个submenu,如果已展开则关闭
156
+ _clickedIndex = clickedIndex.split('-').slice(0, -1).join('-');
157
+ }
158
+
159
+ if (!accordion && this.isNoMiniVertaicalMenu()) {
160
+ // 非手风琴模式只有在垂直非mini状态下才生效
161
+ index > -1 ? _expandIndex.splice(index, 1, _clickedIndex) : _expandIndex.push(_clickedIndex);
162
+ return _expandIndex;
163
+ } else {
164
+ return _clickedIndex ? [_clickedIndex] : [];
165
+ }
166
+ }
167
+ }, {
168
+ key: "isNoMiniVertaicalMenu",
169
+ value: function isNoMiniVertaicalMenu() {
170
+ var collapsed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.collapsed;
171
+ // 垂直非mini菜单
172
+ return this.props.placement === 'vertical' && !collapsed;
173
+ }
174
+ }, {
175
+ key: "getActiveMenus",
176
+ value: function getActiveMenus(menus, activeId) {
177
+ var activeMenus = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
178
+ var result;
179
+
180
+ for (var index in menus) {
181
+ var _activeMenus = (0, _toConsumableArray2["default"])(activeMenus);
182
+
183
+ if (menus[index].id === activeId) {
184
+ _activeMenus.push(index);
185
+
186
+ result = _activeMenus;
187
+ } else if (menus[index].children) {
188
+ _activeMenus.push(index);
189
+
190
+ result = this.getActiveMenus(menus[index].children, activeId, _activeMenus);
191
+ }
192
+
193
+ if (result) {
194
+ break;
195
+ }
196
+ }
197
+
198
+ if (result) {
199
+ return result;
200
+ }
201
+ }
202
+ }, {
203
+ key: "getActiveIndex",
204
+ value: function getActiveIndex(activeId, menu) {
205
+ // 获取激活item对应的索引,以'-'拼接成字符串
206
+ var data = this.props.data;
207
+
208
+ if (activeId === undefined || activeId === '') {
209
+ return '';
210
+ }
211
+
212
+ var activeMenus = this.getActiveMenus(menu || data, activeId, []);
213
+ return activeMenus && activeMenus.join('-') || '';
214
+ }
215
+ }, {
216
+ key: "toggleMini",
217
+ value: function toggleMini() {
218
+ var _this2 = this;
219
+
220
+ var collapsed = !this.state.collapsed;
221
+ var expandIndex = collapsed ? [] : this.state.expandIndex;
222
+ setTimeout(function () {
223
+ _this2.setState({
224
+ collapsed: collapsed,
225
+ expandIndex: expandIndex
226
+ }, function () {
227
+ _this2.props.onCollapse && _this2.props.onCollapse(collapsed);
228
+ });
229
+ }, 0);
230
+ }
231
+ }, {
232
+ key: "onClick",
233
+ value: function onClick(indexs, id, data) {
234
+ var _this3 = this;
235
+
236
+ var expandIndex = this.isNoMiniVertaicalMenu() ? this.state.expandIndex : this.getExpandIndex(''); // 非mini垂直菜单选中时不需要收起子菜单
237
+
238
+ var oldId = this.state.activeId;
239
+ this.setState({
240
+ activeId: id,
241
+ activeIndex: indexs,
242
+ expandIndex: expandIndex
243
+ }, function () {
244
+ _this3.props.onClick(id, oldId, data);
245
+ });
246
+ }
247
+ }, {
248
+ key: "onClickSubMenu",
249
+ value: function onClickSubMenu(index) {
250
+ var _this4 = this;
251
+
252
+ var expandIndex = this.getExpandIndex(index);
253
+ this.clickInside();
254
+ this.setState({
255
+ expandIndex: expandIndex
256
+ }, function () {
257
+ index && _this4.props.onClickSubMenu && _this4.props.onClickSubMenu(index.split('-'));
258
+ });
259
+ }
260
+ }, {
261
+ key: "renderItem",
262
+ value: function renderItem(data, index) {
263
+ var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
264
+ // render menu item
265
+ var activeIndex = this.state.activeIndex;
266
+ var mergeProps = Object.assign({
267
+ onClick: this.onClick.bind(this),
268
+ id: data.id,
269
+ icon: data.icon,
270
+ activeIndex: activeIndex,
271
+ index: index,
272
+ disabled: data.disabled,
273
+ key: index,
274
+ data: data
275
+ }, props);
276
+ return _react["default"].createElement(_Item["default"], mergeProps, data.content);
277
+ }
278
+ }, {
279
+ key: "renderFatSubMenu",
280
+ value: function renderFatSubMenu(data, parentIndex) {
281
+ var _this5 = this;
282
+
283
+ // render胖菜单
284
+ var groups = [];
285
+ data.forEach(function (dataItem, groupIndex) {
286
+ groups.push(_react["default"].createElement("li", {
287
+ className: "hi-menu-fat",
288
+ key: groupIndex
289
+ }, _react["default"].createElement("div", {
290
+ className: "hi-menu-fat__title hi-menu__title"
291
+ }, _react["default"].createElement(_Title["default"], {
292
+ icon: dataItem.icon,
293
+ content: dataItem.content
294
+ })), dataItem.children && _react["default"].createElement("ul", {
295
+ className: "hi-menu-fat__content"
296
+ }, dataItem.children.map(function (child, index) {
297
+ return _this5.renderItem(child, parentIndex + '-' + groupIndex + '-' + index, {
298
+ level: 2
299
+ });
300
+ }))));
301
+ });
302
+ return groups;
303
+ }
304
+ }, {
305
+ key: "renderMenu",
306
+ value: function renderMenu(data) {
307
+ var _this6 = this;
308
+
309
+ var parentIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
310
+ var _this$props2 = this.props,
311
+ showAllSubMenus = _this$props2.showAllSubMenus,
312
+ placement = _this$props2.placement,
313
+ theme = _this$props2.theme;
314
+ var _this$state = this.state,
315
+ activeIndex = _this$state.activeIndex,
316
+ expandIndex = _this$state.expandIndex,
317
+ collapsed = _this$state.collapsed;
318
+ var items = [];
319
+ var renderMenu = showAllSubMenus ? this.renderFatSubMenu.bind(this) : this.renderMenu.bind(this);
320
+ data.forEach(function (item, index) {
321
+ var indexStr = parentIndex !== '' ? parentIndex + '-' + index : '' + index;
322
+ var level = indexStr.split('-').length;
323
+
324
+ if (item.children) {
325
+ items.push(_react["default"].createElement(_SubMenu["default"], {
326
+ key: index,
327
+ theme: theme,
328
+ onClick: _this6.onClickSubMenu.bind(_this6),
329
+ clickInside: _this6.clickInside.bind(_this6),
330
+ index: indexStr,
331
+ level: level,
332
+ fatMenu: showAllSubMenus,
333
+ activeIndex: activeIndex,
334
+ expandIndex: expandIndex,
335
+ disabled: item.disabled,
336
+ content: item.content,
337
+ icon: item.icon,
338
+ renderMenu: renderMenu,
339
+ datas: item.children,
340
+ mode: placement,
341
+ mini: collapsed
342
+ }));
343
+ } else {
344
+ items.push(_this6.renderItem(item, indexStr, {
345
+ level: level,
346
+ placement: placement,
347
+ mini: collapsed
348
+ }));
349
+ }
350
+ });
351
+ return items;
352
+ }
353
+ }, {
354
+ key: "render",
355
+ value: function render() {
356
+ var _this$props3 = this.props,
357
+ data = _this$props3.data,
358
+ placement = _this$props3.placement,
359
+ showCollapse = _this$props3.showCollapse,
360
+ theme = _this$props3.theme;
361
+ var collapsed = this.state.collapsed;
362
+ var cls = (0, _classnames["default"])('hi-menu', "theme__".concat(theme), "hi-menu--".concat(placement), {
363
+ 'hi-menu--mini': collapsed
364
+ });
365
+
366
+ var miniIcon = _react["default"].createElement("i", {
367
+ className: "hi-icon icon-".concat(collapsed ? 'Expand' : 'Collapse')
368
+ });
369
+
370
+ return _react["default"].createElement("div", {
371
+ className: cls
372
+ }, _react["default"].createElement("ul", {
373
+ className: "hi-menu-items"
374
+ }, this.renderMenu(data)), placement === 'vertical' && showCollapse && _react["default"].createElement("div", {
375
+ className: "hi-menu--mini__toggle",
376
+ onClick: this.toggleMini.bind(this)
377
+ }, miniIcon));
378
+ }
379
+ }]);
380
+ return Menu;
381
+ }(_react.Component);
382
+
383
+ Menu.defaultProps = {
384
+ placement: 'vertical',
385
+ onClick: function onClick() {},
386
+ activeId: '',
387
+ collapsed: false,
388
+ showCollapse: false,
389
+ showAllSubMenus: false,
390
+ accordion: true
391
+ };
392
+ Menu.propTypes = {
393
+ data: _propTypes["default"].arrayOf(_propTypes["default"].shape({
394
+ content: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
395
+ id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
396
+ disabled: _propTypes["default"].bool,
397
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
398
+ children: _propTypes["default"].array
399
+ })),
400
+ activeId: _propTypes["default"].string,
401
+ placement: _propTypes["default"].oneOf(['horizontal', 'vertical']),
402
+ collapsed: _propTypes["default"].bool,
403
+ // 是否是mini模式,需要同时placement=vertical时才生效
404
+ showCollapse: _propTypes["default"].bool,
405
+ // mini状态开关,需要同时placement=vertical时才生效
406
+ showAllSubMenus: _propTypes["default"].bool,
407
+ // 胖菜单,需要同时placement=horizontal时才生效
408
+ accordion: _propTypes["default"].bool,
409
+ onClick: _propTypes["default"].func,
410
+ onClickSubMenu: _propTypes["default"].func,
411
+ onCollapse: _propTypes["default"].func
412
+ };
413
+ var _default = Menu;
414
+ exports["default"] = _default;
@@ -1,10 +1,24 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
3
7
  Object.defineProperty(exports, "__esModule", {
4
8
  value: true
5
9
  });
6
10
  exports["default"] = void 0;
7
11
 
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
8
22
  var _react = _interopRequireWildcard(require("react"));
9
23
 
10
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -17,48 +31,17 @@ var _icon = _interopRequireDefault(require("../icon"));
17
31
 
18
32
  var _Title = _interopRequireDefault(require("./Title"));
19
33
 
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
-
22
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
23
-
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
27
-
28
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
29
-
30
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
31
-
32
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
33
-
34
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
35
-
36
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
39
-
40
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
41
-
42
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
43
-
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
45
-
46
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
47
-
48
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
49
-
50
- var SubMenu = /*#__PURE__*/function (_Component) {
51
- _inherits(SubMenu, _Component);
52
-
53
- var _super = _createSuper(SubMenu);
34
+ var SubMenu =
35
+ /*#__PURE__*/
36
+ function (_Component) {
37
+ (0, _inherits2["default"])(SubMenu, _Component);
54
38
 
55
39
  function SubMenu() {
56
- _classCallCheck(this, SubMenu);
57
-
58
- return _super.apply(this, arguments);
40
+ (0, _classCallCheck2["default"])(this, SubMenu);
41
+ return (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(SubMenu).apply(this, arguments));
59
42
  }
60
43
 
61
- _createClass(SubMenu, [{
44
+ (0, _createClass2["default"])(SubMenu, [{
62
45
  key: "onClick",
63
46
  value: function onClick(index) {
64
47
  this.props.onClick(index);
@@ -66,38 +49,30 @@ var SubMenu = /*#__PURE__*/function (_Component) {
66
49
  }, {
67
50
  key: "checkActive",
68
51
  value: function checkActive(activeIndex, index) {
69
- return activeIndex.indexOf(index) === 0;
52
+ var indexArr = index.split('-');
53
+ var activeIndexArr = activeIndex.split('-');
54
+ return activeIndexArr.slice(0, indexArr.length).join('-') === index;
70
55
  }
71
56
  }, {
72
57
  key: "checkExpand",
73
58
  value: function checkExpand(activeIndex, expandIndex, index) {
74
59
  return expandIndex.some(function (item) {
75
- return item.indexOf(index) === 0;
76
- }); // const {
77
- // mini,
78
- // mode
79
- // } = this.props
80
- // if (!mini && mode==='vertical' && expandIndex.length===0) {
81
- // return activeIndex.indexOf(index) === 0
82
- // } else {
83
- // return expandIndex.some(item => {
84
- // // return item.indexOf(index) === 0 || (activeIndex.indexOf(item) === 0 && activeIndex.indexOf(index) === 0)
85
- // return item.indexOf(index) === 0
86
- // })
87
- // }
60
+ var indexArr = index.split('-');
61
+ var expandIndexArr = item.split('-');
62
+ return expandIndexArr.slice(0, indexArr.length).join('-') === index;
63
+ });
88
64
  }
89
65
  }, {
90
66
  key: "renderPopperMenu",
91
67
  value: function renderPopperMenu(deepSubmenu, isExpand) {
92
- var _this = this;
93
-
94
68
  var _this$props = this.props,
95
69
  mini = _this$props.mini,
96
70
  datas = _this$props.datas,
97
71
  index = _this$props.index,
98
72
  renderMenu = _this$props.renderMenu,
99
73
  fatMenu = _this$props.fatMenu,
100
- clickInside = _this$props.clickInside;
74
+ clickInside = _this$props.clickInside,
75
+ theme = _this$props.theme;
101
76
  var leftGap;
102
77
  var topGap;
103
78
  var placement;
@@ -113,22 +88,19 @@ var SubMenu = /*#__PURE__*/function (_Component) {
113
88
  placement = 'bottom-start';
114
89
  }
115
90
 
116
- return /*#__PURE__*/_react["default"].createElement(_popper["default"], {
91
+ return _react["default"].createElement(_popper["default"], {
117
92
  show: isExpand,
118
93
  attachEle: this.submenuTrigger,
119
94
  zIndex: 1050,
120
95
  topGap: topGap,
121
96
  leftGap: leftGap,
122
- className: (0, _classnames["default"])('hi-submenu__popper', {
97
+ className: (0, _classnames["default"])('hi-submenu__popper', "theme__".concat(theme), {
123
98
  'hi-submenu__popper--fat': fatMenu
124
99
  }),
125
100
  width: false,
126
101
  placement: placement
127
- }, /*#__PURE__*/_react["default"].createElement("ul", {
102
+ }, _react["default"].createElement("ul", {
128
103
  className: (0, _classnames["default"])('hi-submenu__items'),
129
- ref: function ref(node) {
130
- _this.submenuNode = node;
131
- },
132
104
  onClick: function onClick() {
133
105
  return clickInside();
134
106
  } // 利用事件冒泡设置clickInsideFlag
@@ -142,9 +114,10 @@ var SubMenu = /*#__PURE__*/function (_Component) {
142
114
  datas = _this$props2.datas,
143
115
  index = _this$props2.index,
144
116
  renderMenu = _this$props2.renderMenu,
145
- clickInside = _this$props2.clickInside;
146
- return /*#__PURE__*/_react["default"].createElement("ul", {
147
- className: (0, _classnames["default"])('hi-submenu__items', {
117
+ clickInside = _this$props2.clickInside,
118
+ theme = _this$props2.theme;
119
+ return _react["default"].createElement("ul", {
120
+ className: (0, _classnames["default"])('hi-submenu__items', "theme__".concat(theme), {
148
121
  'hi-submenu__items--hide': !isExpand
149
122
  }),
150
123
  onClick: function onClick() {
@@ -157,7 +130,7 @@ var SubMenu = /*#__PURE__*/function (_Component) {
157
130
  }, {
158
131
  key: "render",
159
132
  value: function render() {
160
- var _this2 = this;
133
+ var _this = this;
161
134
 
162
135
  var _this$props3 = this.props,
163
136
  content = _this$props3.content,
@@ -169,55 +142,54 @@ var SubMenu = /*#__PURE__*/function (_Component) {
169
142
  activeIndex = _this$props3.activeIndex,
170
143
  expandIndex = _this$props3.expandIndex,
171
144
  disabled = _this$props3.disabled,
172
- fatMenu = _this$props3.fatMenu;
145
+ fatMenu = _this$props3.fatMenu,
146
+ theme = _this$props3.theme;
173
147
  var isExpand = this.checkExpand(activeIndex, expandIndex, index);
174
148
  var isActive = this.checkActive(activeIndex, index);
175
149
  var deepSubmenu = index.split('-').length > 1;
176
- var cls = (0, _classnames["default"])('hi-menu-item', 'hi-submenu', "hi-menu--".concat(level), {
150
+ var cls = (0, _classnames["default"])('hi-menu-item', "theme__".concat(theme), 'hi-submenu', "hi-menu--".concat(level), {
177
151
  'hi-menu-item--disabled': disabled,
178
152
  'hi-menu-item--active': isActive,
179
153
  'hi-submenu--fat': fatMenu
180
154
  });
181
155
  var toggleIcon;
182
156
 
183
- if (deepSubmenu && (mode === 'horizontal' || mini)) {
184
- toggleIcon = isExpand ? 'left' : 'right';
157
+ if (mode === 'horizontal' && !deepSubmenu) {
158
+ toggleIcon = 'down';
159
+ } else if (deepSubmenu && (mode === 'horizontal' || mini)) {
160
+ toggleIcon = 'right';
185
161
  } else {
186
162
  toggleIcon = isExpand ? 'up' : 'down';
187
163
  }
188
164
 
189
- return /*#__PURE__*/_react["default"].createElement("li", {
165
+ return _react["default"].createElement("li", {
190
166
  className: cls,
191
167
  ref: function ref(node) {
192
- _this2.submenuTrigger = node;
168
+ _this.submenuTrigger = node;
193
169
  },
194
170
  key: index
195
- }, /*#__PURE__*/_react["default"].createElement("div", {
196
- className: "hi-submenu__title hi-menu__title",
171
+ }, _react["default"].createElement("div", {
172
+ className: "theme__".concat(theme, " hi-submenu__title hi-menu__title"),
197
173
  onClick: function onClick() {
198
- if (!disabled) {
199
- _this2.onClick(index);
200
- }
174
+ !disabled && _this.onClick(index);
201
175
  }
202
- }, /*#__PURE__*/_react["default"].createElement(_Title["default"], {
176
+ }, _react["default"].createElement(_Title["default"], {
203
177
  icon: icon,
204
- content: content
205
- }), /*#__PURE__*/_react["default"].createElement("div", {
178
+ content: content,
179
+ mini: mini,
180
+ level: level,
181
+ placement: mode
182
+ }), _react["default"].createElement("div", {
206
183
  className: "hi-menu__title-toggle-icon"
207
- }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
184
+ }, _react["default"].createElement(_icon["default"], {
208
185
  name: toggleIcon
209
186
  }))), !mini && mode === 'vertical' ? this.renderVerticalMenu(isActive, isExpand) : this.renderPopperMenu(deepSubmenu, isExpand));
210
187
  }
211
188
  }]);
212
-
213
189
  return SubMenu;
214
190
  }(_react.Component);
215
191
 
216
- exports["default"] = SubMenu;
217
-
218
- _defineProperty(SubMenu, "componentName", 'SubMenu');
219
-
220
- _defineProperty(SubMenu, "propTypes", {
192
+ SubMenu.propTypes = {
221
193
  icon: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
222
194
  content: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
223
195
  datas: _propTypes["default"].array,
@@ -231,9 +203,10 @@ _defineProperty(SubMenu, "propTypes", {
231
203
  disabled: _propTypes["default"].bool,
232
204
  activeIndex: _propTypes["default"].string,
233
205
  expandIndex: _propTypes["default"].array
234
- });
235
-
236
- _defineProperty(SubMenu, "defaultProps", {
206
+ };
207
+ SubMenu.defaultProps = {
237
208
  level: 1,
238
209
  expandIndex: []
239
- });
210
+ };
211
+ var _default = SubMenu;
212
+ exports["default"] = _default;