@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,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _Badge = _interopRequireDefault(require("../Badge"));
10
+
11
+ /* eslint-env jest */
12
+ describe('Badge', function () {
13
+ describe('Lifecycle', function () {
14
+ // FIXME #34 typeof +content === 'number' always be true
15
+ it('componentDidMount', function () {
16
+ var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Badge["default"], null));
17
+ expect(wrapper.instance()).toBeInstanceOf(_Badge["default"]);
18
+ expect(wrapper.find(".".concat(_Badge["default"].defaultProps.prefixCls, "-base"))).toHaveLength(1);
19
+ expect(wrapper.find(".".concat(_Badge["default"].defaultProps.prefixCls, "-value"))).toHaveLength(1);
20
+ });
21
+ });
22
+ describe('PropTypes', function () {
23
+ it('type', function () {
24
+ var wrapper = (0, _enzyme.mount)(_react["default"].createElement("div", null, _react["default"].createElement(_Badge["default"], {
25
+ type: "bubble"
26
+ }), _react["default"].createElement(_Badge["default"], {
27
+ type: "dot"
28
+ })));
29
+ expect(wrapper.find(".".concat(_Badge["default"].defaultProps.prefixCls, "-dot"))).toHaveLength(1);
30
+ expect(wrapper.find(".".concat(_Badge["default"].defaultProps.prefixCls, "-value"))).toHaveLength(1);
31
+ });
32
+ it('content', function () {
33
+ var content = 'test-content';
34
+ var contentNumber1 = 1;
35
+ var contentNumber2 = 100;
36
+ var wrapper = (0, _enzyme.shallow)(_react["default"].createElement(_Badge["default"], {
37
+ content: content
38
+ }));
39
+ expect(wrapper.text()).toEqual(expect.stringMatching(content));
40
+ wrapper.setProps({
41
+ content: contentNumber1
42
+ });
43
+ expect(wrapper.text()).toEqual(expect.stringMatching("".concat(contentNumber1)));
44
+ wrapper.setProps({
45
+ content: contentNumber2
46
+ });
47
+ expect(wrapper.text()).toEqual(expect.stringMatching("".concat(_Badge["default"].defaultProps.max, "+")));
48
+ });
49
+ it('max', function () {
50
+ var props = {
51
+ max: 33,
52
+ content: 1
53
+ };
54
+ var wrapper = (0, _enzyme.shallow)(_react["default"].createElement(_Badge["default"], props));
55
+ expect(wrapper.text()).toEqual(expect.stringMatching("".concat(props.content)));
56
+ wrapper.setProps({
57
+ content: 34
58
+ });
59
+ expect(wrapper.text()).toEqual(expect.stringMatching("".concat(props.max, "+")));
60
+ });
61
+ it('visible', function () {
62
+ var wrapper = (0, _enzyme.mount)(_react["default"].createElement("div", null, _react["default"].createElement(_Badge["default"], {
63
+ type: "bubble",
64
+ visible: false
65
+ }), _react["default"].createElement(_Badge["default"], {
66
+ type: "dot",
67
+ visible: false
68
+ })));
69
+ expect(wrapper.find(".".concat(_Badge["default"].defaultProps.prefixCls, "-dot.hi-hide"))).toHaveLength(1);
70
+ expect(wrapper.find(".".concat(_Badge["default"].defaultProps.prefixCls, "-value.hi-hide"))).toHaveLength(1);
71
+ });
72
+ it('style', function () {
73
+ var style = {
74
+ color: '#ffff00'
75
+ };
76
+ var wrapper = (0, _enzyme.shallow)(_react["default"].createElement(_Badge["default"], {
77
+ style: style
78
+ }));
79
+ expect(wrapper.find(".".concat(_Badge["default"].defaultProps.prefixCls, "-base")).prop('style')).toMatchObject(style);
80
+ });
81
+ });
82
+ });
package/es/badge/index.js CHANGED
@@ -1,100 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _Badge = _interopRequireDefault(require("./Badge"));
13
11
 
14
12
  require("./style/index");
15
13
 
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
-
18
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
19
-
20
- 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; }
21
-
22
- 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); }
23
-
24
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
25
-
26
- 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); } }
27
-
28
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
29
-
30
- 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); }
31
-
32
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
33
-
34
- 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); }; }
35
-
36
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
14
+ var _util = require("../_util");
37
15
 
38
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
39
-
40
- 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; } }
41
-
42
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
43
-
44
- 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; }
45
-
46
- var Badge = /*#__PURE__*/function (_Component) {
47
- _inherits(Badge, _Component);
48
-
49
- var _super = _createSuper(Badge);
50
-
51
- function Badge() {
52
- _classCallCheck(this, Badge);
53
-
54
- return _super.apply(this, arguments);
55
- }
56
-
57
- _createClass(Badge, [{
58
- key: "render",
59
- value: function render() {
60
- var _this$props = this.props,
61
- value = _this$props.value,
62
- prefixCls = _this$props.prefixCls,
63
- max = _this$props.max,
64
- dot = _this$props.dot,
65
- hidden = _this$props.hidden,
66
- style = _this$props.style;
67
- var eleClass = (0, _classnames["default"])("".concat(prefixCls, "-base"));
68
- return /*#__PURE__*/_react["default"].createElement("div", {
69
- className: eleClass,
70
- style: style
71
- }, this.props.children, dot ? /*#__PURE__*/_react["default"].createElement("span", {
72
- className: "".concat(prefixCls, "-dot").concat(hidden ? ' hi-hide' : '')
73
- }) : /*#__PURE__*/_react["default"].createElement("span", {
74
- className: "".concat(prefixCls, "-value").concat(hidden ? ' hi-hide' : '')
75
- }, typeof +value === 'number' ? +value > max ? max + '+' : value : value));
76
- }
77
- }]);
78
-
79
- return Badge;
80
- }(_react.Component);
81
-
82
- _defineProperty(Badge, "propTypes", {
83
- value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
84
- dot: _propTypes["default"].bool,
85
- max: _propTypes["default"].number,
86
- hidden: _propTypes["default"].bool,
87
- style: _propTypes["default"].object
88
- });
89
-
90
- _defineProperty(Badge, "defaultProps", {
91
- prefixCls: 'hi-badge',
92
- style: {},
93
- value: '',
94
- dot: false,
95
- max: 99,
96
- hidden: false
97
- });
16
+ var _default = (0, _util.depreactedPropsCompat)([['content', 'value'], ['type', 'dot', function (data) {
17
+ return data ? 'dot' : 'bubble';
18
+ }], ['visible', 'hidden', function (data) {
19
+ return !data;
20
+ }]])(_Badge["default"]);
98
21
 
99
- var _default = Badge;
100
22
  exports["default"] = _default;
@@ -1 +1 @@
1
- .hi-badge-base{display:inline-block;position:relative}.hi-badge-value{position:absolute;top:-12px;right:0;-webkit-transform:translateX(50%);transform:translateX(50%);height:16px;padding:0 5px;border:2px solid #fff;border-radius:10px;line-height:16px;background:#eb5252;font-size:12px;color:#fff;letter-spacing:0;text-align:center}.hi-badge-value.hi-hide{display:none}.hi-badge-dot{position:absolute;width:8px;height:8px;top:-7px;right:-5px;background:#eb5252;border:1px solid #fff;border-radius:50%;font-size:0}.hi-badge-dot.hi-hide{display:none}
1
+ .hi-badge-base{display:inline-block;position:relative}.hi-badge-value{position:absolute;top:-10px;right:0;-webkit-transform:translateX(50%);transform:translateX(50%);height:16px;padding:0 4px;min-width:8px;border:2px solid #fff;border-radius:10px;line-height:16px;background:#f44141;font-size:12px;color:#fff;letter-spacing:0;text-align:center}.hi-badge-value.hi-hide{display:none}.hi-badge-dot{position:absolute;width:8px;height:8px;top:-5px;right:-5px;background:#f44141;border:1px solid #fff;border-radius:50%;font-size:0}.hi-badge-dot.hi-hide{display:none}
File without changes
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _sinon = require("sinon");
10
+
11
+ var _index = _interopRequireDefault(require("../index"));
12
+
13
+ /* eslint-env jest */
14
+ var data = [{
15
+ content: '首页',
16
+ path: '/home'
17
+ }, {
18
+ content: '产品类',
19
+ icon: 'document',
20
+ path: '/product'
21
+ }, {
22
+ icon: 'component',
23
+ path: '/phone'
24
+ }, {
25
+ content: '红米系列',
26
+ path: '/redmi'
27
+ }, {
28
+ content: 'Note7',
29
+ path: '/note7'
30
+ }];
31
+ describe('Breadcrumb', function () {
32
+ it('normal', function () {
33
+ var wrapper = (0, _enzyme.mount)(_react["default"].createElement("div", null, _react["default"].createElement(_index["default"], null), _react["default"].createElement(_index["default"], null)));
34
+ expect(wrapper.find('.hi-breadcrumb')).toHaveLength(2);
35
+ });
36
+ describe('PropTypes', function () {
37
+ it('separator', function () {
38
+ var wrapper = (0, _enzyme.mount)(_react["default"].createElement("div", null, _react["default"].createElement(_index["default"], {
39
+ separator: "/",
40
+ data: data
41
+ })));
42
+ expect(wrapper.find('.hi-breadcrumb__separator')).toHaveLength(5);
43
+ var separators = wrapper.find('.hi-breadcrumb__separator').map(function (node) {
44
+ return node.text();
45
+ });
46
+ expect(separators).toEqual(['/', '/', '/', '/', '/']);
47
+ });
48
+ });
49
+ it('onClick', function () {
50
+ var callback = (0, _sinon.fake)();
51
+ var wrapper = (0, _enzyme.mount)(_react["default"].createElement("div", null, _react["default"].createElement(_index["default"], {
52
+ onClick: callback,
53
+ data: data
54
+ }), _react["default"].createElement(_index["default"], {
55
+ data: data
56
+ })));
57
+ wrapper.find('.hi-breadcrumb__content').at(0).simulate('click');
58
+ wrapper.find('.hi-breadcrumb__content').at(5).simulate('click');
59
+ expect(callback.callCount).toEqual(1);
60
+ });
61
+ });
@@ -0,0 +1,85 @@
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 _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
+
22
+ var _react = _interopRequireWildcard(require("react"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _icon = _interopRequireDefault(require("../icon"));
27
+
28
+ var _context = _interopRequireDefault(require("../context"));
29
+
30
+ require("./style/index");
31
+
32
+ var Breadcrumb =
33
+ /*#__PURE__*/
34
+ function (_Component) {
35
+ (0, _inherits2["default"])(Breadcrumb, _Component);
36
+
37
+ function Breadcrumb() {
38
+ (0, _classCallCheck2["default"])(this, Breadcrumb);
39
+ return (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(Breadcrumb).apply(this, arguments));
40
+ }
41
+
42
+ (0, _createClass2["default"])(Breadcrumb, [{
43
+ key: "render",
44
+ value: function render() {
45
+ var _this$props = this.props,
46
+ separator = _this$props.separator,
47
+ data = _this$props.data,
48
+ _onClick = _this$props.onClick,
49
+ theme = _this$props.theme;
50
+ return _react["default"].createElement("div", {
51
+ className: "hi-breadcrumb theme__".concat(theme)
52
+ }, data.map(function (item, index) {
53
+ return _react["default"].createElement("span", {
54
+ key: index,
55
+ className: "hi-breadcrumb__item"
56
+ }, _react["default"].createElement("span", {
57
+ className: "hi-breadcrumb__content",
58
+ onClick: function onClick() {
59
+ _onClick(item.path);
60
+ }
61
+ }, item.icon && _react["default"].createElement(_icon["default"], {
62
+ name: item.icon
63
+ }), item.content), _react["default"].createElement("span", {
64
+ className: "hi-breadcrumb__separator"
65
+ }, separator));
66
+ }));
67
+ }
68
+ }]);
69
+ return Breadcrumb;
70
+ }(_react.Component);
71
+
72
+ Breadcrumb.propTypes = {
73
+ separator: _propTypes["default"].string,
74
+ data: _propTypes["default"].array,
75
+ onClick: _propTypes["default"].func
76
+ };
77
+ Breadcrumb.defaultProps = {
78
+ separator: '/',
79
+ data: [],
80
+ onClick: function onClick() {}
81
+ };
82
+
83
+ var _default = (0, _context["default"])(Breadcrumb);
84
+
85
+ exports["default"] = _default;
@@ -0,0 +1 @@
1
+ .hi-breadcrumb{color:#666;font-size:12px}.hi-breadcrumb__content{cursor:pointer}.hi-breadcrumb__content:hover{color:#4284f5}.hi-breadcrumb__content .hi-icon{margin:0 4px}.hi-breadcrumb__separator{margin:0 8px;color:#ccc}.hi-breadcrumb__item:last-child .hi-breadcrumb__content{cursor:text}.hi-breadcrumb__item:last-child .hi-breadcrumb__content:hover{color:#666}.hi-breadcrumb__item:last-child .hi-breadcrumb__separator{display:none}.hi-breadcrumb.theme__hiui-blue .hi-breadcrumb__content:hover{color:#4285f4}.hi-breadcrumb.theme__orange .hi-breadcrumb__content:hover{color:#f63}.hi-breadcrumb.theme__cyan .hi-breadcrumb__content:hover{color:#46bc99}.hi-breadcrumb.theme__magenta .hi-breadcrumb__content:hover{color:#ff5975}.hi-breadcrumb.theme__lavender .hi-breadcrumb__content:hover{color:#b450de}.hi-breadcrumb.theme__blue .hi-breadcrumb__content:hover{color:#3da8f5}.hi-breadcrumb.theme__purple .hi-breadcrumb__content:hover{color:#8a8acb}
@@ -1,85 +1,71 @@
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
- exports["default"] = void 0;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
- var _context = _interopRequireDefault(require("../context"));
15
-
16
- var _icon = _interopRequireDefault(require("../icon"));
17
-
18
- var _IconLoading = _interopRequireDefault(require("./IconLoading"));
19
-
20
- var _deprecatedPropsCheck = _interopRequireDefault(require("../_util/deprecatedPropsCheck"));
10
+ exports.Button = exports["default"] = void 0;
21
11
 
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
23
13
 
24
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
25
15
 
26
- 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; }
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
27
17
 
28
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
29
19
 
30
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
31
21
 
32
- 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); }
22
+ var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
33
23
 
34
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
24
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
35
25
 
36
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
26
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
37
27
 
38
- 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); } }
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
39
29
 
40
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
41
-
42
- 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); }
43
-
44
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
45
-
46
- 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); }; }
30
+ var _react = _interopRequireWildcard(require("react"));
47
31
 
48
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
32
+ var _propTypes = _interopRequireDefault(require("prop-types"));
49
33
 
50
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
34
+ var _classnames = _interopRequireDefault(require("classnames"));
51
35
 
52
- 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; } }
36
+ var _context = _interopRequireDefault(require("../context"));
53
37
 
54
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
38
+ var _icon = _interopRequireDefault(require("../icon"));
55
39
 
56
- 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; }
40
+ var _IconLoading = _interopRequireDefault(require("./IconLoading"));
57
41
 
58
- var Button = /*#__PURE__*/function (_Component) {
59
- _inherits(Button, _Component);
42
+ var _deprecatedPropsCheck = _interopRequireDefault(require("../_util/deprecatedPropsCheck"));
60
43
 
61
- var _super = _createSuper(Button);
44
+ var Button =
45
+ /*#__PURE__*/
46
+ function (_Component) {
47
+ (0, _inherits2["default"])(Button, _Component);
62
48
 
63
49
  function Button() {
50
+ var _getPrototypeOf2;
51
+
64
52
  var _this;
65
53
 
66
- _classCallCheck(this, Button);
54
+ (0, _classCallCheck2["default"])(this, Button);
67
55
 
68
56
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
69
57
  args[_key] = arguments[_key];
70
58
  }
71
59
 
72
- _this = _super.call.apply(_super, [this].concat(args));
73
-
74
- _defineProperty(_assertThisInitialized(_this), "deprecatedProps", {
60
+ _this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(Button)).call.apply(_getPrototypeOf2, [this].concat(args)));
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deprecatedProps", {
75
62
  type: ['info'],
76
63
  appearance: ['line']
77
64
  });
78
-
79
65
  return _this;
80
66
  }
81
67
 
82
- _createClass(Button, [{
68
+ (0, _createClass2["default"])(Button, [{
83
69
  key: "render",
84
70
  value: function render() {
85
71
  var _this$props = this.props,
@@ -92,38 +78,56 @@ var Button = /*#__PURE__*/function (_Component) {
92
78
  icon = _this$props.icon,
93
79
  loading = _this$props.loading,
94
80
  onClick = _this$props.onClick,
81
+ onContextMenu = _this$props.onContextMenu,
82
+ onMouseOver = _this$props.onMouseOver,
83
+ onMouseOut = _this$props.onMouseOut,
84
+ onMouseEnter = _this$props.onMouseEnter,
85
+ onMouseLeave = _this$props.onMouseLeave,
95
86
  href = _this$props.href,
96
87
  style = _this$props.style,
97
88
  children = _this$props.children,
98
89
  target = _this$props.target;
99
90
  var isDisabled = disabled || loading;
100
- var classes = (0, _classnames["default"])('theme__' + theme, "hi-btn", className, appearance && "hi-btn--appearance--".concat(appearance), size && "hi-btn--size--".concat(size), isDisabled && "hi-btn--disabled", icon && "hi-btn--icon", loading && "hi-btn--loading", // For version < 1.1.0
91
+ var classes = (0, _classnames["default"])('theme__' + theme, "hi-btn", className, appearance && "hi-btn--appearance--".concat(appearance), size && "hi-btn--size--".concat(size), isDisabled && "hi-btn--disabled", loading && "hi-btn--loading", {
92
+ 'hi-btn--icon': function () {
93
+ // Detect if children is empty
94
+ if (!children || typeof children === 'string' && !children.trim()) return true; // Detect if children is an Icon
95
+
96
+ if (_react["default"].isValidElement(children) && children.type.name === 'Icon') return true;
97
+ }()
98
+ }, // For version < 1.1.0
101
99
  type === 'primary' && appearance === 'line' ? "hi-btn--type--line" : "hi-btn--type--".concat(type));
102
100
  var restProps = {
103
101
  href: href,
104
102
  style: style,
105
103
  onClick: onClick,
106
104
  disabled: isDisabled,
105
+ onContextMenu: onContextMenu,
106
+ onMouseOver: onMouseOver,
107
+ onMouseEnter: onMouseEnter,
108
+ onMouseLeave: onMouseLeave,
109
+ onMouseOut: onMouseOut,
107
110
  target: target
108
111
  };
109
112
  (0, _deprecatedPropsCheck["default"])(this.deprecatedProps, this.props, 'Button');
110
- return /*#__PURE__*/_react["default"].createElement(ButtonWrapper, _extends({
113
+ return _react["default"].createElement(ButtonWrapper, (0, _extends2["default"])({
111
114
  className: classes
112
- }, restProps), loading && /*#__PURE__*/_react["default"].createElement(_IconLoading["default"], null), icon && !loading && /*#__PURE__*/_react["default"].createElement(_icon["default"], {
115
+ }, restProps), loading && _react["default"].createElement(_IconLoading["default"], null), icon && !loading && _react["default"].createElement(_icon["default"], {
113
116
  name: icon
114
- }), (icon || loading) && children && /*#__PURE__*/_react["default"].createElement("span", {
115
- className: "hi-btn--icon__spacer"
116
117
  }), children);
117
118
  }
118
119
  }]);
119
-
120
120
  return Button;
121
121
  }(_react.Component);
122
122
 
123
- _defineProperty(Button, "propTypes", {
124
- type: _propTypes["default"].oneOf(['primary', 'line', 'success', 'danger', 'default', 'warning', 'info']),
125
- size: _propTypes["default"].oneOf(['large', 'small', 'normal']),
126
- appearance: _propTypes["default"].oneOf(['link', 'button', 'line']),
123
+ exports.Button = Button;
124
+ (0, _defineProperty2["default"])(Button, "propTypes", {
125
+ type: _propTypes["default"].oneOf(['primary', 'line', 'success', 'danger', 'default', 'warning', // deprecated
126
+ 'info' // deprecated
127
+ ]),
128
+ size: _propTypes["default"].oneOf(['large', 'small', 'normal', 'default']),
129
+ appearance: _propTypes["default"].oneOf(['button', 'link', 'line' // deprecated
130
+ ]),
127
131
  className: _propTypes["default"].string,
128
132
  style: _propTypes["default"].object,
129
133
  disabled: _propTypes["default"].bool,
@@ -132,8 +136,7 @@ _defineProperty(Button, "propTypes", {
132
136
  loading: _propTypes["default"].bool,
133
137
  target: _propTypes["default"].oneOf(['_self', '_blank', '_parent', '_top'])
134
138
  });
135
-
136
- _defineProperty(Button, "defaultProps", {
139
+ (0, _defineProperty2["default"])(Button, "defaultProps", {
137
140
  type: 'default',
138
141
  disabled: false,
139
142
  appearance: 'button',
@@ -142,9 +145,8 @@ _defineProperty(Button, "defaultProps", {
142
145
 
143
146
  function ButtonWrapper(_ref) {
144
147
  var children = _ref.children,
145
- restProps = _objectWithoutProperties(_ref, ["children"]);
146
-
147
- return restProps.href ? /*#__PURE__*/_react["default"].createElement("a", restProps, children) : /*#__PURE__*/_react["default"].createElement("button", _extends({}, restProps, {
148
+ restProps = (0, _objectWithoutProperties2["default"])(_ref, ["children"]);
149
+ return restProps.href ? _react["default"].createElement("a", restProps, children) : _react["default"].createElement("button", (0, _extends2["default"])({}, restProps, {
148
150
  type: "button"
149
151
  }), children);
150
152
  }