@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.
- package/CHANGELOG.md +3 -0
- package/es/_util/warning.js +2 -2
- package/es/alert/__test__/index.test.js +67 -0
- package/es/alert/index.js +147 -6
- package/es/alert/style/index.css +1 -1
- package/es/badge/index.js +87 -9
- package/es/badge/style/index.css +1 -1
- package/es/badge/style/index.js +0 -0
- package/es/button/Button.js +51 -59
- package/es/button/ButtonGroup.js +31 -23
- package/es/button/IconLoading.js +2 -2
- package/es/button/__test__/index.test.js +29 -0
- package/es/button/index.js +2 -3
- package/es/button/style/index.css +1 -1
- package/es/card/index.js +42 -54
- package/es/card/style/index.css +1 -1
- package/es/cascader/Cascader.js +116 -181
- package/es/cascader/__test__/index.test.js +283 -0
- package/es/cascader/index.js +2 -5
- package/es/cascader/menu.js +155 -0
- package/es/cascader/style/cascader.css +1 -1
- package/es/cascader/style/menu.css +1 -1
- package/es/checkbox/{checkbox-legacy/Base.js → Base.js} +31 -46
- package/es/checkbox/CheckBox.js +185 -0
- package/es/checkbox/index.js +4 -13
- package/es/checkbox/style/index.css +1 -1
- package/es/collapse/__test__/index.test.js +58 -0
- package/es/collapse/index.js +93 -79
- package/es/collapse/style/index.css +1 -1
- package/es/confirm/index.js +50 -37
- package/es/context/index.js +37 -39
- package/es/counter/__test__/index.test.js +52 -0
- package/es/counter/index.js +270 -6
- package/es/counter/style/index.css +1 -1
- package/es/date-picker/BasePicker.js +288 -374
- package/es/date-picker/Calender.js +90 -326
- package/es/date-picker/DatePanel.js +186 -175
- package/es/date-picker/DatePicker.js +51 -151
- package/es/date-picker/DateRangePanel.js +181 -253
- package/es/date-picker/Modal.js +25 -15
- package/es/date-picker/Time.js +336 -230
- package/es/date-picker/TimePanel.js +32 -27
- package/es/date-picker/TimePeriodPanel.js +32 -21
- package/es/date-picker/TimePicker.js +40 -42
- package/es/date-picker/TimeRangePanel.js +42 -32
- package/es/date-picker/Type.js +1 -5
- package/es/date-picker/WeekRangePanel.js +150 -237
- package/es/date-picker/constants.js +28 -14
- package/es/date-picker/dateUtil.js +52 -221
- package/es/date-picker/index.js +2 -5
- package/es/date-picker/style/index.css +1 -1
- package/es/date-picker/util.js +8 -101
- package/es/dropdown/Dropdown.js +199 -193
- package/es/dropdown/{tests → __test__}/index.test.js +2 -2
- package/es/dropdown/index.js +4 -73
- package/es/dropdown/style/index.css +1 -1
- package/es/dropdown/style/index.js +2 -0
- package/es/ficon/index.js +23 -13
- package/es/form/index.js +171 -6
- package/es/form/{Item.js → item.js} +53 -53
- package/es/form/style/index.css +1 -1
- package/es/grid/index.js +37 -25
- package/es/icon/index.js +32 -21
- package/es/index.js +9 -61
- package/es/input/index.js +345 -28
- package/es/input/style/index.css +1 -1
- package/es/input/util.js +18 -26
- package/es/lib/withDragDropContext.js +2 -2
- package/es/loading/index.js +129 -5
- package/es/loading/style/index.css +0 -0
- package/es/loading/style/index.js +0 -0
- package/es/locales/en-US.js +11 -45
- package/es/locales/index.js +2 -16
- package/es/locales/zh-CN.js +12 -46
- package/es/menu/Item.js +41 -32
- package/es/menu/ItemGroup.js +81 -0
- package/es/menu/SubMenu.js +74 -55
- package/es/menu/Title.js +42 -36
- package/es/menu/index.js +419 -12
- package/es/menu/style/index.css +1 -1
- package/es/modal/__test__/index.test.js +123 -0
- package/es/modal/index.js +61 -77
- package/es/modal/style/index.css +1 -1
- package/es/nav-menu/NavMenu.js +45 -31
- package/es/nav-menu/__test__/index.test.js +2 -2
- package/es/nav-menu/index.js +2 -2
- package/es/notification/__test__/index.test.js +56 -0
- package/es/notification/index.js +231 -68
- package/es/notification/style/index.css +1 -1
- package/es/notification/style/index.js +0 -0
- package/es/pagination/Pager.js +8 -6
- package/es/pagination/Pagination.js +115 -124
- package/es/pagination/__test__/index.test.js +140 -0
- package/es/pagination/index.js +8 -9
- package/es/pagination/style/index.css +1 -1
- package/es/panel/index.js +33 -23
- package/es/popover/__test__/index.test.js +2 -2
- package/es/popover/index.js +69 -71
- package/es/popper/index.js +54 -64
- package/es/popper/style/index.css +1 -1
- package/es/progress/BarProgress.js +43 -109
- package/es/progress/CircleProgress.js +10 -9
- package/es/progress/DashboardProgress.js +9 -7
- package/es/progress/index.js +100 -8
- package/es/progress/style/index.css +1 -1
- package/es/radio/{radio-legacy/__test__ → __test__}/index.test.js +10 -10
- package/es/radio/index.js +216 -10
- package/es/radio/style/index.css +1 -1
- package/es/rate/Icons.js +2 -2
- package/es/rate/Rate.js +90 -65
- package/es/rate/__test__/index.test.js +54 -0
- package/es/rate/index.js +2 -5
- package/es/rate/style/index.css +1 -1
- package/es/select/Option.js +93 -0
- package/es/select/Select.js +253 -325
- package/es/select/SelectDropdown.js +63 -215
- package/es/select/SelectInput.js +54 -88
- package/es/select/__test__/index.test.js +429 -0
- package/es/select/index.js +4 -6
- package/es/select/style/select-dropdown.css +1 -1
- package/es/select/style/select-input.css +1 -1
- package/es/stepper/index.js +127 -21
- package/es/stepper/style/index.css +1 -1
- package/es/style/color/colors.css +0 -0
- package/es/style/icon/diyIcon.css +1 -1
- package/es/style/icon/index.css +1 -1
- package/es/style/index.css +0 -0
- package/es/style/mixins/colors.css +0 -0
- package/es/style/mixins/index.css +0 -0
- package/es/style/theme/dark.css +0 -0
- package/es/style/theme/default.css +0 -0
- package/es/switch/{__tests__ → __test__}/index.test.js +2 -31
- package/es/switch/index.js +36 -24
- package/es/switch/style/index.css +1 -1
- package/es/table/__test__/index.test.js +73 -0
- package/es/table/{Body.js → body.js} +52 -36
- package/es/table/checkbox/index.js +36 -33
- package/es/table/clickOuterside.js +115 -0
- package/es/table/{Footer.js → footer.js} +41 -24
- package/es/table/{Header.js → header.js} +54 -41
- package/es/table/index.js +300 -262
- package/es/table/menu/index.js +34 -32
- package/es/table/pover.js +154 -0
- package/es/table/prefix.js +2 -2
- package/es/table/style/Table.css +1 -1
- package/es/table/style/index.css +1 -1
- package/es/table/tableContent.js +120 -0
- package/es/tabs/ItemDropdown.js +51 -39
- package/es/tabs/TabPane.js +35 -25
- package/es/tabs/Tabs.js +91 -98
- package/es/tabs/index.js +3 -9
- package/es/tabs/style/index.css +1 -1
- package/es/timeline/__test__/index.test.js +49 -0
- package/es/timeline/foldingItem.js +82 -0
- package/es/timeline/index.js +127 -203
- package/es/timeline/style/index.css +1 -1
- package/es/tooltip/__test__/index.test.js +67 -0
- package/es/tooltip/index.js +39 -86
- package/es/tooltip/style/index.css +1 -1
- package/es/transfer/Item.js +44 -53
- package/es/transfer/__test__/index.test.js +11 -0
- package/es/transfer/index.js +443 -4
- package/es/transfer/style/index.css +1 -1
- package/es/tree/Tree.js +86 -76
- package/es/tree/TreeDivider.js +3 -3
- package/es/tree/TreeItem.js +108 -204
- package/es/tree/TreeNode.js +318 -457
- package/es/tree/index.js +2 -9
- package/es/tree/style/index.css +1 -1
- package/es/tree/util.js +257 -9
- package/es/upload/{upload-legacy/Preview.js → Preview.js} +39 -33
- package/es/upload/Upload.js +193 -289
- package/es/upload/UploadAvatar.js +58 -44
- package/es/upload/UploadClick.js +45 -49
- package/es/upload/UploadDrag.js +43 -44
- package/es/upload/UploadPhoto.js +55 -70
- package/es/upload/UploadPictureCard.js +44 -39
- package/es/upload/index.js +71 -8
- package/es/upload/style/index.css +1 -1
- package/es/upload/tool.js +1 -0
- package/package.json +4 -1
- package/es/_util/SwitchVersion.js +0 -44
- package/es/_util/depreactedPropsCompat.js +0 -58
- package/es/_util/index.js +0 -32
- package/es/alert/Alert.js +0 -134
- package/es/alert/__tests__/index.test.js +0 -88
- package/es/badge/Badge.js +0 -90
- package/es/badge/__tests__/index.test.js +0 -82
- package/es/breadcrumb/__tests__/index.test.js +0 -61
- package/es/breadcrumb/index.js +0 -93
- package/es/breadcrumb/style/index.css +0 -1
- package/es/button/__tests__/index.test.js +0 -219
- package/es/card/__tests__/index.test.js +0 -169
- package/es/carousel/__tests__/index.test.js +0 -104
- package/es/carousel/index.js +0 -227
- package/es/carousel/style/index.css +0 -1
- package/es/carousel/style/index.js +0 -3
- package/es/cascader/Menu.js +0 -174
- package/es/cascader/__tests__/index.test.js +0 -389
- package/es/checkbox/Checkbox.js +0 -144
- package/es/checkbox/Group.js +0 -202
- package/es/checkbox/__tests__/index.test.js +0 -226
- package/es/checkbox/checkbox-legacy/CheckBox.js +0 -165
- package/es/checkbox/checkbox-legacy/index.js +0 -15
- package/es/checkbox/checkbox-legacy/style/index.css +0 -1
- package/es/checkbox/checkbox-legacy/style/index.js +0 -3
- package/es/collapse/__tests__/index.test.js +0 -111
- package/es/counter/Counter.js +0 -343
- package/es/counter/__tests__/index.test.js +0 -134
- package/es/counter/counter-legacy/index.js +0 -271
- package/es/date-picker/TimeList.js +0 -254
- package/es/date-picker/YMRangePanel.js +0 -372
- package/es/date-picker/__tests__/index.test.js +0 -961
- package/es/date-picker/datepicker-legacy/BasePicker.js +0 -519
- package/es/date-picker/datepicker-legacy/Calender.js +0 -430
- package/es/date-picker/datepicker-legacy/DatePanel.js +0 -463
- package/es/date-picker/datepicker-legacy/DatePicker.js +0 -107
- package/es/date-picker/datepicker-legacy/DateRangePanel.js +0 -496
- package/es/date-picker/datepicker-legacy/Modal.js +0 -71
- package/es/date-picker/datepicker-legacy/Time.js +0 -413
- package/es/date-picker/datepicker-legacy/TimePanel.js +0 -93
- package/es/date-picker/datepicker-legacy/TimePeriodPanel.js +0 -126
- package/es/date-picker/datepicker-legacy/TimePicker.js +0 -82
- package/es/date-picker/datepicker-legacy/TimeRangePanel.js +0 -98
- package/es/date-picker/datepicker-legacy/Type.js +0 -31
- package/es/date-picker/datepicker-legacy/WeekRangePanel.js +0 -345
- package/es/date-picker/datepicker-legacy/constants.js +0 -79
- package/es/date-picker/datepicker-legacy/dateUtil.js +0 -258
- package/es/date-picker/datepicker-legacy/index.js +0 -15
- package/es/date-picker/datepicker-legacy/local.js +0 -11
- package/es/date-picker/datepicker-legacy/style/index.css +0 -1
- package/es/date-picker/datepicker-legacy/style/index.js +0 -3
- package/es/date-picker/datepicker-legacy/style/timepicker.css +0 -1
- package/es/date-picker/datepicker-legacy/util.js +0 -60
- package/es/date-picker/toLunar.js +0 -172
- package/es/dropdown/DropdownButton.js +0 -106
- package/es/dropdown/DropdownMenu.js +0 -111
- package/es/dropdown/DropdownMenuItem.js +0 -178
- package/es/dropdown/__tests__/index.test.js +0 -317
- package/es/dropdown/utils.js +0 -35
- package/es/form/Form.js +0 -184
- package/es/form/__tests__/index.test.js +0 -575
- package/es/grid/__tests__/index.test.js +0 -104
- package/es/input/Input.js +0 -412
- package/es/input/__tests__/index.test.js +0 -381
- package/es/input/input-legacy/index.js +0 -353
- package/es/input/input-legacy/util.js +0 -176
- package/es/loading/Loading.js +0 -181
- package/es/loading/__tests__/index.test.js +0 -110
- package/es/locales/zh-Hant-HK.js +0 -121
- package/es/locales/zh-Hant-TW.js +0 -123
- package/es/menu/Menu.js +0 -422
- package/es/menu/__tests__/index.test.js +0 -279
- package/es/message/__tests__/index.test.js +0 -75
- package/es/message/index.js +0 -58
- package/es/message/style/index.css +0 -1
- package/es/message/style/index.js +0 -5
- package/es/modal/__tests__/index.test.js +0 -178
- package/es/nav-menu/__tests__/index.test.js +0 -27
- package/es/notice/Notice.js +0 -142
- package/es/notice/NoticeContainer.js +0 -113
- package/es/notice/__tests__/index.test.js +0 -174
- package/es/notice/index.js +0 -66
- package/es/notice/style/index.css +0 -1
- package/es/notice/style/index.js +0 -5
- package/es/notification/HandleNotification/index.js +0 -224
- package/es/notification/HandleNotification/style/index.css +0 -1
- package/es/notification/HandleNotification/style/index.js +0 -5
- package/es/notification/__tests__/index.test.js +0 -118
- package/es/pagination/__tests__/index.test.js +0 -248
- package/es/popover/__tests__/index.test.js +0 -152
- package/es/preview/index.js +0 -527
- package/es/preview/style/index.css +0 -1
- package/es/preview/style/index.js +0 -3
- package/es/progress/Progress.js +0 -110
- package/es/progress/__tests__/index.test.js +0 -131
- package/es/radio/Group.js +0 -203
- package/es/radio/Radio.js +0 -151
- package/es/radio/__tests__/index.test.js +0 -128
- package/es/radio/radio-legacy/index.js +0 -222
- package/es/radio/radio-legacy/style/index.css +0 -1
- package/es/radio/radio-legacy/style/index.js +0 -3
- package/es/rate/__tests__/index.test.js +0 -124
- package/es/select/__tests__/index.test.js +0 -505
- package/es/select/select-legacy/Option.js +0 -81
- package/es/select/select-legacy/Select.js +0 -710
- package/es/select/select-legacy/SelectDropdown.js +0 -164
- package/es/select/select-legacy/SelectInput.js +0 -312
- package/es/select/select-legacy/common.js +0 -19
- package/es/select/select-legacy/index.js +0 -16
- package/es/stepper/Stepper.js +0 -151
- package/es/stepper/__tests__/index.test.js +0 -161
- package/es/table/ClickOuterside.js +0 -103
- package/es/table/TableContent.js +0 -109
- package/es/table/__tests__/index.test.js +0 -133
- package/es/table/checkbox/style/index.css +0 -1
- package/es/table/checkbox/style/index.js +0 -3
- package/es/tabs/__tests__/index.test.js +0 -333
- package/es/tabs/tabs-legacy/ItemDropdown.js +0 -170
- package/es/tabs/tabs-legacy/TabPane.js +0 -78
- package/es/tabs/tabs-legacy/Tabs.js +0 -299
- package/es/tabs/tabs-legacy/index.js +0 -18
- package/es/tabs/tabs-legacy/style/index.css +0 -1
- package/es/tabs/tabs-legacy/style/index.js +0 -3
- package/es/tag/__tests__/index.test.js +0 -46
- package/es/tag/index.js +0 -94
- package/es/tag/style/index.css +0 -1
- package/es/tag/style/index.js +0 -3
- package/es/timeline/__tests__/index.test.js +0 -198
- package/es/tooltip/__tests__/index.test.js +0 -170
- package/es/transfer/Transfer.js +0 -566
- package/es/transfer/__tests__/index.test.js +0 -210
- package/es/tree/IconLoading.js +0 -38
- package/es/tree/__tests__/index.test.js +0 -603
- package/es/tree/tree-legacy/Tree.js +0 -337
- package/es/tree/tree-legacy/TreeDivider.js +0 -25
- package/es/tree/tree-legacy/TreeItem.js +0 -333
- package/es/tree/tree-legacy/TreeNode.js +0 -719
- package/es/tree/tree-legacy/index.js +0 -13
- package/es/tree/tree-legacy/style/index.css +0 -1
- package/es/tree/tree-legacy/style/index.js +0 -3
- package/es/tree/tree-legacy/util.js +0 -434
- package/es/upload/__tests__/index.test.js +0 -760
- package/es/upload/main.js +0 -91
- package/es/upload/upload-legacy/Upload.js +0 -435
- package/es/upload/upload-legacy/UploadAvatar.js +0 -322
- package/es/upload/upload-legacy/UploadClick.js +0 -125
- package/es/upload/upload-legacy/UploadDrag.js +0 -180
- package/es/upload/upload-legacy/UploadPhoto.js +0 -183
- package/es/upload/upload-legacy/UploadPictureCard.js +0 -126
- package/es/upload/upload-legacy/index.js +0 -75
- package/es/upload/upload-legacy/style/index.css +0 -1
- package/es/upload/upload-legacy/style/index.js +0 -5
- package/es/upload/upload-legacy/tool.js +0 -84
- package/es/watermark/index.js +0 -101
- package/es/watermark/watermark.js +0 -252
- /package/es/checkbox/{checkbox-legacy/common.js → common.js} +0 -0
- /package/es/{breadcrumb/style → style}/index.js +0 -0
- /package/es/upload/{upload-legacy/style → style}/preview.css +0 -0
- /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
|
+
});
|
package/es/select/index.js
CHANGED
|
@@ -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
|
|
10
|
+
var _Option = _interopRequireDefault(require("./Option"));
|
|
13
11
|
|
|
14
12
|
require("./style/index");
|
|
15
13
|
|
|
16
|
-
|
|
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
|
|
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 #
|
|
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}
|
package/es/stepper/index.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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;
|