@hi-ui/hiui 2.15.10 → 2.15.11

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 (340) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/es/_util/warning.js +2 -2
  3. package/es/alert/__test__/index.test.js +67 -0
  4. package/es/alert/index.js +147 -6
  5. package/es/alert/style/index.css +1 -1
  6. package/es/badge/index.js +87 -9
  7. package/es/badge/style/index.css +1 -1
  8. package/es/badge/style/index.js +0 -0
  9. package/es/button/Button.js +51 -59
  10. package/es/button/ButtonGroup.js +31 -23
  11. package/es/button/IconLoading.js +2 -2
  12. package/es/button/__test__/index.test.js +29 -0
  13. package/es/button/index.js +2 -3
  14. package/es/button/style/index.css +1 -1
  15. package/es/card/index.js +42 -54
  16. package/es/card/style/index.css +1 -1
  17. package/es/cascader/Cascader.js +116 -181
  18. package/es/cascader/__test__/index.test.js +283 -0
  19. package/es/cascader/index.js +2 -5
  20. package/es/cascader/menu.js +155 -0
  21. package/es/cascader/style/cascader.css +1 -1
  22. package/es/cascader/style/menu.css +1 -1
  23. package/es/checkbox/{checkbox-legacy/Base.js → Base.js} +31 -46
  24. package/es/checkbox/CheckBox.js +185 -0
  25. package/es/checkbox/index.js +4 -13
  26. package/es/checkbox/style/index.css +1 -1
  27. package/es/collapse/__test__/index.test.js +58 -0
  28. package/es/collapse/index.js +93 -79
  29. package/es/collapse/style/index.css +1 -1
  30. package/es/confirm/index.js +50 -37
  31. package/es/context/index.js +37 -39
  32. package/es/counter/__test__/index.test.js +52 -0
  33. package/es/counter/index.js +270 -6
  34. package/es/counter/style/index.css +1 -1
  35. package/es/date-picker/BasePicker.js +288 -374
  36. package/es/date-picker/Calender.js +90 -326
  37. package/es/date-picker/DatePanel.js +186 -175
  38. package/es/date-picker/DatePicker.js +51 -151
  39. package/es/date-picker/DateRangePanel.js +181 -253
  40. package/es/date-picker/Modal.js +25 -15
  41. package/es/date-picker/Time.js +336 -230
  42. package/es/date-picker/TimePanel.js +32 -27
  43. package/es/date-picker/TimePeriodPanel.js +32 -21
  44. package/es/date-picker/TimePicker.js +40 -42
  45. package/es/date-picker/TimeRangePanel.js +42 -32
  46. package/es/date-picker/Type.js +1 -5
  47. package/es/date-picker/WeekRangePanel.js +150 -237
  48. package/es/date-picker/constants.js +28 -14
  49. package/es/date-picker/dateUtil.js +52 -221
  50. package/es/date-picker/index.js +2 -5
  51. package/es/date-picker/style/index.css +1 -1
  52. package/es/date-picker/util.js +8 -101
  53. package/es/dropdown/Dropdown.js +199 -193
  54. package/es/dropdown/{tests → __test__}/index.test.js +2 -2
  55. package/es/dropdown/index.js +4 -73
  56. package/es/dropdown/style/index.css +1 -1
  57. package/es/dropdown/style/index.js +2 -0
  58. package/es/ficon/index.js +23 -13
  59. package/es/form/index.js +171 -6
  60. package/es/form/{Item.js → item.js} +53 -53
  61. package/es/form/style/index.css +1 -1
  62. package/es/grid/index.js +37 -25
  63. package/es/icon/index.js +32 -21
  64. package/es/index.js +9 -61
  65. package/es/input/index.js +345 -28
  66. package/es/input/style/index.css +1 -1
  67. package/es/input/util.js +18 -26
  68. package/es/lib/withDragDropContext.js +2 -2
  69. package/es/loading/index.js +129 -5
  70. package/es/loading/style/index.css +0 -0
  71. package/es/loading/style/index.js +0 -0
  72. package/es/locales/en-US.js +11 -45
  73. package/es/locales/index.js +2 -16
  74. package/es/locales/zh-CN.js +12 -46
  75. package/es/menu/Item.js +41 -32
  76. package/es/menu/ItemGroup.js +81 -0
  77. package/es/menu/SubMenu.js +74 -55
  78. package/es/menu/Title.js +42 -36
  79. package/es/menu/index.js +419 -12
  80. package/es/menu/style/index.css +1 -1
  81. package/es/modal/__test__/index.test.js +123 -0
  82. package/es/modal/index.js +61 -77
  83. package/es/modal/style/index.css +1 -1
  84. package/es/nav-menu/NavMenu.js +45 -31
  85. package/es/nav-menu/__test__/index.test.js +2 -2
  86. package/es/nav-menu/index.js +2 -2
  87. package/es/notification/__test__/index.test.js +56 -0
  88. package/es/notification/index.js +231 -68
  89. package/es/notification/style/index.css +1 -1
  90. package/es/notification/style/index.js +0 -0
  91. package/es/pagination/Pager.js +8 -6
  92. package/es/pagination/Pagination.js +115 -124
  93. package/es/pagination/__test__/index.test.js +140 -0
  94. package/es/pagination/index.js +8 -9
  95. package/es/pagination/style/index.css +1 -1
  96. package/es/panel/index.js +33 -23
  97. package/es/popover/__test__/index.test.js +2 -2
  98. package/es/popover/index.js +69 -71
  99. package/es/popper/index.js +54 -64
  100. package/es/popper/style/index.css +1 -1
  101. package/es/progress/BarProgress.js +43 -109
  102. package/es/progress/CircleProgress.js +10 -9
  103. package/es/progress/DashboardProgress.js +9 -7
  104. package/es/progress/index.js +100 -8
  105. package/es/progress/style/index.css +1 -1
  106. package/es/radio/{radio-legacy/__test__ → __test__}/index.test.js +10 -10
  107. package/es/radio/index.js +216 -10
  108. package/es/radio/style/index.css +1 -1
  109. package/es/rate/Icons.js +2 -2
  110. package/es/rate/Rate.js +90 -65
  111. package/es/rate/__test__/index.test.js +54 -0
  112. package/es/rate/index.js +2 -5
  113. package/es/rate/style/index.css +1 -1
  114. package/es/select/Option.js +93 -0
  115. package/es/select/Select.js +253 -325
  116. package/es/select/SelectDropdown.js +63 -215
  117. package/es/select/SelectInput.js +54 -88
  118. package/es/select/__test__/index.test.js +429 -0
  119. package/es/select/index.js +4 -6
  120. package/es/select/style/select-dropdown.css +1 -1
  121. package/es/select/style/select-input.css +1 -1
  122. package/es/stepper/index.js +127 -21
  123. package/es/stepper/style/index.css +1 -1
  124. package/es/style/color/colors.css +0 -0
  125. package/es/style/icon/diyIcon.css +1 -1
  126. package/es/style/icon/index.css +1 -1
  127. package/es/style/index.css +0 -0
  128. package/es/style/mixins/colors.css +0 -0
  129. package/es/style/mixins/index.css +0 -0
  130. package/es/style/theme/dark.css +0 -0
  131. package/es/style/theme/default.css +0 -0
  132. package/es/switch/{__tests__ → __test__}/index.test.js +2 -31
  133. package/es/switch/index.js +36 -24
  134. package/es/switch/style/index.css +1 -1
  135. package/es/table/__test__/index.test.js +73 -0
  136. package/es/table/{Body.js → body.js} +52 -36
  137. package/es/table/checkbox/index.js +36 -33
  138. package/es/table/clickOuterside.js +115 -0
  139. package/es/table/{Footer.js → footer.js} +41 -24
  140. package/es/table/{Header.js → header.js} +54 -41
  141. package/es/table/index.js +300 -262
  142. package/es/table/menu/index.js +34 -32
  143. package/es/table/pover.js +154 -0
  144. package/es/table/prefix.js +2 -2
  145. package/es/table/style/Table.css +1 -1
  146. package/es/table/style/index.css +1 -1
  147. package/es/table/tableContent.js +120 -0
  148. package/es/tabs/ItemDropdown.js +51 -39
  149. package/es/tabs/TabPane.js +35 -25
  150. package/es/tabs/Tabs.js +91 -98
  151. package/es/tabs/index.js +3 -9
  152. package/es/tabs/style/index.css +1 -1
  153. package/es/timeline/__test__/index.test.js +49 -0
  154. package/es/timeline/foldingItem.js +82 -0
  155. package/es/timeline/index.js +127 -203
  156. package/es/timeline/style/index.css +1 -1
  157. package/es/tooltip/__test__/index.test.js +67 -0
  158. package/es/tooltip/index.js +39 -86
  159. package/es/tooltip/style/index.css +1 -1
  160. package/es/transfer/Item.js +44 -53
  161. package/es/transfer/__test__/index.test.js +11 -0
  162. package/es/transfer/index.js +443 -4
  163. package/es/transfer/style/index.css +1 -1
  164. package/es/tree/Tree.js +86 -76
  165. package/es/tree/TreeDivider.js +3 -3
  166. package/es/tree/TreeItem.js +108 -204
  167. package/es/tree/TreeNode.js +318 -457
  168. package/es/tree/index.js +2 -9
  169. package/es/tree/style/index.css +1 -1
  170. package/es/tree/util.js +257 -9
  171. package/es/upload/{upload-legacy/Preview.js → Preview.js} +39 -33
  172. package/es/upload/Upload.js +193 -289
  173. package/es/upload/UploadAvatar.js +58 -44
  174. package/es/upload/UploadClick.js +45 -49
  175. package/es/upload/UploadDrag.js +43 -44
  176. package/es/upload/UploadPhoto.js +55 -70
  177. package/es/upload/UploadPictureCard.js +44 -39
  178. package/es/upload/index.js +71 -8
  179. package/es/upload/style/index.css +1 -1
  180. package/es/upload/tool.js +1 -0
  181. package/package.json +4 -1
  182. package/es/_util/SwitchVersion.js +0 -44
  183. package/es/_util/depreactedPropsCompat.js +0 -58
  184. package/es/_util/index.js +0 -32
  185. package/es/alert/Alert.js +0 -134
  186. package/es/alert/__tests__/index.test.js +0 -88
  187. package/es/badge/Badge.js +0 -90
  188. package/es/badge/__tests__/index.test.js +0 -82
  189. package/es/breadcrumb/__tests__/index.test.js +0 -61
  190. package/es/breadcrumb/index.js +0 -93
  191. package/es/breadcrumb/style/index.css +0 -1
  192. package/es/button/__tests__/index.test.js +0 -219
  193. package/es/card/__tests__/index.test.js +0 -169
  194. package/es/carousel/__tests__/index.test.js +0 -104
  195. package/es/carousel/index.js +0 -227
  196. package/es/carousel/style/index.css +0 -1
  197. package/es/carousel/style/index.js +0 -3
  198. package/es/cascader/Menu.js +0 -174
  199. package/es/cascader/__tests__/index.test.js +0 -389
  200. package/es/checkbox/Checkbox.js +0 -144
  201. package/es/checkbox/Group.js +0 -202
  202. package/es/checkbox/__tests__/index.test.js +0 -226
  203. package/es/checkbox/checkbox-legacy/CheckBox.js +0 -165
  204. package/es/checkbox/checkbox-legacy/index.js +0 -15
  205. package/es/checkbox/checkbox-legacy/style/index.css +0 -1
  206. package/es/checkbox/checkbox-legacy/style/index.js +0 -3
  207. package/es/collapse/__tests__/index.test.js +0 -111
  208. package/es/counter/Counter.js +0 -343
  209. package/es/counter/__tests__/index.test.js +0 -134
  210. package/es/counter/counter-legacy/index.js +0 -271
  211. package/es/date-picker/TimeList.js +0 -254
  212. package/es/date-picker/YMRangePanel.js +0 -372
  213. package/es/date-picker/__tests__/index.test.js +0 -961
  214. package/es/date-picker/datepicker-legacy/BasePicker.js +0 -519
  215. package/es/date-picker/datepicker-legacy/Calender.js +0 -430
  216. package/es/date-picker/datepicker-legacy/DatePanel.js +0 -463
  217. package/es/date-picker/datepicker-legacy/DatePicker.js +0 -107
  218. package/es/date-picker/datepicker-legacy/DateRangePanel.js +0 -496
  219. package/es/date-picker/datepicker-legacy/Modal.js +0 -71
  220. package/es/date-picker/datepicker-legacy/Time.js +0 -413
  221. package/es/date-picker/datepicker-legacy/TimePanel.js +0 -93
  222. package/es/date-picker/datepicker-legacy/TimePeriodPanel.js +0 -126
  223. package/es/date-picker/datepicker-legacy/TimePicker.js +0 -82
  224. package/es/date-picker/datepicker-legacy/TimeRangePanel.js +0 -98
  225. package/es/date-picker/datepicker-legacy/Type.js +0 -31
  226. package/es/date-picker/datepicker-legacy/WeekRangePanel.js +0 -345
  227. package/es/date-picker/datepicker-legacy/constants.js +0 -79
  228. package/es/date-picker/datepicker-legacy/dateUtil.js +0 -258
  229. package/es/date-picker/datepicker-legacy/index.js +0 -15
  230. package/es/date-picker/datepicker-legacy/local.js +0 -11
  231. package/es/date-picker/datepicker-legacy/style/index.css +0 -1
  232. package/es/date-picker/datepicker-legacy/style/index.js +0 -3
  233. package/es/date-picker/datepicker-legacy/style/timepicker.css +0 -1
  234. package/es/date-picker/datepicker-legacy/util.js +0 -60
  235. package/es/date-picker/toLunar.js +0 -172
  236. package/es/dropdown/DropdownButton.js +0 -106
  237. package/es/dropdown/DropdownMenu.js +0 -111
  238. package/es/dropdown/DropdownMenuItem.js +0 -178
  239. package/es/dropdown/__tests__/index.test.js +0 -317
  240. package/es/dropdown/utils.js +0 -35
  241. package/es/form/Form.js +0 -184
  242. package/es/form/__tests__/index.test.js +0 -575
  243. package/es/grid/__tests__/index.test.js +0 -104
  244. package/es/input/Input.js +0 -412
  245. package/es/input/__tests__/index.test.js +0 -381
  246. package/es/input/input-legacy/index.js +0 -353
  247. package/es/input/input-legacy/util.js +0 -176
  248. package/es/loading/Loading.js +0 -181
  249. package/es/loading/__tests__/index.test.js +0 -110
  250. package/es/locales/zh-Hant-HK.js +0 -121
  251. package/es/locales/zh-Hant-TW.js +0 -123
  252. package/es/menu/Menu.js +0 -422
  253. package/es/menu/__tests__/index.test.js +0 -279
  254. package/es/message/__tests__/index.test.js +0 -75
  255. package/es/message/index.js +0 -58
  256. package/es/message/style/index.css +0 -1
  257. package/es/message/style/index.js +0 -5
  258. package/es/modal/__tests__/index.test.js +0 -178
  259. package/es/nav-menu/__tests__/index.test.js +0 -27
  260. package/es/notice/Notice.js +0 -142
  261. package/es/notice/NoticeContainer.js +0 -113
  262. package/es/notice/__tests__/index.test.js +0 -174
  263. package/es/notice/index.js +0 -66
  264. package/es/notice/style/index.css +0 -1
  265. package/es/notice/style/index.js +0 -5
  266. package/es/notification/HandleNotification/index.js +0 -224
  267. package/es/notification/HandleNotification/style/index.css +0 -1
  268. package/es/notification/HandleNotification/style/index.js +0 -5
  269. package/es/notification/__tests__/index.test.js +0 -118
  270. package/es/pagination/__tests__/index.test.js +0 -248
  271. package/es/popover/__tests__/index.test.js +0 -152
  272. package/es/preview/index.js +0 -527
  273. package/es/preview/style/index.css +0 -1
  274. package/es/preview/style/index.js +0 -3
  275. package/es/progress/Progress.js +0 -110
  276. package/es/progress/__tests__/index.test.js +0 -131
  277. package/es/radio/Group.js +0 -203
  278. package/es/radio/Radio.js +0 -151
  279. package/es/radio/__tests__/index.test.js +0 -128
  280. package/es/radio/radio-legacy/index.js +0 -222
  281. package/es/radio/radio-legacy/style/index.css +0 -1
  282. package/es/radio/radio-legacy/style/index.js +0 -3
  283. package/es/rate/__tests__/index.test.js +0 -124
  284. package/es/select/__tests__/index.test.js +0 -505
  285. package/es/select/select-legacy/Option.js +0 -81
  286. package/es/select/select-legacy/Select.js +0 -710
  287. package/es/select/select-legacy/SelectDropdown.js +0 -164
  288. package/es/select/select-legacy/SelectInput.js +0 -312
  289. package/es/select/select-legacy/common.js +0 -19
  290. package/es/select/select-legacy/index.js +0 -16
  291. package/es/stepper/Stepper.js +0 -151
  292. package/es/stepper/__tests__/index.test.js +0 -161
  293. package/es/table/ClickOuterside.js +0 -103
  294. package/es/table/TableContent.js +0 -109
  295. package/es/table/__tests__/index.test.js +0 -133
  296. package/es/table/checkbox/style/index.css +0 -1
  297. package/es/table/checkbox/style/index.js +0 -3
  298. package/es/tabs/__tests__/index.test.js +0 -333
  299. package/es/tabs/tabs-legacy/ItemDropdown.js +0 -170
  300. package/es/tabs/tabs-legacy/TabPane.js +0 -78
  301. package/es/tabs/tabs-legacy/Tabs.js +0 -299
  302. package/es/tabs/tabs-legacy/index.js +0 -18
  303. package/es/tabs/tabs-legacy/style/index.css +0 -1
  304. package/es/tabs/tabs-legacy/style/index.js +0 -3
  305. package/es/tag/__tests__/index.test.js +0 -46
  306. package/es/tag/index.js +0 -94
  307. package/es/tag/style/index.css +0 -1
  308. package/es/tag/style/index.js +0 -3
  309. package/es/timeline/__tests__/index.test.js +0 -198
  310. package/es/tooltip/__tests__/index.test.js +0 -170
  311. package/es/transfer/Transfer.js +0 -566
  312. package/es/transfer/__tests__/index.test.js +0 -210
  313. package/es/tree/IconLoading.js +0 -38
  314. package/es/tree/__tests__/index.test.js +0 -603
  315. package/es/tree/tree-legacy/Tree.js +0 -337
  316. package/es/tree/tree-legacy/TreeDivider.js +0 -25
  317. package/es/tree/tree-legacy/TreeItem.js +0 -333
  318. package/es/tree/tree-legacy/TreeNode.js +0 -719
  319. package/es/tree/tree-legacy/index.js +0 -13
  320. package/es/tree/tree-legacy/style/index.css +0 -1
  321. package/es/tree/tree-legacy/style/index.js +0 -3
  322. package/es/tree/tree-legacy/util.js +0 -434
  323. package/es/upload/__tests__/index.test.js +0 -760
  324. package/es/upload/main.js +0 -91
  325. package/es/upload/upload-legacy/Upload.js +0 -435
  326. package/es/upload/upload-legacy/UploadAvatar.js +0 -322
  327. package/es/upload/upload-legacy/UploadClick.js +0 -125
  328. package/es/upload/upload-legacy/UploadDrag.js +0 -180
  329. package/es/upload/upload-legacy/UploadPhoto.js +0 -183
  330. package/es/upload/upload-legacy/UploadPictureCard.js +0 -126
  331. package/es/upload/upload-legacy/index.js +0 -75
  332. package/es/upload/upload-legacy/style/index.css +0 -1
  333. package/es/upload/upload-legacy/style/index.js +0 -5
  334. package/es/upload/upload-legacy/tool.js +0 -84
  335. package/es/watermark/index.js +0 -101
  336. package/es/watermark/watermark.js +0 -252
  337. /package/es/checkbox/{checkbox-legacy/common.js → common.js} +0 -0
  338. /package/es/{breadcrumb/style → style}/index.js +0 -0
  339. /package/es/upload/{upload-legacy/style → style}/preview.css +0 -0
  340. /package/es/upload/{upload-legacy/style → style}/preview.js +0 -0
@@ -0,0 +1,429 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _ = _interopRequireDefault(require("../"));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+
11
+ var wrapper;
12
+ var changeCallback = jest.fn(function (items) {
13
+ return items;
14
+ });
15
+ var successCallback = jest.fn(function (res) {
16
+ return res.data;
17
+ });
18
+ var errorCallback = jest.fn(function (err) {
19
+ return err;
20
+ });
21
+ jest.mock('lodash/debounce', function () {
22
+ return jest.fn(function (fn) {
23
+ return fn;
24
+ });
25
+ });
26
+ var options = [{
27
+ name: '手机',
28
+ id: '2'
29
+ }, {
30
+ name: '电视',
31
+ id: '3'
32
+ }, {
33
+ name: '笔记本',
34
+ id: '4',
35
+ disabled: true
36
+ }, {
37
+ name: '生活周边',
38
+ id: '5'
39
+ }, {
40
+ name: '办公',
41
+ id: '6'
42
+ }];
43
+ var multiOptions = [{
44
+ name: '手机',
45
+ id: '2'
46
+ }, {
47
+ name: '小米2',
48
+ id: '2-1'
49
+ }, {
50
+ name: '小米3',
51
+ id: '2-2'
52
+ }, {
53
+ name: '小米4',
54
+ id: '2-3'
55
+ }, {
56
+ name: '小米5',
57
+ id: '2-4'
58
+ }, {
59
+ name: '电脑',
60
+ id: '3'
61
+ }, {
62
+ name: '笔记本',
63
+ id: '4'
64
+ }, {
65
+ name: '生活周边',
66
+ id: '5'
67
+ }, {
68
+ name: '其它',
69
+ id: '6'
70
+ }];
71
+ describe('Select', function () {
72
+ beforeEach(function () {
73
+ jest.useFakeTimers();
74
+ jest.setTimeout(10000);
75
+ });
76
+ afterEach(function () {
77
+ wrapper && wrapper.unmount();
78
+ changeCallback.mockClear();
79
+ jest.useRealTimers();
80
+ });
81
+ it('禁止状态', function () {
82
+ wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"], {
83
+ mode: "single",
84
+ list: options,
85
+ placeholder: "\u8BF7\u9009\u62E9\u54C1\u7C7B",
86
+ style: {
87
+ width: '200px'
88
+ },
89
+ onChange: function onChange(item) {},
90
+ disabled: true
91
+ }));
92
+ wrapper.find('SelectInput').simulate('click');
93
+ expect(document.querySelectorAll('.hi-select__popper')).toHaveLength(0);
94
+ });
95
+ it('单选', function () {
96
+ wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"], {
97
+ mode: "single",
98
+ clearable: false,
99
+ style: {
100
+ width: '200px'
101
+ },
102
+ list: options,
103
+ value: "3",
104
+ onChange: changeCallback
105
+ }));
106
+ wrapper.find('SelectInput').simulate('click'); // 展开
107
+
108
+ expect(document.querySelectorAll('.hi-select__popper')).toHaveLength(1);
109
+ expect(wrapper.find('Select').state('selectedItems')[0].id).toEqual('3');
110
+ document.querySelectorAll('.hi-select__dropdown--item')[2].click(); // 测试disabled
111
+
112
+ expect(wrapper.find('Select').state('selectedItems')[0].id).toEqual('3');
113
+ expect(changeCallback.mock.results.length).toBe(0);
114
+ document.querySelectorAll('.hi-select__dropdown--item')[0].click(); // 测试点击选项
115
+
116
+ expect(wrapper.find('Select').state('selectedItems')[0].id).toEqual('2');
117
+ expect(document.querySelectorAll('.hi-popper__container--hide')).toHaveLength(1); // 选项面板是否隐藏
118
+
119
+ expect(changeCallback.mock.results[0].value[0].id).toEqual('2'); // onChange
120
+ });
121
+ it('自定义模板', function () {
122
+ wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"], {
123
+ placeholder: "\u8BF7\u9009\u62E9\u79CD\u7C7B",
124
+ style: {
125
+ width: '200px'
126
+ },
127
+ value: '3',
128
+ list: options,
129
+ searchable: true,
130
+ onChange: changeCallback,
131
+ dropdownRender: function dropdownRender(item, isSelected) {
132
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("span", {
133
+ className: "option-left",
134
+ style: {
135
+ "float": 'left'
136
+ }
137
+ }, item.name), /*#__PURE__*/_react["default"].createElement("span", {
138
+ className: "option-right",
139
+ style: {
140
+ "float": 'right',
141
+ color: '#999',
142
+ fontSize: 14
143
+ }
144
+ }, item.id));
145
+ }
146
+ }));
147
+ wrapper.find('SelectInput').simulate('click'); // 展开
148
+
149
+ expect(document.querySelectorAll('.option-left')).toHaveLength(5); // 测试自定义模板
150
+
151
+ expect(document.querySelectorAll('.option-right')).toHaveLength(5);
152
+ wrapper.find('input').simulate('change', {
153
+ target: {
154
+ value: '1'
155
+ }
156
+ }); // 测试搜索
157
+
158
+ expect(document.querySelectorAll('.option-right')).toHaveLength(0); // 无搜索结果
159
+
160
+ wrapper.find('input').simulate('change', {
161
+ target: {
162
+ value: '2'
163
+ }
164
+ });
165
+ expect(document.querySelectorAll('.option-right')).toHaveLength(1);
166
+ document.querySelectorAll('.hi-select__dropdown--item')[0].click();
167
+ expect(wrapper.find('Select').state('selectedItems')[0].id).toEqual('2');
168
+ expect(changeCallback.mock.results[0].value[0].id).toEqual('2');
169
+ });
170
+ it('异步单选', function (done) {
171
+ var _document = document;
172
+ var mockSuccessResponse = {
173
+ 'success': true,
174
+ 'code': 200,
175
+ 'data': [{
176
+ 'name': '1-0',
177
+ 'id': '0'
178
+ }, {
179
+ 'name': '1-1',
180
+ 'id': '1'
181
+ }, {
182
+ 'name': '1-2',
183
+ 'id': '2'
184
+ }, {
185
+ 'name': '1-3',
186
+ 'id': '3'
187
+ }]
188
+ };
189
+ var mockJsonPromise = Promise.resolve(mockSuccessResponse); // 2
190
+
191
+ var mockFetchPromise = Promise.resolve({
192
+ // 3
193
+ json: function json() {
194
+ return mockJsonPromise;
195
+ }
196
+ });
197
+ jest.spyOn(global, 'fetch').mockImplementation(function () {
198
+ return mockFetchPromise;
199
+ });
200
+ wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"], {
201
+ mode: "single",
202
+ origin: {
203
+ type: 'GET',
204
+ headers: {
205
+ token: 'tokenXXXXXXX'
206
+ },
207
+ mode: 'cors',
208
+ credentials: 'same-origin',
209
+ url: 'https://easy-mock.com/mock/5c1b42e3fe5907404e6540e9/hiui/select/options',
210
+ func: successCallback
211
+ },
212
+ placeholder: "\u8BF7\u9009\u62E9\u79CD\u7C7B",
213
+ style: {
214
+ width: '200px'
215
+ },
216
+ onChange: changeCallback
217
+ }));
218
+ wrapper.find('SelectInput').simulate('click'); // 展开
219
+
220
+ wrapper.find('input').simulate('change', {
221
+ target: {
222
+ value: '1'
223
+ }
224
+ }); // 测试搜索
225
+
226
+ expect(global.fetch).toHaveBeenCalledTimes(1);
227
+ expect(global.fetch).toHaveBeenCalledWith('https://easy-mock.com/mock/5c1b42e3fe5907404e6540e9/hiui/select/options?keyword=1', {
228
+ 'credentials': 'same-origin',
229
+ 'headers': {
230
+ 'token': 'tokenXXXXXXX'
231
+ },
232
+ 'method': 'GET',
233
+ 'mode': 'cors'
234
+ });
235
+ process.nextTick(function () {
236
+ expect(_document.querySelectorAll('.hi-select__dropdown--item')).toHaveLength(4);
237
+
238
+ _document.querySelectorAll('.hi-select__dropdown--item')[0].click();
239
+
240
+ expect(wrapper.find('Select').state('selectedItems')[0].id).toEqual('0');
241
+ expect(changeCallback.mock.results[0].value[0].id).toEqual('0');
242
+ global.fetch.mockClear();
243
+ done();
244
+ });
245
+ });
246
+ it('多选', function () {
247
+ wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"], {
248
+ mode: "multiple",
249
+ style: {
250
+ width: '300px'
251
+ },
252
+ optionWidth: 400,
253
+ multipleMode: "nowrap",
254
+ list: multiOptions,
255
+ value: ['4', '5', '2', '3'],
256
+ searchable: true,
257
+ showCheckAll: true,
258
+ placeholder: "\u8BF7\u9009\u62E9...",
259
+ noFoundTip: "\u65E0\u5339\u914D\u6570\u636E",
260
+ onChange: changeCallback
261
+ })); // expect(wrapper.find('.hi-select__input-items--left-count').text()).toEqual('1')
262
+
263
+ expect(wrapper.find('.hi-select__input--item')).toHaveLength(4);
264
+ wrapper.find('.hi-select__input--item__remove').at(0).simulate('click'); // 删除第一个
265
+
266
+ expect(wrapper.find('.hi-select__input--item')).toHaveLength(3);
267
+ expect(changeCallback.mock.results[0].value).toHaveLength(3);
268
+ wrapper.find('SelectInput').simulate('click'); // 展开
269
+
270
+ document.querySelectorAll('.hi-select__dropdown--item')[1].click(); // 选择第二项
271
+
272
+ expect(changeCallback.mock.results[1].value).toHaveLength(4);
273
+ wrapper.find('SelectInput').simulate('click'); // 展开
274
+
275
+ document.querySelectorAll('.hi-select__dropdown--item')[1].click(); // 取消选择第二项
276
+
277
+ expect(changeCallback.mock.results[2].value).toHaveLength(3);
278
+ wrapper.find('input').simulate('change', {
279
+ target: {
280
+ value: '0'
281
+ }
282
+ }); // 测试搜索
283
+
284
+ expect(document.querySelectorAll('.hi-select__dropdown-item--empty')).toHaveLength(1); // 无搜索结果
285
+
286
+ wrapper.find('input').simulate('change', {
287
+ target: {
288
+ value: '1'
289
+ }
290
+ });
291
+ expect(document.querySelectorAll('.hi-select__dropdown--item')).toHaveLength(1);
292
+ document.querySelectorAll('.hi-select__dropdown--item')[0].click();
293
+ expect(changeCallback.mock.results[3].value).toHaveLength(4);
294
+ });
295
+ it('异步多选首次加载数据', function (done) {
296
+ var _document = document;
297
+ var mockSuccessResponse = {
298
+ 'success': true,
299
+ 'code': 200,
300
+ 'data': [{
301
+ 'name': '1-0',
302
+ 'id': '0'
303
+ }, {
304
+ 'name': '1-1',
305
+ 'id': '1'
306
+ }, {
307
+ 'name': '1-2',
308
+ 'id': '2'
309
+ }, {
310
+ 'name': '1-3',
311
+ 'id': '3'
312
+ }]
313
+ };
314
+ var mockJsonPromise = Promise.resolve(mockSuccessResponse); // 2
315
+
316
+ var mockFetchPromise = Promise.resolve({
317
+ // 3
318
+ json: function json() {
319
+ return mockJsonPromise;
320
+ }
321
+ });
322
+ jest.spyOn(global, 'fetch').mockImplementation(function () {
323
+ return mockFetchPromise;
324
+ });
325
+ wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"], {
326
+ mode: "multiple",
327
+ autoload: true,
328
+ style: {
329
+ width: '300px'
330
+ },
331
+ multipleMode: "nowrap",
332
+ value: "1",
333
+ origin: {
334
+ type: 'get',
335
+ key: 'text',
336
+ keyword: 'xiaomi',
337
+ url: 'https://easy-mock.com/mock/5c1b42e3fe5907404e6540e9/hiui/select/options',
338
+ func: successCallback
339
+ },
340
+ onChange: changeCallback
341
+ }));
342
+ expect(global.fetch).toHaveBeenCalledTimes(1);
343
+ expect(global.fetch).toHaveBeenCalledWith('https://easy-mock.com/mock/5c1b42e3fe5907404e6540e9/hiui/select/options?text=xiaomi', {
344
+ 'keyword': 'xiaomi',
345
+ 'method': 'get'
346
+ });
347
+ process.nextTick(function () {
348
+ // 首次加载数据
349
+ wrapper.find('SelectInput').simulate('click'); // 展开
350
+
351
+ expect(_document.querySelectorAll('.hi-select__dropdown--item')).toHaveLength(4);
352
+ expect(wrapper.find('Select').state('selectedItems')[0].id).toEqual('1'); // 默认选择项
353
+
354
+ global.fetch.mockClear();
355
+ done();
356
+ });
357
+ });
358
+ it('异步多选', function (done) {
359
+ var _document = document;
360
+ var mockSuccessResponse = {
361
+ 'success': true,
362
+ 'code': 200,
363
+ 'data': [{
364
+ 'name': '1-0',
365
+ 'id': '0'
366
+ }, {
367
+ 'name': '1-1',
368
+ 'id': '1'
369
+ }, {
370
+ 'name': '1-2',
371
+ 'id': '2'
372
+ }, {
373
+ 'name': '1-3',
374
+ 'id': '3'
375
+ }]
376
+ };
377
+ var mockJsonPromise = Promise.resolve(mockSuccessResponse); // 2
378
+
379
+ var mockFetchPromise = Promise.resolve({
380
+ // 3
381
+ json: function json() {
382
+ return mockJsonPromise;
383
+ }
384
+ });
385
+ jest.spyOn(global, 'fetch').mockImplementation(function () {
386
+ return mockFetchPromise;
387
+ });
388
+ wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"], {
389
+ mode: "multiple",
390
+ autoload: false,
391
+ style: {
392
+ width: '300px'
393
+ },
394
+ multipleMode: "nowrap",
395
+ origin: {
396
+ type: 'get',
397
+ key: 'text',
398
+ url: 'https://easy-mock.com/mock/5c1b42e3fe5907404e6540e9/hiui/select/options',
399
+ func: successCallback
400
+ },
401
+ onChange: changeCallback
402
+ }));
403
+ wrapper.find('SelectInput').simulate('click'); // 展开
404
+
405
+ wrapper.find('input').simulate('change', {
406
+ target: {
407
+ value: '1'
408
+ }
409
+ }); // 测试搜索
410
+
411
+ expect(global.fetch).toHaveBeenCalledTimes(1);
412
+ expect(global.fetch).toHaveBeenCalledWith('https://easy-mock.com/mock/5c1b42e3fe5907404e6540e9/hiui/select/options?text=1', {
413
+ 'method': 'get'
414
+ });
415
+ process.nextTick(function () {
416
+ wrapper.find('SelectInput').simulate('click'); // 展开
417
+
418
+ expect(_document.querySelectorAll('.hi-select__dropdown--item')).toHaveLength(4);
419
+
420
+ _document.querySelectorAll('.hi-select__dropdown--item')[0].click(); // 选择第一项
421
+
422
+
423
+ expect(wrapper.find('Select').state('selectedItems')[0].id).toEqual('0');
424
+ expect(changeCallback.mock.results[0].value[0].id).toEqual('0');
425
+ global.fetch.mockClear();
426
+ done();
427
+ });
428
+ });
429
+ });
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -9,12 +7,12 @@ exports["default"] = void 0;
9
7
 
10
8
  var _Select = _interopRequireDefault(require("./Select"));
11
9
 
12
- var _selectLegacy = _interopRequireDefault(require("./select-legacy"));
10
+ var _Option = _interopRequireDefault(require("./Option"));
13
11
 
14
12
  require("./style/index");
15
13
 
16
- var _SwitchVersion = _interopRequireDefault(require("../_util/SwitchVersion"));
17
-
18
- var _default = (0, _SwitchVersion["default"])(_Select["default"], _selectLegacy["default"]);
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
15
 
16
+ _Select["default"].Option = _Option["default"];
17
+ var _default = _Select["default"];
20
18
  exports["default"] = _default;
@@ -1 +1 @@
1
- .hi-select__dropdown{width:100%;font-size:12px;color:#333;overflow-x:hidden;overflow-y:auto;background-color:#fff;-webkit-box-shadow:0 1px 6px rgba(0,0,0,0.2);box-shadow:0 1px 6px rgba(0,0,0,0.2);border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left}.hi-select__dropdown--loading{height:50px}.hi-select__dropdown--items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;max-height:250px;list-style:none;margin:0;padding:0}.hi-select__dropdown-check-all{padding:8px 12px;font-size:12px;color:#4284f5;cursor:pointer;border-top:1px solid #e6e7e8}.hi-select__dropdown--item{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block;height:36px;line-height:36px;padding:0 12px;margin:0;font-weight:400;cursor:pointer;list-style:none;-webkit-transition:all 0.3s ease;transition:all 0.3s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hi-select__dropdown--item.hi-select__dropdown--item-default{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hi-select__dropdown--item .hi-select__dropdown--item__name{padding-right:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.hi-select__dropdown--item .hi-select__dropdown--item__name-hightlight{color:#f63}.hi-select__dropdown--item .hi-select__dropdown--item__checkbox{-webkit-box-flex:0;-ms-flex:none;flex:none;position:relative}.hi-select__dropdown--item .hi-checkbox-label{padding:0;margin-right:10px}.hi-select__dropdown--item.is-active{color:#4284f5}.hi-select__dropdown--item.is-disabled{cursor:not-allowed;opacity:0.4}.hi-select__dropdown--item[data-focused='true']{background-color:rgba(66,132,245,0.08)}.hi-select__dropdown--item.disabled{opacity:0.4;cursor:not-allowed}.hi-select__dropdown--item__name{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.hi-select__dropdown--item__check-icon{-webkit-box-flex:0;-ms-flex:none;flex:none}.hi-select__dropdown__searchbar{background-color:#fff;width:100%;padding:0 12px;-webkit-box-sizing:border-box;box-sizing:border-box}.hi-select__dropdown__searchbar--input{width:100%;height:100%;border:none;outline:none;padding:0 10px}.hi-select__dropdown__searchbar .icon-close-circle{color:#999}.hi-select__dropdown__searchbar--content{height:36px;border-bottom:1px solid #e6e7e8;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hi-select__dropdown__searchbar--content .hi-input__inner{border:none}.theme__orange.hi-select__dropdown-check-all{color:#f63}.theme__orange.hi-select__dropdown--item.is-active{color:#f63}.theme__orange.hi-select__dropdown--item[data-focused='true']{background-color:rgba(255,102,51,0.08)}.theme__cyan.hi-select__dropdown-check-all{color:#46bc99}.theme__cyan.hi-select__dropdown--item.is-active{color:#46bc99}.theme__cyan.hi-select__dropdown--item[data-focused='true']{background-color:rgba(70,188,153,0.08)}.theme__magenta.hi-select__dropdown-check-all{color:#ff5975}.theme__magenta.hi-select__dropdown--item.is-active{color:#ff5975}.theme__magenta.hi-select__dropdown--item[data-focused='true']{background-color:rgba(255,89,117,0.08)}.theme__lavender.hi-select__dropdown-check-all{color:#b450de}.theme__lavender.hi-select__dropdown--item.is-active{color:#b450de}.theme__lavender.hi-select__dropdown--item[data-focused='true']{background-color:rgba(180,80,222,0.08)}.theme__blue.hi-select__dropdown-check-all{color:#3da8f5}.theme__blue.hi-select__dropdown--item.is-active{color:#3da8f5}.theme__blue.hi-select__dropdown--item[data-focused='true']{background-color:rgba(61,168,245,0.08)}.theme__purple.hi-select__dropdown-check-all{color:#8a8acb}.theme__purple.hi-select__dropdown--item.is-active{color:#8a8acb}.theme__purple.hi-select__dropdown--item[data-focused='true']{background-color:rgba(138,138,203,0.08)}
1
+ .hi-select__dropdown{width:100%;max-height:300px;font-size:12px;color:#333;overflow-x:hidden;overflow-y:auto;background-color:#fff;-webkit-box-shadow:0 1px 6px rgba(0,0,0,0.2);box-shadow:0 1px 6px rgba(0,0,0,0.2);border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left}.hi-select__dropdown--loading{height:50px}.hi-select__dropdown--items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;max-height:250px;list-style:none;margin:0;padding:0}.hi-select__dropdown-check-all{padding:8px 12px;font-size:12px;color:#4284f5;cursor:pointer}.hi-select__dropdown--item{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block;height:36px;line-height:36px;padding:0 12px;margin:0;font-weight:400;cursor:pointer;list-style:none;-webkit-transition:all 0.3s ease;transition:all 0.3s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hi-select__dropdown--item.hi-select__dropdown--item-default{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hi-select__dropdown--item .hi-select__dropdown--item__name{padding-right:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hi-select__dropdown--item .hi-select__dropdown--item__checkbox{-webkit-box-flex:0;-ms-flex:none;flex:none}.hi-select__dropdown--item .hi-checkbox-label{padding:0;margin-right:10px}.hi-select__dropdown--item.is-active{color:#4284f5}.hi-select__dropdown--item.is-disabled{cursor:not-allowed;opacity:0.4}.hi-select__dropdown--item[data-focused='true']{background-color:rgba(66,132,245,0.08)}.hi-select__dropdown--item.disabled{opacity:0.4;cursor:not-allowed}.hi-select__dropdown--item__name{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.hi-select__dropdown--item__check-icon{-webkit-box-flex:0;-ms-flex:none;flex:none}
@@ -1 +1 @@
1
- .hi-select__input{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;background-color:#fff;color:#333;line-height:1;border-radius:2px;border:1px solid #d8d8d8;cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;height:32px}.hi-select__input.disabled{cursor:not-allowed;background-color:#f2f2f2;color:#ccc}.hi-select__input.disabled .hi-select__input--icon{background-color:#f2f2f2;color:#ccc;margin-left:0 !important}.hi-select__input.disabled .hi-select__input--icon,.hi-select__input.disabled input{cursor:not-allowed}.hi-select__input .hi-icon{margin-left:0 !important}.hi-select__input.active,.hi-select__input:not(.disabled):hover{border-color:#4284f5}.hi-select__input:not(.disabled):hover .hi-select__input--icon__expand.clearable{display:none}.hi-select__input:not(.disabled):hover .hi-select__input--icon__close{display:block;color:#bbb}.hi-select__input .hi-select__input--icon{-webkit-box-flex:0;-ms-flex:none;flex:none}.hi-select__input--search input{position:relative;max-width:100%;width:100%;height:100%;padding:0;line-height:1;border-radius:2px;font-size:14px;cursor:pointer;background:transparent;border-width:0;outline:0;z-index:10}.hi-select__input--search input[data-visbility='false']{width:1px}.hi-select__input--search input::-webkit-input-placeholder{font-weight:300;color:#ccc}.hi-select__input--search input::-moz-placeholder{font-weight:300;color:#ccc}.hi-select__input--search input:-moz-placeholder{font-weight:300;color:#ccc}.hi-select__input--search input:-ms-input-placeholder{font-weight:300;color:#ccc}.hi-select__input--search--value input{color:#333}.hi-select__input--icon{position:relative;-webkit-box-flex:0;-ms-flex:none;flex:none;display:inline-block;padding-right:8px;cursor:pointer;font-size:24px;color:#434343;background-color:#fff;-webkit-transform:scale(0.66667) rotate(0deg);transform:scale(0.66667) rotate(0deg);-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)"}.hi-select__input--icon .hi-select__input--icon__close{display:none}.hi-select__input.single-value{height:32px;line-height:32px}.hi-select__input.single-value .hi-select__input--item,.hi-select__input.single-value .hi-select__input--search{-webkit-box-flex:1;-ms-flex:auto;flex:auto;padding:0 0 0 12px}.hi-select__input.single-value .hi-select__input--item{height:32px;line-height:32px;overflow:hidden;-webkit-transition:padding 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:padding 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);text-align:left}.hi-select__input.single-value .hi-select__input--item__name{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;-webkit-transition:margin 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:margin 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.hi-select__input.multiple-values{padding:4px 4px 0 4px}.hi-select__input.multiple-values .hi-select__input--icon{margin-top:-4px;margin-right:-4px}.hi-select__input.multiple-values .hi-select__input--search{padding-left:3px}.hi-select__input.multiple-values .hi-select__input--placeholder{position:absolute;top:3px;left:13px;right:30px;height:24px;line-height:24px;color:#ccc;z-index:1}.hi-select__input.multiple-values .hi-select__input--placeholder ~ .hi-select__input-items .hi-select__input--search{padding:0 20px 0 11px}.hi-select__input.multiple-values .hi-select__input-items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:hidden}.hi-select__input.multiple-values .hi-select__input-items.hi-select__input-items--all{-ms-flex-wrap:wrap;flex-wrap:wrap}.hi-select__input.multiple-values .hi-select__input-items--left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 8px;height:22px;line-height:22px;font-size:12px;color:#333;background-color:#f2f2f2;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box}.hi-select__input.multiple-values .hi-select__input-items--left.disabled{color:#ccc}.hi-select__input.multiple-values .hi-select__input--item{-webkit-box-flex:0;-ms-flex:none;flex:none;position:relative;max-width:60%;height:22px;line-height:22px;padding:0 20px 0 10px;margin:0 4px 4px 0;overflow:hidden;vertical-align:middle;background-color:#f2f2f2;border-radius:2px;text-align:left}.hi-select__input.multiple-values .hi-select__input--item__name{font-size:13px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hi-select__input.multiple-values .hi-select__input--item__remove{cursor:pointer;display:inline-block;font-size:12px;position:absolute;top:0;right:4px;padding:0 0 0 8px}.hi-select__input.multiple-values .hi-select__input--item__remove.disabled{cursor:not-allowed}.hi-select__input.multiple-values .hi-select__input--search{height:22px;line-height:22px;margin-bottom:4px}.theme__orange.hi-select__input.active,.theme__orange.hi-select__input:not(.disabled):hover{border-color:#f63}.theme__cyan.hi-select__input.active,.theme__cyan.hi-select__input:not(.disabled):hover{border-color:#46bc99}.theme__magenta.hi-select__input.active,.theme__magenta.hi-select__input:not(.disabled):hover{border-color:#ff5975}.theme__lavender.hi-select__input.active,.theme__lavender.hi-select__input:not(.disabled):hover{border-color:#b450de}.theme__blue.hi-select__input.active,.theme__blue.hi-select__input:not(.disabled):hover{border-color:#3da8f5}.theme__purple.hi-select__input.active,.theme__purple.hi-select__input:not(.disabled):hover{border-color:#8a8acb}
1
+ .hi-select__input{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;background-color:#fff;color:#333;line-height:1;border-radius:2px;border:1px solid #d9d9d9;cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.hi-select__input.disabled{cursor:not-allowed;opacity:0.4}.hi-select__input.disabled .hi-select__input--icon,.hi-select__input.disabled input{cursor:not-allowed}.hi-select__input .hi-icon{margin-left:0 !important}.hi-select__input.active,.hi-select__input:not(.disabled):hover{border-color:#4284f5}.hi-select__input:not(.disabled):hover .hi-select__input--icon__expand.clearable{display:none}.hi-select__input:not(.disabled):hover .hi-select__input--icon__close{display:block;color:#999}.hi-select__input .hi-select__input--icon{-webkit-box-flex:0;-ms-flex:none;flex:none}.hi-select__input--search input{position:relative;max-width:100%;width:100%;height:100%;padding:0;line-height:1;border-radius:2px;font-size:14px;cursor:pointer;background:transparent;border-width:0;outline:0;z-index:10}.hi-select__input--search input[data-visbility='false']{width:1px}.hi-select__input--search input::-webkit-input-placeholder{font-weight:300;color:#ccc}.hi-select__input--search input::-moz-placeholder{font-weight:300;color:#ccc}.hi-select__input--search input:-moz-placeholder{font-weight:300;color:#ccc}.hi-select__input--search input:-ms-input-placeholder{font-weight:300;color:#ccc}.hi-select__input--icon{position:relative;-webkit-box-flex:0;-ms-flex:none;flex:none;display:inline-block;padding:0 0 0 8px;cursor:pointer;font-size:24px;color:#434343;background-color:#fff;-webkit-transform:scale(0.66667) rotate(0deg);transform:scale(0.66667) rotate(0deg);-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)"}.hi-select__input--icon .hi-select__input--icon__close{display:none}.hi-select__input.single-value{height:32px;line-height:32px}.hi-select__input.single-value .hi-select__input--item,.hi-select__input.single-value .hi-select__input--search{-webkit-box-flex:1;-ms-flex:auto;flex:auto;padding:0 0 0 13px}.hi-select__input.single-value .hi-select__input--item{height:32px;line-height:32px;overflow:hidden;-webkit-transition:padding 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:padding 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);text-align:left}.hi-select__input.single-value .hi-select__input--item__name{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;-webkit-transition:margin 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:margin 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.hi-select__input.multiple-values{padding:4px 4px 0 4px}.hi-select__input.multiple-values .hi-select__input--icon{margin-top:-4px}.hi-select__input.multiple-values .hi-select__input--search{padding-left:3px}.hi-select__input.multiple-values .hi-select__input--placeholder{position:absolute;top:3px;left:15px;right:30px;height:24px;line-height:24px;color:#ccc;z-index:1}.hi-select__input.multiple-values .hi-select__input--placeholder ~ .hi-select__input-items .hi-select__input--search{padding:0 20px 0 11px}.hi-select__input.multiple-values .hi-select__input-items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:hidden}.hi-select__input.multiple-values .hi-select__input-items.hi-select__input-items--all{-ms-flex-wrap:wrap;flex-wrap:wrap}.hi-select__input.multiple-values .hi-select__input-items--left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 8px;height:22px;line-height:22px;font-size:12px;color:#333;background-color:#f2f2f2;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.hi-select__input.multiple-values .hi-select__input--item{-webkit-box-flex:0;-ms-flex:none;flex:none;position:relative;max-width:80%;height:22px;line-height:22px;padding:0 20px 0 10px;margin:0 4px 4px 0;overflow:hidden;vertical-align:middle;background-color:#f2f2f2;border-radius:2px;text-align:left}.hi-select__input.multiple-values .hi-select__input--item__name{font-size:13px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hi-select__input.multiple-values .hi-select__input--item__remove{cursor:pointer;display:inline-block;font-size:12px;position:absolute;top:0;right:4px;padding:0 0 0 8px}.hi-select__input.multiple-values .hi-select__input--search{height:22px;line-height:22px;margin-bottom:4px}
@@ -1,33 +1,139 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports["default"] = void 0;
9
7
 
10
- var _Stepper = _interopRequireDefault(require("./Stepper"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _context = _interopRequireDefault(require("../context"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
11
13
 
12
14
  require("./style/index");
13
15
 
14
- var _util = require("../_util");
15
-
16
- var _default = (0, _util.depreactedPropsCompat)([['data', 'list', function (data) {
17
- return data.map(function (_ref) {
18
- var title = _ref.title,
19
- text = _ref.text,
20
- icon = _ref.icon;
21
- return {
22
- title: title,
23
- content: text,
24
- icon: icon
25
- };
26
- });
27
- }], ['itemLayout', 'up', function (data) {
28
- return data === true ? 'vertical' : 'horizontal';
29
- }], ['placement', 'vertical', function (data) {
30
- return data === true ? 'vertical' : 'horizontal';
31
- }]])(_Stepper["default"]);
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ 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); }
19
+
20
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21
+
22
+ 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); } }
23
+
24
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
25
+
26
+ 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); }
27
+
28
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
29
+
30
+ 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); }; }
31
+
32
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
33
+
34
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
35
+
36
+ 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; } }
37
+
38
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
39
+
40
+ /**
41
+ * Props
42
+ * @prop id {string} id
43
+ * @prop className {string} className
44
+ * @prop list {array} 显示步骤的信息
45
+ * [
46
+ * {
47
+ * src {string} sign图标地址(可选)
48
+ * title {string} 步骤名称
49
+ * text {string} 步骤描述
50
+ * }
51
+ * ]
52
+ * @prop current {string | number} 当前步骤位置
53
+ * @prop vertical {boolean} 是否竖直显示
54
+ * @prop up {string} sign显示位置
55
+ */
56
+ var Stepper = /*#__PURE__*/function (_React$Component) {
57
+ _inherits(Stepper, _React$Component);
58
+
59
+ var _super = _createSuper(Stepper);
60
+
61
+ function Stepper() {
62
+ _classCallCheck(this, Stepper);
63
+
64
+ return _super.apply(this, arguments);
65
+ }
66
+
67
+ _createClass(Stepper, [{
68
+ key: "renderNode",
69
+ value: function renderNode(arg, info) {
70
+ var _this$props = this.props,
71
+ up = _this$props.up,
72
+ current = _this$props.current;
73
+
74
+ var _c = (0, _classnames["default"])('hi-stepper__item', arg === 'h' && up && 'hi-stepper__item--up', info.key <= +current && 'hi-stepper__item--active', info.key < +current && 'hi-stepper__item--done');
75
+
76
+ return /*#__PURE__*/_react["default"].createElement("li", {
77
+ className: _c,
78
+ key: info.key
79
+ }, /*#__PURE__*/_react["default"].createElement("div", {
80
+ className: "hi-stepper__item-content"
81
+ }, /*#__PURE__*/_react["default"].createElement("span", {
82
+ className: "hi-stepper__icon"
83
+ }, info.icon ? info.icon : /*#__PURE__*/_react["default"].createElement("span", {
84
+ className: "hi-stepper__num"
85
+ }, info.key + 1)), /*#__PURE__*/_react["default"].createElement("span", {
86
+ className: "hi-stepper__title"
87
+ }, " ", info.title), (arg === 'v' || up) && /*#__PURE__*/_react["default"].createElement("span", {
88
+ className: "hi-stepper__text"
89
+ }, info.text)));
90
+ }
91
+ }, {
92
+ key: "renderStepperBar",
93
+ value: function renderStepperBar() {
94
+ var _this = this;
95
+
96
+ var _this$props2 = this.props,
97
+ current = _this$props2.current,
98
+ list = _this$props2.list,
99
+ vertical = _this$props2.vertical;
100
+ var len = list.length;
101
+ return /*#__PURE__*/_react["default"].createElement("ul", {
102
+ className: "hi-stepper__list"
103
+ }, list.map(function (v, i) {
104
+ var info = Object.assign({
105
+ key: i,
106
+ current: current
107
+ }, v);
108
+
109
+ if (i === len - 1) {
110
+ info.last = true;
111
+ }
112
+
113
+ return _this.renderNode(vertical ? 'v' : 'h', info);
114
+ }));
115
+ }
116
+ }, {
117
+ key: "render",
118
+ value: function render() {
119
+ var _this$props3 = this.props,
120
+ id = _this$props3.id,
121
+ className = _this$props3.className,
122
+ vertical = _this$props3.vertical,
123
+ theme = _this$props3.theme;
124
+
125
+ var _className = (0, _classnames["default"])('hi-stepper', vertical ? 'hi-stepper--vertical' : 'hi-stepper--horizontal', className, theme && 'theme__' + theme);
126
+
127
+ return /*#__PURE__*/_react["default"].createElement("div", {
128
+ id: id || '',
129
+ className: _className
130
+ }, this.renderStepperBar());
131
+ }
132
+ }]);
133
+
134
+ return Stepper;
135
+ }(_react["default"].Component);
136
+
137
+ var _default = (0, _context["default"])(Stepper);
32
138
 
33
139
  exports["default"] = _default;