@nutui/nutui-react-taro 1.3.5 → 1.3.6
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 +7 -0
- package/dist/esm/Audio.js +4 -4
- package/dist/esm/Calendar.js +4 -4
- package/dist/esm/CalendarItem.js +3 -3
- package/dist/esm/DatePicker.js +4 -4
- package/dist/esm/Drag.js +3 -4
- package/dist/esm/Elevator.js +2 -4
- package/dist/esm/NoticeBar.js +3 -3
- package/dist/esm/Picker.js +3 -3
- package/dist/esm/Popover.js +3 -3
- package/dist/esm/Range.js +3 -3
- package/dist/esm/SearchBar.js +3 -2
- package/dist/esm/Signature.js +3 -2
- package/dist/esm/Swipe.js +3 -3
- package/dist/esm/actionsheet.taro-360d8d34.js +15 -25
- package/dist/esm/address.taro-f16cef31.js +151 -219
- package/dist/esm/animatingnumbers.taro-6f40a2e9.js +13 -41
- package/dist/esm/{audio.taro-29f5568f.js → audio.taro-57d4f0da.js} +33 -60
- package/dist/esm/avatar.taro-ec620cdd.js +25 -50
- package/dist/esm/avatargroup-5b2584d9.js +2 -9
- package/dist/esm/backtop.taro-aa8b2bc5.js +29 -55
- package/dist/esm/badge.taro-38684262.js +9 -20
- package/dist/esm/barrage.taro-d86c367a.js +8 -21
- package/dist/esm/button.taro-a9ebb937.js +22 -37
- package/dist/esm/{calendar.taro-438940bd.js → calendar.taro-533b3219.js} +13 -24
- package/dist/esm/{calendaritem.taro-11333579.js → calendaritem.taro-fe5dd4bd.js} +71 -183
- package/dist/esm/card.taro-1bc35ebe.js +14 -20
- package/dist/esm/cascader.taro-77100fb4.js +77 -197
- package/dist/esm/cell.taro-a4c3bb7b.js +20 -30
- package/dist/esm/cellgroup.taro-8c87bf08.js +6 -12
- package/dist/esm/checkbox.taro-104557c1.js +27 -48
- package/dist/esm/checkboxgroup.taro-3d380042.js +12 -30
- package/dist/esm/circleprogress.taro-3c89a157.js +14 -41
- package/dist/esm/col.taro-2a437387.js +11 -22
- package/dist/esm/collapse.taro-72e58ba2.js +11 -27
- package/dist/esm/collapseitem-75843a5e.js +33 -47
- package/dist/esm/configprovider-3e87d67a.js +2 -6
- package/dist/esm/configprovider.taro-6c7b3056.js +4 -14
- package/dist/esm/countdown.taro-f2d9ffed.js +37 -74
- package/dist/esm/{datepicker.taro-1acec61f.js → datepicker.taro-49a4cf0c.js} +43 -104
- package/dist/esm/dialog.taro-492e2b9a.js +27 -58
- package/dist/esm/divider.taro-5236fe6a.js +8 -15
- package/dist/esm/drag.taro-0717c783.js +153 -0
- package/dist/esm/{elevator.taro-8e385785.js → elevator.taro-443253ec.js} +99 -124
- package/dist/esm/empty.taro-ab9c4f03.js +11 -24
- package/dist/esm/fixednav.taro-582322a1.js +16 -27
- package/dist/esm/grid.taro-5d75c0ad.js +13 -28
- package/dist/esm/griditem.taro-866cd288.js +18 -34
- package/dist/esm/icon-8dc4de10.js +11 -21
- package/dist/esm/icon.taro-1d0d4fb7.js +11 -21
- package/dist/esm/imagepreview.taro-1199e977.js +36 -71
- package/dist/esm/indicator.taro-183ea169.js +9 -20
- package/dist/esm/infiniteloading.taro-b95e62bf.js +23 -49
- package/dist/esm/input.taro-2453d7c4.js +62 -106
- package/dist/esm/inputnumber.taro-0cf7c1b7.js +25 -52
- package/dist/esm/layout.taro-358f014f.js +0 -6
- package/dist/esm/menu.taro-9345dcfd.js +21 -41
- package/dist/esm/menuitem.taro-fc0961b7.js +29 -54
- package/dist/esm/navbar.taro-c931c078.js +18 -34
- package/dist/esm/{noticebar.taro-1fa04a96.js → noticebar.taro-332691f9.js} +55 -107
- package/dist/esm/notify.taro-d9c48fae.js +18 -34
- package/dist/esm/numberkeyboard.taro-53c350b8.js +21 -52
- package/dist/esm/nutui-react.es.js +16 -16
- package/dist/esm/offsetContext-0e3d04b3.js +0 -3
- package/dist/esm/overlay.taro-be45fed5.js +12 -23
- package/dist/esm/pagination.taro-62bbd23f.js +38 -71
- package/dist/esm/{picker.taro-6a4dad23.js → picker.taro-f003b725.js} +95 -186
- package/dist/esm/{popover.taro-eddd0bd2.js → popover.taro-7e5dff8c.js} +33 -76
- package/dist/esm/popup.taro-33d0bbc8.js +40 -72
- package/dist/esm/price.taro-97393d8f.js +7 -24
- package/dist/esm/progress.taro-623bc807.js +23 -31
- package/dist/esm/pulltorefresh.taro-e66c78ad.js +29 -92
- package/dist/esm/radio.taro-95d43860.js +24 -47
- package/dist/esm/radiogroup.taro-b5dad516.js +14 -24
- package/dist/esm/{range.taro-515d37a4.js → range.taro-fc7c0b6a.js} +50 -133
- package/dist/esm/rate.taro-69c85081.js +21 -39
- package/dist/esm/row.taro-cec13a7e.js +7 -16
- package/dist/esm/{searchbar.taro-f134fb96.js → searchbar.taro-0d3c0081.js} +55 -70
- package/dist/esm/shortpassword.taro-2e96ca22.js +29 -56
- package/dist/esm/sidenavbar.taro-87f056cd.js +9 -16
- package/dist/esm/sidenavbaritem.taro-77e077f4.js +4 -11
- package/dist/esm/signature.taro-59b3b3ab.js +146 -0
- package/dist/esm/skeleton.taro-b9ff84b9.js +13 -23
- package/dist/esm/step.taro-f1057500.js +12 -28
- package/dist/esm/steps.taro-943f4fbb.js +6 -14
- package/dist/esm/sticky.taro-30d4e453.js +0 -7
- package/dist/esm/subsidenavbar.taro-2c1fcf16.js +7 -22
- package/dist/esm/{swipe.taro-dfb9a049.js → swipe.taro-83bc248f.js} +98 -91
- package/dist/esm/swiper.taro-f314d67a.js +110 -196
- package/dist/esm/swiperitem-d00e7513.js +2 -12
- package/dist/esm/switch.taro-be5eb823.js +13 -27
- package/dist/esm/tabbar.taro-da72fa2c.js +13 -25
- package/dist/esm/tabbaritem.taro-94cd62c2.js +15 -23
- package/dist/esm/table.taro-7ac89a6c.js +19 -39
- package/dist/esm/tabpane.taro-95aa185b.js +4 -10
- package/dist/esm/tabs.taro-86186dff.js +28 -54
- package/dist/esm/tag.taro-95d7f5c2.js +19 -36
- package/dist/esm/textarea.taro-388d1f90.js +18 -35
- package/dist/esm/timedetail.taro-519808cf.js +15 -28
- package/dist/esm/timepannel.taro-9904f6e6.js +5 -12
- package/dist/esm/timeselect.taro-73796bfc.js +35 -59
- package/dist/esm/toast.taro-86862dff.js +26 -46
- package/dist/esm/types/src/packages/elevator/demo.d.ts +1 -0
- package/dist/esm/types/src/packages/searchbar/searchbar.d.ts +2 -0
- package/dist/esm/types/src/packages/searchbar/searchbar.taro.d.ts +2 -0
- package/dist/esm/types/src/packages/signature/signature.taro.d.ts +10 -2
- package/dist/esm/uploader.taro-6184abe7.js +52 -144
- package/dist/esm/{useClientRect-8b7cc406.js → useClientRect-bf69d7b3.js} +1 -40
- package/dist/esm/useTouch-a2ea68c6.js +27 -47
- package/dist/esm/video-c1090c92.js +8 -19
- package/dist/esm/virtuallist.taro-6858f690.js +84 -118
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +1 -1
- package/dist/locales/id-ID.js +1 -1
- package/dist/locales/zh-CN.js +1 -1
- package/dist/locales/zh-TW.js +1 -1
- package/dist/nutui.react.es.js +10844 -11362
- package/dist/nutui.react.umd.js +10844 -11362
- package/dist/packages/searchbar/searchbar.scss +20 -3
- package/dist/style.css +1 -1
- package/dist/style.es.js +1 -1
- package/dist/types/index.d.ts +17 -8
- package/package.json +1 -1
- package/dist/esm/drag.taro-56e8c87a.js +0 -134
- package/dist/esm/signature.taro-a9286cd1.js +0 -178
|
@@ -4,169 +4,140 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
4
4
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
5
5
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
6
6
|
var _excluded = ["isVisible", "title", "listData", "defaultValueData", "onConfirm", "onClose", "onCloseUpdate", "onChange", "className", "style", "threeDimensional", "swipeDuration"];
|
|
7
|
-
|
|
8
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
-
|
|
10
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
-
|
|
12
9
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
13
10
|
import React__default, { useState, useRef, useEffect, useImperativeHandle } from 'react';
|
|
14
11
|
import { P as Popup } from './popup.taro-33d0bbc8.js';
|
|
15
12
|
import { u as useTouch } from './useTouch-a2ea68c6.js';
|
|
16
|
-
import { g as getRectByTaro } from './useClientRect-
|
|
13
|
+
import { g as getRectByTaro } from './useClientRect-bf69d7b3.js';
|
|
17
14
|
import { u as useConfig } from './configprovider.taro-6c7b3056.js';
|
|
18
15
|
import { c as cn } from './bem-893ad28d.js';
|
|
19
|
-
|
|
20
16
|
var InternalPickerSlot = function InternalPickerSlot(props, ref) {
|
|
21
17
|
var _props$keyIndex = props.keyIndex,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
18
|
+
keyIndex = _props$keyIndex === void 0 ? 0 : _props$keyIndex,
|
|
19
|
+
defaultValue = props.defaultValue,
|
|
20
|
+
_props$listData = props.listData,
|
|
21
|
+
listData = _props$listData === void 0 ? [] : _props$listData,
|
|
22
|
+
_props$threeDimension = props.threeDimensional,
|
|
23
|
+
threeDimensional = _props$threeDimension === void 0 ? true : _props$threeDimension,
|
|
24
|
+
_props$swipeDuration = props.swipeDuration,
|
|
25
|
+
swipeDuration = _props$swipeDuration === void 0 ? 1000 : _props$swipeDuration,
|
|
26
|
+
_props$itemShow = props.itemShow,
|
|
27
|
+
itemShow = _props$itemShow === void 0 ? false : _props$itemShow,
|
|
28
|
+
chooseItem = props.chooseItem;
|
|
33
29
|
var touch = useTouch();
|
|
34
|
-
var DEFAULT_DURATION = 200;
|
|
30
|
+
var DEFAULT_DURATION = 200;
|
|
31
|
+
// 触发惯性滑动条件:
|
|
35
32
|
// 在手指离开屏幕时,如果和上一次 move 时的间隔小于 `MOMENTUM_TIME` 且 move
|
|
36
33
|
// 距离大于 `MOMENTUM_DISTANCE` 时,执行惯性滑动
|
|
37
|
-
|
|
38
34
|
var INERTIA_TIME = 300;
|
|
39
35
|
var INERTIA_DISTANCE = 15;
|
|
40
|
-
|
|
41
36
|
var _useState = useState(1),
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
38
|
+
currIndex = _useState2[0],
|
|
39
|
+
setCurrIndex = _useState2[1];
|
|
40
|
+
// let lineSpacing = 36
|
|
47
41
|
var lineSpacing = useRef(36);
|
|
48
|
-
|
|
49
42
|
var _useState3 = useState(0),
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
44
|
+
touchTime = _useState4[0],
|
|
45
|
+
setTouchTime = _useState4[1];
|
|
54
46
|
var _useState5 = useState('0deg'),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
48
|
+
touchDeg = _useState6[0],
|
|
49
|
+
setTouchDeg = _useState6[1];
|
|
59
50
|
var rotation = 20;
|
|
60
51
|
var moving = useRef(false);
|
|
61
52
|
var timer;
|
|
62
53
|
var listbox = useRef(null);
|
|
63
54
|
var rollerRef = useRef(null);
|
|
64
55
|
var pickerSlotRef = useRef(null);
|
|
65
|
-
|
|
66
56
|
var _useState7 = useState(0),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
57
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
58
|
+
startTime = _useState8[0],
|
|
59
|
+
setStartTime = _useState8[1];
|
|
71
60
|
var _useState9 = useState(0),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
61
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
62
|
+
startY = _useState10[0],
|
|
63
|
+
setStartY = _useState10[1];
|
|
76
64
|
var transformY = useRef(0);
|
|
77
|
-
|
|
78
65
|
var _useState11 = useState(0),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
66
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
67
|
+
scrollDistance = _useState12[0],
|
|
68
|
+
setScrollDistance = _useState12[1];
|
|
83
69
|
var isHidden = function isHidden(index) {
|
|
84
70
|
if (index >= currIndex + 8 || index <= currIndex - 8) {
|
|
85
71
|
return true;
|
|
86
72
|
}
|
|
87
|
-
|
|
88
73
|
return false;
|
|
89
74
|
};
|
|
90
|
-
|
|
91
75
|
var setTransform = function setTransform() {
|
|
92
76
|
var translateY = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
93
77
|
var type = arguments.length > 1 ? arguments[1] : undefined;
|
|
94
78
|
var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_DURATION;
|
|
95
79
|
var deg = arguments.length > 3 ? arguments[3] : undefined;
|
|
96
80
|
var nTime = time;
|
|
97
|
-
|
|
98
81
|
if (type !== 'end') {
|
|
99
82
|
nTime = 0;
|
|
100
83
|
}
|
|
101
|
-
|
|
102
84
|
setTouchTime(nTime);
|
|
103
85
|
setTouchDeg(deg);
|
|
104
86
|
setScrollDistance(translateY);
|
|
105
87
|
};
|
|
106
|
-
|
|
107
88
|
var setMove = function setMove(move, type, time) {
|
|
108
89
|
console.log('move');
|
|
109
90
|
var updateMove = move + transformY.current;
|
|
110
|
-
|
|
111
91
|
if (type === 'end') {
|
|
112
92
|
// 限定滚动距离
|
|
113
93
|
if (updateMove > 0) {
|
|
114
94
|
updateMove = 0;
|
|
115
95
|
}
|
|
116
|
-
|
|
117
96
|
if (updateMove < -(listData.length - 1) * lineSpacing.current) {
|
|
118
97
|
updateMove = -(listData.length - 1) * lineSpacing.current;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
98
|
+
}
|
|
99
|
+
// 设置滚动距离为lineSpacing的倍数值
|
|
122
100
|
var endMove = Math.round(updateMove / lineSpacing.current) * lineSpacing.current;
|
|
123
101
|
var deg = "".concat((Math.abs(Math.round(endMove / lineSpacing.current)) + 1) * rotation, "deg");
|
|
124
102
|
setTransform(endMove, type, time, deg);
|
|
125
103
|
setCurrIndex(Math.abs(Math.round(endMove / lineSpacing.current)) + 1);
|
|
126
104
|
} else {
|
|
127
105
|
var _deg = 0;
|
|
128
|
-
var currentDeg = (-updateMove / lineSpacing.current + 1) * rotation;
|
|
129
|
-
|
|
106
|
+
var currentDeg = (-updateMove / lineSpacing.current + 1) * rotation;
|
|
107
|
+
// picker 滚动的最大角度
|
|
130
108
|
var maxDeg = (listData.length + 1) * rotation;
|
|
131
109
|
var minDeg = 0;
|
|
132
110
|
_deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
|
|
133
|
-
|
|
134
111
|
if (minDeg < _deg && _deg < maxDeg) {
|
|
135
112
|
setTransform(updateMove, '', undefined, "".concat(_deg, "deg"));
|
|
136
113
|
setCurrIndex(Math.abs(Math.round(updateMove / lineSpacing.current)) + 1);
|
|
137
114
|
}
|
|
138
115
|
}
|
|
139
116
|
};
|
|
140
|
-
|
|
141
117
|
var setChooseValue = function setChooseValue(move) {
|
|
142
118
|
chooseItem && chooseItem(listData === null || listData === void 0 ? void 0 : listData[Math.round(-move / lineSpacing.current)], keyIndex);
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
|
|
119
|
+
};
|
|
120
|
+
// 开始滚动
|
|
146
121
|
var touchStart = function touchStart(event) {
|
|
147
122
|
touch.start(event);
|
|
148
123
|
setStartY(touch.deltaY);
|
|
149
124
|
setStartTime(Date.now());
|
|
150
125
|
transformY.current = scrollDistance;
|
|
151
126
|
};
|
|
152
|
-
|
|
153
127
|
var touchMove = function touchMove(event) {
|
|
154
128
|
touch.move(event);
|
|
155
|
-
|
|
156
129
|
if (touch.isVertical) {
|
|
157
130
|
moving.current = true;
|
|
158
131
|
preventDefault(event, true);
|
|
159
132
|
}
|
|
160
|
-
|
|
161
133
|
var move = touch.deltaY - startY;
|
|
162
134
|
setMove(move);
|
|
163
135
|
};
|
|
164
|
-
|
|
165
136
|
var touchEnd = function touchEnd(event) {
|
|
166
137
|
if (!moving.current) return;
|
|
167
138
|
var move = touch.deltaY - startY;
|
|
168
|
-
var moveTime = Date.now() - startTime;
|
|
169
|
-
|
|
139
|
+
var moveTime = Date.now() - startTime;
|
|
140
|
+
// 区分是否为惯性滚动
|
|
170
141
|
if (moveTime <= INERTIA_TIME && Math.abs(move) > INERTIA_DISTANCE) {
|
|
171
142
|
// 惯性滚动
|
|
172
143
|
var distance = momentum(move, moveTime);
|
|
@@ -174,33 +145,28 @@ var InternalPickerSlot = function InternalPickerSlot(props, ref) {
|
|
|
174
145
|
} else {
|
|
175
146
|
setMove(move, 'end');
|
|
176
147
|
}
|
|
177
|
-
|
|
178
148
|
setTimeout(function () {
|
|
179
149
|
touch.reset();
|
|
180
150
|
}, 0);
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
|
|
151
|
+
};
|
|
152
|
+
// 惯性滚动 距离
|
|
184
153
|
var momentum = function momentum(distance, duration) {
|
|
185
|
-
var nDistance = distance;
|
|
186
|
-
|
|
187
|
-
var speed = Math.abs(nDistance / duration);
|
|
188
|
-
|
|
154
|
+
var nDistance = distance;
|
|
155
|
+
// 惯性滚动的速度
|
|
156
|
+
var speed = Math.abs(nDistance / duration);
|
|
157
|
+
// 惯性滚动的距离
|
|
189
158
|
nDistance = speed / 0.003 * (nDistance < 0 ? -1 : 1);
|
|
190
159
|
return nDistance;
|
|
191
160
|
};
|
|
192
|
-
|
|
193
161
|
var modifyStatus = function modifyStatus(type, val) {
|
|
194
162
|
var value = val || defaultValue;
|
|
195
163
|
var index = -1;
|
|
196
|
-
|
|
197
164
|
if (value) {
|
|
198
165
|
listData.some(function (item, idx) {
|
|
199
166
|
if (item.value === value) {
|
|
200
167
|
index = idx;
|
|
201
168
|
return true;
|
|
202
169
|
}
|
|
203
|
-
|
|
204
170
|
return false;
|
|
205
171
|
});
|
|
206
172
|
} else {
|
|
@@ -210,32 +176,27 @@ var InternalPickerSlot = function InternalPickerSlot(props, ref) {
|
|
|
210
176
|
}
|
|
211
177
|
});
|
|
212
178
|
}
|
|
213
|
-
|
|
214
179
|
setCurrIndex(index === -1 ? 1 : index + 1);
|
|
215
180
|
var move = index === -1 ? 0 : index * lineSpacing.current;
|
|
216
181
|
type && setChooseValue(-move);
|
|
217
182
|
setMove(-move);
|
|
218
|
-
};
|
|
219
|
-
|
|
220
|
-
|
|
183
|
+
};
|
|
184
|
+
// 惯性滚动结束
|
|
221
185
|
var stopMomentum = function stopMomentum() {
|
|
222
186
|
moving.current = false;
|
|
223
187
|
setTouchTime(0);
|
|
224
188
|
setChooseValue(scrollDistance);
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
|
|
189
|
+
};
|
|
190
|
+
// 阻止默认事件
|
|
228
191
|
var preventDefault = function preventDefault(event, isStopPropagation) {
|
|
229
192
|
/* istanbul ignore else */
|
|
230
193
|
if (typeof event.cancelable !== 'boolean' || event.cancelable) {
|
|
231
194
|
event.preventDefault();
|
|
232
195
|
}
|
|
233
|
-
|
|
234
196
|
if (isStopPropagation) {
|
|
235
197
|
event.stopPropagation();
|
|
236
198
|
}
|
|
237
199
|
};
|
|
238
|
-
|
|
239
200
|
var getReference = /*#__PURE__*/function () {
|
|
240
201
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
241
202
|
var refe;
|
|
@@ -245,13 +206,11 @@ var InternalPickerSlot = function InternalPickerSlot(props, ref) {
|
|
|
245
206
|
case 0:
|
|
246
207
|
_context.next = 2;
|
|
247
208
|
return getRectByTaro(listbox === null || listbox === void 0 ? void 0 : listbox.current);
|
|
248
|
-
|
|
249
209
|
case 2:
|
|
250
210
|
refe = _context.sent;
|
|
251
211
|
console.log(refe);
|
|
252
212
|
lineSpacing.current = refe.height ? refe.height : 36;
|
|
253
213
|
modifyStatus(true);
|
|
254
|
-
|
|
255
214
|
case 6:
|
|
256
215
|
case "end":
|
|
257
216
|
return _context.stop();
|
|
@@ -259,26 +218,22 @@ var InternalPickerSlot = function InternalPickerSlot(props, ref) {
|
|
|
259
218
|
}
|
|
260
219
|
}, _callee);
|
|
261
220
|
}));
|
|
262
|
-
|
|
263
221
|
return function getReference() {
|
|
264
222
|
return _ref2.apply(this, arguments);
|
|
265
223
|
};
|
|
266
224
|
}();
|
|
267
|
-
|
|
268
225
|
var touchRollerStyle = function touchRollerStyle() {
|
|
269
226
|
return {
|
|
270
227
|
transition: "transform ".concat(touchTime, "ms cubic-bezier(0.17, 0.89, 0.45, 1)"),
|
|
271
228
|
transform: "rotate3d(1, 0, 0, ".concat(touchDeg, ")")
|
|
272
229
|
};
|
|
273
230
|
};
|
|
274
|
-
|
|
275
231
|
var touchTileStyle = function touchTileStyle() {
|
|
276
232
|
return {
|
|
277
233
|
transition: "transform ".concat(touchTime, "ms cubic-bezier(0.17, 0.89, 0.45, 1)"),
|
|
278
234
|
transform: "translate3d(0, ".concat(scrollDistance, "px, 0)")
|
|
279
235
|
};
|
|
280
236
|
};
|
|
281
|
-
|
|
282
237
|
useEffect(function () {
|
|
283
238
|
setScrollDistance(0);
|
|
284
239
|
transformY.current = 0;
|
|
@@ -337,9 +292,7 @@ var InternalPickerSlot = function InternalPickerSlot(props, ref) {
|
|
|
337
292
|
ref: listbox
|
|
338
293
|
}));
|
|
339
294
|
};
|
|
340
|
-
|
|
341
295
|
var PickerSlot = React__default.forwardRef(InternalPickerSlot);
|
|
342
|
-
|
|
343
296
|
function useRefs() {
|
|
344
297
|
var refs = React__default.useRef([]);
|
|
345
298
|
var setRefs = React__default.useCallback(function (index) {
|
|
@@ -352,102 +305,83 @@ function useRefs() {
|
|
|
352
305
|
}, []);
|
|
353
306
|
return [refs.current, setRefs, reset];
|
|
354
307
|
}
|
|
355
|
-
|
|
356
308
|
var InternalPicker = function InternalPicker(props, ref) {
|
|
357
309
|
var _useConfig = useConfig(),
|
|
358
|
-
|
|
359
|
-
|
|
310
|
+
locale = _useConfig.locale;
|
|
360
311
|
var isVisible = props.isVisible,
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
312
|
+
title = props.title,
|
|
313
|
+
_props$listData2 = props.listData,
|
|
314
|
+
listData = _props$listData2 === void 0 ? [] : _props$listData2,
|
|
315
|
+
defaultValueData = props.defaultValueData,
|
|
316
|
+
onConfirm = props.onConfirm,
|
|
317
|
+
onClose = props.onClose,
|
|
318
|
+
onCloseUpdate = props.onCloseUpdate,
|
|
319
|
+
onChange = props.onChange,
|
|
320
|
+
className = props.className,
|
|
321
|
+
style = props.style,
|
|
322
|
+
threeDimensional = props.threeDimensional,
|
|
323
|
+
swipeDuration = props.swipeDuration,
|
|
324
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
375
325
|
var _useState13 = useState([]),
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
326
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
327
|
+
chooseValueData = _useState14[0],
|
|
328
|
+
setchooseValueData = _useState14[1]; // 选择的数据的 value 值, 每一条数据的 value 值
|
|
381
329
|
var _useState15 = useState(0),
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
330
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
331
|
+
columnIndex = _useState16[0],
|
|
332
|
+
setcolumnIndex = _useState16[1]; // 选中列
|
|
387
333
|
var pickerRef = useRef(null);
|
|
388
|
-
|
|
389
334
|
var _useRefs = useRefs(),
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
335
|
+
_useRefs2 = _slicedToArray(_useRefs, 2),
|
|
336
|
+
refs = _useRefs2[0],
|
|
337
|
+
setRefs = _useRefs2[1];
|
|
394
338
|
var _useState17 = useState([]),
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
339
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
340
|
+
columnsList = _useState18[0],
|
|
341
|
+
setColumnsList = _useState18[1]; // 格式化后每一列的数据
|
|
400
342
|
var b = cn('picker');
|
|
401
|
-
var isConfirmEvent = useRef(false);
|
|
402
|
-
|
|
343
|
+
var isConfirmEvent = useRef(false);
|
|
344
|
+
// 默认值修改
|
|
403
345
|
useEffect(function () {
|
|
404
346
|
if (defaultValueData && defaultValueData.length !== 0 && defaultValueData.toString() !== chooseValueData.toString()) {
|
|
405
347
|
var data = _toConsumableArray(defaultValueData);
|
|
406
|
-
|
|
407
348
|
setchooseValueData(data);
|
|
408
349
|
setColumnsList(normalListData());
|
|
409
350
|
}
|
|
410
|
-
}, [defaultValueData]);
|
|
411
|
-
|
|
351
|
+
}, [defaultValueData]);
|
|
352
|
+
// 选中值进行修改
|
|
412
353
|
useEffect(function () {
|
|
413
354
|
onChange && onChange(columnIndex, chooseValueData, selectedOptions());
|
|
414
|
-
|
|
415
355
|
if (isConfirmEvent.current) {
|
|
416
356
|
isConfirmEvent.current = false;
|
|
417
357
|
onConfirm && onConfirm(chooseValueData, selectedOptions());
|
|
418
358
|
}
|
|
419
|
-
}, [chooseValueData]);
|
|
420
|
-
|
|
359
|
+
}, [chooseValueData]);
|
|
360
|
+
// 列表格式修改
|
|
421
361
|
useEffect(function () {
|
|
422
362
|
init();
|
|
423
363
|
}, [listData]);
|
|
424
|
-
|
|
425
364
|
var closeActionSheet = function closeActionSheet() {
|
|
426
365
|
onClose && onClose(chooseValueData, selectedOptions());
|
|
427
366
|
onCloseUpdate && onCloseUpdate(chooseValueData, selectedOptions(), pickerRef);
|
|
428
|
-
};
|
|
429
|
-
|
|
430
|
-
|
|
367
|
+
};
|
|
368
|
+
// 点击确定
|
|
431
369
|
var confirm = function confirm() {
|
|
432
370
|
var movings = false;
|
|
433
371
|
refs.forEach(function (_ref) {
|
|
434
372
|
if (_ref.moving) movings = true;
|
|
435
|
-
|
|
436
373
|
_ref.stopMomentum();
|
|
437
374
|
});
|
|
438
|
-
|
|
439
375
|
if (movings) {
|
|
440
376
|
isConfirmEvent.current = true;
|
|
441
377
|
} else {
|
|
442
378
|
onConfirm && onConfirm(chooseValueData, selectedOptions());
|
|
443
379
|
}
|
|
444
|
-
|
|
445
380
|
onClose && onClose(chooseValueData, selectedOptions());
|
|
446
381
|
setTimeout(function () {
|
|
447
382
|
isConfirmEvent.current = false;
|
|
448
383
|
}, 0);
|
|
449
384
|
};
|
|
450
|
-
|
|
451
385
|
var selectedOptions = function selectedOptions() {
|
|
452
386
|
var optins = [];
|
|
453
387
|
columnsList.map(function (column, index) {
|
|
@@ -455,19 +389,16 @@ var InternalPicker = function InternalPicker(props, ref) {
|
|
|
455
389
|
currOptions = column.filter(function (item) {
|
|
456
390
|
return item.value === chooseValueData[index];
|
|
457
391
|
});
|
|
458
|
-
|
|
459
392
|
if (currOptions[0]) {
|
|
460
393
|
optins.push(currOptions[0]);
|
|
461
394
|
} else {
|
|
462
395
|
column[0] && optins.push(column[0]);
|
|
463
396
|
}
|
|
464
|
-
|
|
465
397
|
return column;
|
|
466
398
|
});
|
|
467
399
|
return optins;
|
|
468
|
-
};
|
|
469
|
-
|
|
470
|
-
|
|
400
|
+
};
|
|
401
|
+
// 选择每一列的数据
|
|
471
402
|
var _chooseItem = function chooseItem(option, columnIndex) {
|
|
472
403
|
if (option && Object.keys(option).length) {
|
|
473
404
|
// 是否移动后是否与之前有差异
|
|
@@ -477,71 +408,57 @@ var InternalPicker = function InternalPicker(props, ref) {
|
|
|
477
408
|
setchooseValueData(_toConsumableArray(chooseValueData));
|
|
478
409
|
var index = columnIndex;
|
|
479
410
|
var cursor = option;
|
|
480
|
-
|
|
481
411
|
while (cursor && cursor.children && cursor.children[0]) {
|
|
482
412
|
chooseValueData[index + 1] = cursor.children[0].value;
|
|
483
413
|
setchooseValueData(_toConsumableArray(chooseValueData));
|
|
484
414
|
index++;
|
|
485
415
|
var cc = cursor.children[0];
|
|
486
416
|
cursor = cc;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
|
|
417
|
+
}
|
|
418
|
+
// 当前改变列的下一列 children 值为空
|
|
490
419
|
if (cursor && cursor.children) {
|
|
491
420
|
chooseValueData[index + 1] = '';
|
|
492
421
|
setchooseValueData(_toConsumableArray(chooseValueData));
|
|
493
422
|
}
|
|
494
|
-
|
|
495
423
|
setColumnsList(normalListData());
|
|
496
424
|
} else {
|
|
497
425
|
setchooseValueData(function (data) {
|
|
498
426
|
var cdata = _toConsumableArray(data);
|
|
499
|
-
|
|
500
427
|
cdata[columnIndex] = Object.prototype.hasOwnProperty.call(option, 'value') ? option.value : '';
|
|
501
428
|
return cdata;
|
|
502
429
|
});
|
|
503
430
|
}
|
|
504
|
-
|
|
505
431
|
setcolumnIndex(columnIndex);
|
|
506
432
|
}
|
|
507
433
|
}
|
|
508
|
-
};
|
|
509
|
-
|
|
510
|
-
|
|
434
|
+
};
|
|
435
|
+
// 传入的数据格式化
|
|
511
436
|
var normalListData = function normalListData() {
|
|
512
437
|
var type = columnsType();
|
|
513
|
-
|
|
514
438
|
switch (type) {
|
|
515
439
|
case 'multiple':
|
|
516
440
|
return listData;
|
|
517
|
-
|
|
518
441
|
case 'cascade':
|
|
519
442
|
// 级联数据处理
|
|
520
443
|
return formatCascade(listData, chooseValueData);
|
|
521
|
-
|
|
522
444
|
default:
|
|
523
445
|
return [listData];
|
|
524
446
|
}
|
|
525
|
-
};
|
|
526
|
-
|
|
527
|
-
|
|
447
|
+
};
|
|
448
|
+
// 每一列的类型
|
|
528
449
|
var columnsType = function columnsType() {
|
|
529
450
|
var firstColumn = listData[0];
|
|
530
|
-
|
|
531
451
|
if (firstColumn) {
|
|
532
452
|
if (Array.isArray(firstColumn)) {
|
|
533
453
|
return 'multiple';
|
|
534
454
|
}
|
|
535
|
-
|
|
536
455
|
if ('children' in firstColumn) {
|
|
537
456
|
return 'cascade';
|
|
538
457
|
}
|
|
539
458
|
}
|
|
540
|
-
|
|
541
459
|
return 'single';
|
|
542
|
-
};
|
|
543
|
-
|
|
544
|
-
|
|
460
|
+
};
|
|
461
|
+
// 级联数据格式化
|
|
545
462
|
var formatCascade = function formatCascade(columns, defaultValues) {
|
|
546
463
|
var formatted = [];
|
|
547
464
|
var cursor = {
|
|
@@ -550,7 +467,6 @@ var InternalPicker = function InternalPicker(props, ref) {
|
|
|
550
467
|
children: columns
|
|
551
468
|
};
|
|
552
469
|
var columnIndex = 0;
|
|
553
|
-
|
|
554
470
|
var _loop = function _loop() {
|
|
555
471
|
var options = cursor.children;
|
|
556
472
|
var value = defaultValues[columnIndex];
|
|
@@ -562,14 +478,11 @@ var InternalPicker = function InternalPicker(props, ref) {
|
|
|
562
478
|
columnIndex++;
|
|
563
479
|
formatted.push(options);
|
|
564
480
|
};
|
|
565
|
-
|
|
566
481
|
while (cursor && cursor.children) {
|
|
567
482
|
_loop();
|
|
568
483
|
}
|
|
569
|
-
|
|
570
484
|
return formatted;
|
|
571
485
|
};
|
|
572
|
-
|
|
573
486
|
var init = function init() {
|
|
574
487
|
var data = [];
|
|
575
488
|
var normalData = normalListData();
|
|
@@ -578,12 +491,10 @@ var InternalPicker = function InternalPicker(props, ref) {
|
|
|
578
491
|
item[0] && data.push(item[0].value);
|
|
579
492
|
return item;
|
|
580
493
|
});
|
|
581
|
-
|
|
582
494
|
if (!defaultValueData && chooseValueData.length === 0) {
|
|
583
495
|
setchooseValueData([].concat(data));
|
|
584
496
|
}
|
|
585
497
|
};
|
|
586
|
-
|
|
587
498
|
var renderToolbar = function renderToolbar() {
|
|
588
499
|
return React__default.createElement("div", {
|
|
589
500
|
className: b('control')
|
|
@@ -599,7 +510,6 @@ var InternalPicker = function InternalPicker(props, ref) {
|
|
|
599
510
|
onClick: confirm
|
|
600
511
|
}, locale.confirm));
|
|
601
512
|
};
|
|
602
|
-
|
|
603
513
|
return React__default.createElement(Popup, {
|
|
604
514
|
visible: isVisible,
|
|
605
515
|
position: "bottom",
|
|
@@ -628,6 +538,5 @@ var InternalPicker = function InternalPicker(props, ref) {
|
|
|
628
538
|
});
|
|
629
539
|
}))));
|
|
630
540
|
};
|
|
631
|
-
|
|
632
541
|
var Picker = React__default.forwardRef(InternalPicker);
|
|
633
542
|
export { Picker as P };
|