@nutui/nutui-react 2.3.11 → 2.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/esm/ActionSheet.js +30 -86
- package/dist/esm/Address.js +80 -184
- package/dist/esm/Animate.js +21 -49
- package/dist/esm/AnimatingNumbers.js +47 -136
- package/dist/esm/Audio.js +88 -159
- package/dist/esm/Avatar.js +44 -91
- package/dist/esm/AvatarCropper.js +149 -268
- package/dist/esm/AvatarGroup.js +13 -44
- package/dist/esm/BackTop.js +34 -75
- package/dist/esm/Badge.js +0 -3
- package/dist/esm/Barrage.js +49 -83
- package/dist/esm/Button.js +0 -4
- package/dist/esm/Calendar.js +27 -119
- package/dist/esm/CalendarCard.js +180 -291
- package/dist/esm/CalendarItem.js +253 -314
- package/dist/esm/Card.js +38 -72
- package/dist/esm/Cascader.js +0 -17
- package/dist/esm/Cell.js +27 -62
- package/dist/esm/CellGroup.js +16 -45
- package/dist/esm/Checkbox.js +0 -6
- package/dist/esm/CheckboxGroup.js +49 -88
- package/dist/esm/CircleProgress.js +42 -93
- package/dist/esm/Col.js +17 -48
- package/dist/esm/Collapse.js +18 -49
- package/dist/esm/CollapseItem.js +0 -3
- package/dist/esm/ConfigProvider.js +3 -4
- package/dist/esm/CountDown.js +62 -101
- package/dist/esm/DatePicker.js +87 -127
- package/dist/esm/Dialog.js +117 -203
- package/dist/esm/Divider.js +16 -36
- package/dist/esm/Drag.js +32 -76
- package/dist/esm/Elevator.js +94 -133
- package/dist/esm/Ellipsis.js +71 -92
- package/dist/esm/Empty.js +31 -71
- package/dist/esm/FixedNav.js +32 -81
- package/dist/esm/Form.js +28 -61
- package/dist/esm/FormItem.js +0 -3
- package/dist/esm/Grid.js +27 -52
- package/dist/esm/GridItem.js +0 -4
- package/dist/esm/Image.js +47 -102
- package/dist/esm/ImagePreview.js +82 -135
- package/dist/esm/Indicator.js +0 -2
- package/dist/esm/InfiniteLoading.js +77 -159
- package/dist/esm/Input.js +57 -125
- package/dist/esm/InputNumber.js +66 -96
- package/dist/esm/Layout.js +4 -28
- package/dist/esm/Loading.js +13 -40
- package/dist/esm/Menu.js +51 -114
- package/dist/esm/MenuItem.js +0 -13
- package/dist/esm/NavBar.js +46 -85
- package/dist/esm/NoticeBar.js +153 -226
- package/dist/esm/Notify.js +87 -195
- package/dist/esm/NumberKeyboard.js +84 -150
- package/dist/esm/Overlay.js +0 -8
- package/dist/esm/Pagination.js +58 -97
- package/dist/esm/Picker.js +215 -283
- package/dist/esm/Popover.js +111 -160
- package/dist/esm/Popup.js +0 -12
- package/dist/esm/Price.js +23 -60
- package/dist/esm/Progress.js +47 -77
- package/dist/esm/PullToRefresh.js +94 -202
- package/dist/esm/Radio.js +0 -6
- package/dist/esm/RadioGroup.js +23 -56
- package/dist/esm/Range.js +113 -177
- package/dist/esm/Rate.js +48 -95
- package/dist/esm/Row.js +19 -43
- package/dist/esm/SafeArea.js +0 -2
- package/dist/esm/SearchBar.js +52 -119
- package/dist/esm/ShortPassword.js +58 -106
- package/dist/esm/SideNavBar.js +34 -59
- package/dist/esm/SideNavBarItem.js +7 -36
- package/dist/esm/Signature.js +49 -84
- package/dist/esm/Skeleton.js +31 -68
- package/dist/esm/Space.js +7 -34
- package/dist/esm/Step.js +35 -64
- package/dist/esm/Steps.js +16 -40
- package/dist/esm/Sticky.js +64 -109
- package/dist/esm/SubSideNavBar.js +42 -71
- package/dist/esm/Swipe.js +79 -143
- package/dist/esm/Swiper.js +136 -183
- package/dist/esm/SwiperItem.js +13 -38
- package/dist/esm/Switch.js +20 -53
- package/dist/esm/TabPane.js +6 -30
- package/dist/esm/Tabbar.js +29 -60
- package/dist/esm/TabbarItem.js +0 -4
- package/dist/esm/Table.js +92 -141
- package/dist/esm/Tabs.js +0 -7
- package/dist/esm/Tag.js +30 -74
- package/dist/esm/TextArea.js +37 -82
- package/dist/esm/TimeDetail.js +20 -58
- package/dist/esm/TimeSelect.js +57 -95
- package/dist/esm/Toast.js +110 -219
- package/dist/esm/Tour.js +88 -132
- package/dist/esm/TrendArrow.js +32 -74
- package/dist/esm/Uploader.js +226 -346
- package/dist/esm/UserContext.js +1 -1
- package/dist/esm/Video.js +34 -67
- package/dist/esm/VirtualList.js +127 -160
- package/dist/esm/WaterMark.js +24 -68
- package/dist/esm/badge2.js +23 -53
- package/dist/esm/button2.js +30 -63
- package/dist/esm/can-use-dom.js +1 -1
- package/dist/esm/cascader2.js +308 -538
- package/dist/esm/checkbox2.js +59 -96
- package/dist/esm/collapseitem2.js +48 -86
- package/dist/esm/configprovider2.js +43 -1003
- package/dist/esm/context.js +1 -1
- package/dist/esm/context2.js +1 -1
- package/dist/esm/context3.js +1 -1
- package/dist/esm/context4.js +1 -1
- package/dist/esm/context5.js +8 -8
- package/dist/esm/date.js +88 -66
- package/dist/esm/formitem2.js +236 -1526
- package/dist/esm/get-scroll-parent.js +8 -10
- package/dist/esm/griditem2.js +34 -52
- package/dist/esm/index.js +5 -12
- package/dist/esm/indicator2.js +13 -42
- package/dist/esm/menuitem2.js +81 -124
- package/dist/esm/overlay2.js +39 -78
- package/dist/esm/pad-zero.js +3 -4
- package/dist/esm/popup2.js +79 -124
- package/dist/esm/px-check.js +2 -2
- package/dist/esm/radio2.js +48 -79
- package/dist/esm/raf.js +5 -3
- package/dist/esm/render.js +17 -54
- package/dist/esm/safearea2.js +3 -5
- package/dist/esm/supports-passive.js +3 -3
- package/dist/esm/tabbaritem2.js +42 -58
- package/dist/esm/tabs2.js +82 -120
- package/dist/esm/tslib.es6.js +47 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo1.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo2.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo3.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo4.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo5.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo6.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo7.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo8.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo9.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo1.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo10.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo2.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo3.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo4.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo5.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo6.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo7.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo8.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo9.d.ts +3 -0
- package/dist/esm/types/src/packages/configprovider/configprovider.d.ts +1 -0
- package/dist/esm/types/src/packages/configprovider/configprovider.taro.d.ts +1 -0
- package/dist/esm/types/src/packages/configprovider/index.d.ts +2 -2
- package/dist/esm/types/src/packages/configprovider/index.taro.d.ts +2 -2
- package/dist/esm/types/src/packages/inputnumber/inputnumber.taro.d.ts +2 -0
- package/dist/esm/typings.js +1 -1
- package/dist/esm/use-click-away.js +9 -13
- package/dist/esm/use-client-rect.js +4 -4
- package/dist/esm/use-props-value.js +10 -15
- package/dist/esm/use-refs.js +5 -7
- package/dist/esm/use-touch.js +16 -20
- 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/tr-TR.js +1 -1
- package/dist/locales/zh-CN.js +1 -1
- package/dist/locales/zh-TW.js +1 -1
- package/dist/locales/zh-UG.js +1 -1
- package/dist/nutui.react.es.js +465 -485
- package/dist/nutui.react.umd.js +462 -482
- package/dist/style.mjs +1 -1
- package/dist/styles/variables-jmapp.scss +4 -0
- package/dist/types/index.d.ts +98 -98
- package/dist/types/packages/actionsheet/actionsheet.d.ts +1 -1
- package/dist/types/packages/actionsheet/actionsheet.taro.d.ts +1 -1
- package/dist/types/packages/address/address.d.ts +1 -1
- package/dist/types/packages/address/address.taro.d.ts +1 -1
- package/dist/types/packages/address/customRender.d.ts +1 -1
- package/dist/types/packages/address/customRender.taro.d.ts +1 -1
- package/dist/types/packages/avatar/avatar.d.ts +1 -1
- package/dist/types/packages/avatar/avatar.taro.d.ts +1 -1
- package/dist/types/packages/button/demos/h5/demo1.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo2.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo3.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo4.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo5.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo6.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo7.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo8.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo9.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo1.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo10.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo2.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo3.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo4.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo5.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo6.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo7.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo8.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo9.d.ts +3 -0
- package/dist/types/packages/calendaritem/calendaritem.d.ts +1 -1
- package/dist/types/packages/calendaritem/calendaritem.taro.d.ts +1 -1
- package/dist/types/packages/cascader/cascader.d.ts +1 -1
- package/dist/types/packages/cascader/cascader.taro.d.ts +1 -1
- package/dist/types/packages/cell/cell.d.ts +1 -1
- package/dist/types/packages/cell/cell.taro.d.ts +1 -1
- package/dist/types/packages/checkbox/checkbox.d.ts +2 -2
- package/dist/types/packages/checkbox/checkbox.taro.d.ts +2 -2
- package/dist/types/packages/checkboxgroup/checkboxgroup.d.ts +2 -2
- package/dist/types/packages/checkboxgroup/checkboxgroup.taro.d.ts +2 -2
- package/dist/types/packages/configprovider/configprovider.d.ts +1 -0
- package/dist/types/packages/configprovider/configprovider.taro.d.ts +1 -0
- package/dist/types/packages/configprovider/index.d.ts +2 -2
- package/dist/types/packages/configprovider/index.taro.d.ts +2 -2
- package/dist/types/packages/datepicker/datepicker.d.ts +1 -1
- package/dist/types/packages/datepicker/datepicker.taro.d.ts +1 -1
- package/dist/types/packages/dialog/dialogwrap.d.ts +1 -1
- package/dist/types/packages/empty/empty.d.ts +16 -4
- package/dist/types/packages/fixednav/fixednav.d.ts +1 -1
- package/dist/types/packages/fixednav/fixednav.taro.d.ts +1 -1
- package/dist/types/packages/form/form.d.ts +1 -1
- package/dist/types/packages/form/form.taro.d.ts +1 -1
- package/dist/types/packages/form/index.d.ts +1 -1
- package/dist/types/packages/form/index.taro.d.ts +1 -1
- package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +2 -0
- package/dist/types/packages/menu/menu.d.ts +1 -1
- package/dist/types/packages/menu/menu.taro.d.ts +1 -1
- package/dist/types/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
- package/dist/types/packages/numberkeyboard/numberkeyboard.taro.d.ts +1 -1
- package/dist/types/packages/nutui.react.d.ts +98 -98
- package/dist/types/packages/nutui.react.taro.d.ts +98 -98
- package/dist/types/packages/nutui.taro.react.build.d.ts +98 -98
- package/dist/types/packages/picker/picker.d.ts +1 -1
- package/dist/types/packages/picker/picker.taro.d.ts +1 -1
- package/dist/types/packages/popover/popover.d.ts +1 -1
- package/dist/types/packages/popover/popover.taro.d.ts +1 -1
- package/dist/types/packages/popup/popup.d.ts +1 -1
- package/dist/types/packages/popup/popup.taro.d.ts +1 -1
- package/dist/types/packages/radio/radio.d.ts +2 -2
- package/dist/types/packages/radio/radio.taro.d.ts +2 -2
- package/dist/types/packages/rate/rate.d.ts +1 -1
- package/dist/types/packages/shortpassword/shortpassword.d.ts +1 -1
- package/dist/types/packages/shortpassword/shortpassword.taro.d.ts +1 -1
- package/dist/types/packages/swiper/index.d.ts +1 -1
- package/dist/types/packages/swiper/index.taro.d.ts +1 -1
- package/dist/types/packages/tabs/tabs.d.ts +1 -1
- package/dist/types/packages/tabs/tabs.taro.d.ts +1 -1
- package/dist/types/packages/timedetail/timedetail.d.ts +1 -1
- package/dist/types/packages/timedetail/timedetail.taro.d.ts +1 -1
- package/dist/types/packages/tour/tour.d.ts +1 -1
- package/dist/types/packages/tour/tour.taro.d.ts +1 -1
- package/package.json +5 -1
package/dist/esm/Picker.js
CHANGED
|
@@ -1,29 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
|
-
var _excluded = ["children", "visible", "title", "options", "closeOnOverlayClick", "popupProps", "defaultValue", "className", "style", "threeDimensional", "duration", "onConfirm", "onCancel", "onClose", "afterClose", "onChange"];
|
|
6
|
-
function ownKeys(e, r) {
|
|
7
|
-
var t = Object.keys(e);
|
|
8
|
-
if (Object.getOwnPropertySymbols) {
|
|
9
|
-
var o = Object.getOwnPropertySymbols(e);
|
|
10
|
-
r && (o = o.filter(function(r2) {
|
|
11
|
-
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
|
|
12
|
-
})), t.push.apply(t, o);
|
|
13
|
-
}
|
|
14
|
-
return t;
|
|
15
|
-
}
|
|
16
|
-
function _objectSpread(e) {
|
|
17
|
-
for (var r = 1; r < arguments.length; r++) {
|
|
18
|
-
var t = null != arguments[r] ? arguments[r] : {};
|
|
19
|
-
r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
|
|
20
|
-
_defineProperty(e, r2, t[r2]);
|
|
21
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
|
|
22
|
-
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return e;
|
|
26
|
-
}
|
|
1
|
+
import { _ as __rest } from "./tslib.es6.js";
|
|
27
2
|
import React__default, { useState, useRef, useEffect, useImperativeHandle } from "react";
|
|
28
3
|
import classNames from "classnames";
|
|
29
4
|
import { P as Popup } from "./popup2.js";
|
|
@@ -34,42 +9,33 @@ import { u as useRefs } from "./use-refs.js";
|
|
|
34
9
|
import { useConfig } from "./ConfigProvider.js";
|
|
35
10
|
import { u as usePropsValue } from "./use-props-value.js";
|
|
36
11
|
import { C as ComponentDefaults } from "./typings.js";
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var rollerRef = useRef(null);
|
|
58
|
-
var PickerPanelRef = useRef(null);
|
|
59
|
-
var _useState7 = useState(0), _useState8 = _slicedToArray(_useState7, 2), startTime = _useState8[0], setStartTime = _useState8[1];
|
|
60
|
-
var _useState9 = useState(0), _useState10 = _slicedToArray(_useState9, 2), startY = _useState10[0], setStartY = _useState10[1];
|
|
61
|
-
var transformY = useRef(0);
|
|
62
|
-
var _useState11 = useState(0), _useState12 = _slicedToArray(_useState11, 2), scrollDistance = _useState12[0], setScrollDistance = _useState12[1];
|
|
63
|
-
var isHidden = function isHidden2(index) {
|
|
12
|
+
const InternalPickerPanel = (props, ref) => {
|
|
13
|
+
const { keyIndex = 0, defaultValue, options = [], threeDimensional = true, duration = 1e3, chooseItem } = props;
|
|
14
|
+
const touch = useTouch();
|
|
15
|
+
const DEFAULT_DURATION = 200;
|
|
16
|
+
const INERTIA_TIME = 300;
|
|
17
|
+
const INERTIA_DISTANCE = 15;
|
|
18
|
+
const [currIndex, setCurrIndex] = useState(1);
|
|
19
|
+
const lineSpacing = 36;
|
|
20
|
+
const [touchTime, setTouchTime] = useState(0);
|
|
21
|
+
const [touchDeg, setTouchDeg] = useState("0deg");
|
|
22
|
+
const rotation = 20;
|
|
23
|
+
const moving = useRef(false);
|
|
24
|
+
let timer;
|
|
25
|
+
const rollerRef = useRef(null);
|
|
26
|
+
const PickerPanelRef = useRef(null);
|
|
27
|
+
const [startTime, setStartTime] = useState(0);
|
|
28
|
+
const [startY, setStartY] = useState(0);
|
|
29
|
+
const transformY = useRef(0);
|
|
30
|
+
const [scrollDistance, setScrollDistance] = useState(0);
|
|
31
|
+
const isHidden = (index) => {
|
|
64
32
|
if (index >= currIndex + 8 || index <= currIndex - 8) {
|
|
65
33
|
return true;
|
|
66
34
|
}
|
|
67
35
|
return false;
|
|
68
36
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
var translateY = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0;
|
|
72
|
-
var nTime = time;
|
|
37
|
+
const setTransform = (type, deg, time = DEFAULT_DURATION, translateY = 0) => {
|
|
38
|
+
let nTime = time;
|
|
73
39
|
if (type !== "end") {
|
|
74
40
|
nTime = 0;
|
|
75
41
|
}
|
|
@@ -77,8 +43,8 @@ var InternalPickerPanel = function InternalPickerPanel2(props, ref) {
|
|
|
77
43
|
setTouchDeg(deg);
|
|
78
44
|
setScrollDistance(translateY);
|
|
79
45
|
};
|
|
80
|
-
|
|
81
|
-
|
|
46
|
+
const setMove = (move, type, time) => {
|
|
47
|
+
let updateMove = move + transformY.current;
|
|
82
48
|
if (type === "end") {
|
|
83
49
|
if (updateMove > 0) {
|
|
84
50
|
updateMove = 0;
|
|
@@ -86,66 +52,66 @@ var InternalPickerPanel = function InternalPickerPanel2(props, ref) {
|
|
|
86
52
|
if (updateMove < -(options.length - 1) * lineSpacing) {
|
|
87
53
|
updateMove = -(options.length - 1) * lineSpacing;
|
|
88
54
|
}
|
|
89
|
-
|
|
90
|
-
|
|
55
|
+
const endMove = Math.round(updateMove / lineSpacing) * lineSpacing;
|
|
56
|
+
const deg = `${(Math.abs(Math.round(endMove / lineSpacing)) + 1) * rotation}deg`;
|
|
91
57
|
setTransform(type, deg, time, endMove);
|
|
92
58
|
setCurrIndex(Math.abs(Math.round(endMove / lineSpacing)) + 1);
|
|
93
59
|
} else {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (minDeg <
|
|
100
|
-
setTransform("",
|
|
60
|
+
let deg = 0;
|
|
61
|
+
const currentDeg = (-updateMove / lineSpacing + 1) * rotation;
|
|
62
|
+
const maxDeg = (options.length + 1) * rotation;
|
|
63
|
+
const minDeg = 0;
|
|
64
|
+
deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
|
|
65
|
+
if (minDeg < deg && deg < maxDeg) {
|
|
66
|
+
setTransform("", `${deg}deg`, void 0, updateMove);
|
|
101
67
|
setCurrIndex(Math.abs(Math.round(updateMove / lineSpacing)) + 1);
|
|
102
68
|
}
|
|
103
69
|
}
|
|
104
70
|
};
|
|
105
|
-
|
|
106
|
-
chooseItem === null || chooseItem === void 0
|
|
71
|
+
const setChooseValue = (move) => {
|
|
72
|
+
chooseItem === null || chooseItem === void 0 ? void 0 : chooseItem(options === null || options === void 0 ? void 0 : options[Math.round(-move / lineSpacing)], keyIndex);
|
|
107
73
|
};
|
|
108
|
-
|
|
74
|
+
const touchStart = (event) => {
|
|
109
75
|
touch.start(event);
|
|
110
76
|
setStartY(touch.deltaY.current);
|
|
111
77
|
setStartTime(Date.now());
|
|
112
78
|
transformY.current = scrollDistance;
|
|
113
79
|
};
|
|
114
|
-
|
|
80
|
+
const touchMove = (event) => {
|
|
115
81
|
touch.move(event);
|
|
116
82
|
if (touch.isVertical) {
|
|
117
83
|
moving.current = true;
|
|
118
84
|
preventDefault(event, true);
|
|
119
85
|
}
|
|
120
|
-
|
|
86
|
+
const move = touch.deltaY.current - startY;
|
|
121
87
|
setMove(move);
|
|
122
88
|
};
|
|
123
|
-
|
|
89
|
+
const touchEnd = () => {
|
|
124
90
|
if (!moving.current)
|
|
125
91
|
return;
|
|
126
|
-
|
|
127
|
-
|
|
92
|
+
const move = touch.deltaY.current - startY;
|
|
93
|
+
const moveTime = Date.now() - startTime;
|
|
128
94
|
if (moveTime <= INERTIA_TIME && Math.abs(move) > INERTIA_DISTANCE) {
|
|
129
|
-
|
|
95
|
+
const distance = momentum(move, moveTime);
|
|
130
96
|
setMove(distance, "end", +duration);
|
|
131
97
|
} else {
|
|
132
98
|
setMove(move, "end");
|
|
133
99
|
}
|
|
134
|
-
setTimeout(
|
|
100
|
+
setTimeout(() => {
|
|
135
101
|
touch.reset();
|
|
136
102
|
}, 0);
|
|
137
103
|
};
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
104
|
+
const momentum = (distance, duration2) => {
|
|
105
|
+
let nDistance = distance;
|
|
106
|
+
const speed = Math.abs(nDistance / duration2);
|
|
141
107
|
nDistance = speed / 3e-3 * (nDistance < 0 ? -1 : 1);
|
|
142
108
|
return nDistance;
|
|
143
109
|
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
110
|
+
const modifyStatus = (type, val) => {
|
|
111
|
+
const value = val || defaultValue;
|
|
112
|
+
let index = -1;
|
|
147
113
|
if (value) {
|
|
148
|
-
options.some(
|
|
114
|
+
options.some((item, idx) => {
|
|
149
115
|
if (item.value === value) {
|
|
150
116
|
index = idx;
|
|
151
117
|
return true;
|
|
@@ -153,23 +119,23 @@ var InternalPickerPanel = function InternalPickerPanel2(props, ref) {
|
|
|
153
119
|
return false;
|
|
154
120
|
});
|
|
155
121
|
} else {
|
|
156
|
-
options.forEach(
|
|
122
|
+
options.forEach((item, i) => {
|
|
157
123
|
if (item.value === defaultValue) {
|
|
158
124
|
index = i;
|
|
159
125
|
}
|
|
160
126
|
});
|
|
161
127
|
}
|
|
162
128
|
setCurrIndex(index === -1 ? 1 : index + 1);
|
|
163
|
-
|
|
129
|
+
const move = index === -1 ? 0 : index * lineSpacing;
|
|
164
130
|
type && setChooseValue(-move);
|
|
165
131
|
setMove(-move);
|
|
166
132
|
};
|
|
167
|
-
|
|
133
|
+
const stopMomentum = () => {
|
|
168
134
|
moving.current = false;
|
|
169
135
|
setTouchTime(0);
|
|
170
136
|
setChooseValue(scrollDistance);
|
|
171
137
|
};
|
|
172
|
-
|
|
138
|
+
const preventDefault = (event, isStopPropagation) => {
|
|
173
139
|
if (typeof event.cancelable !== "boolean" || event.cancelable) {
|
|
174
140
|
event.preventDefault();
|
|
175
141
|
}
|
|
@@ -177,155 +143,133 @@ var InternalPickerPanel = function InternalPickerPanel2(props, ref) {
|
|
|
177
143
|
event.stopPropagation();
|
|
178
144
|
}
|
|
179
145
|
};
|
|
180
|
-
|
|
146
|
+
const touchRollerStyle = () => {
|
|
181
147
|
return {
|
|
182
|
-
transition:
|
|
183
|
-
transform:
|
|
148
|
+
transition: `transform ${touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
|
|
149
|
+
transform: `rotate3d(1, 0, 0, ${touchDeg})`
|
|
184
150
|
};
|
|
185
151
|
};
|
|
186
|
-
|
|
152
|
+
const touchTileStyle = () => {
|
|
187
153
|
return {
|
|
188
|
-
transition:
|
|
189
|
-
transform:
|
|
154
|
+
transition: `transform ${touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
|
|
155
|
+
transform: `translate3d(0, ${scrollDistance}px, 0)`
|
|
190
156
|
};
|
|
191
157
|
};
|
|
192
|
-
useEffect(
|
|
158
|
+
useEffect(() => {
|
|
193
159
|
setScrollDistance(0);
|
|
194
160
|
transformY.current = 0;
|
|
195
161
|
modifyStatus(false);
|
|
196
|
-
return
|
|
162
|
+
return () => {
|
|
197
163
|
clearTimeout(timer);
|
|
198
164
|
};
|
|
199
165
|
}, [options]);
|
|
200
|
-
useImperativeHandle(ref,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
var _PickerPanelRef$curre4, _PickerPanelRef$curre5, _PickerPanelRef$curre6;
|
|
216
|
-
(_PickerPanelRef$curre4 = PickerPanelRef.current) === null || _PickerPanelRef$curre4 === void 0 || _PickerPanelRef$curre4.removeEventListener("touchstart", touchStart);
|
|
217
|
-
(_PickerPanelRef$curre5 = PickerPanelRef.current) === null || _PickerPanelRef$curre5 === void 0 || _PickerPanelRef$curre5.removeEventListener("touchmove", touchMove);
|
|
218
|
-
(_PickerPanelRef$curre6 = PickerPanelRef.current) === null || _PickerPanelRef$curre6 === void 0 || _PickerPanelRef$curre6.removeEventListener("touchend", touchEnd);
|
|
166
|
+
useImperativeHandle(ref, () => ({
|
|
167
|
+
stopMomentum,
|
|
168
|
+
moving: moving.current
|
|
169
|
+
}));
|
|
170
|
+
useEffect(() => {
|
|
171
|
+
var _a, _b, _c;
|
|
172
|
+
const options2 = passiveSupported ? { passive: false } : false;
|
|
173
|
+
(_a = PickerPanelRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener("touchstart", touchStart, options2);
|
|
174
|
+
(_b = PickerPanelRef.current) === null || _b === void 0 ? void 0 : _b.addEventListener("touchmove", touchMove, options2);
|
|
175
|
+
(_c = PickerPanelRef.current) === null || _c === void 0 ? void 0 : _c.addEventListener("touchend", touchEnd, options2);
|
|
176
|
+
return () => {
|
|
177
|
+
var _a2, _b2, _c2;
|
|
178
|
+
(_a2 = PickerPanelRef.current) === null || _a2 === void 0 ? void 0 : _a2.removeEventListener("touchstart", touchStart);
|
|
179
|
+
(_b2 = PickerPanelRef.current) === null || _b2 === void 0 ? void 0 : _b2.removeEventListener("touchmove", touchMove);
|
|
180
|
+
(_c2 = PickerPanelRef.current) === null || _c2 === void 0 ? void 0 : _c2.removeEventListener("touchend", touchEnd);
|
|
219
181
|
};
|
|
220
182
|
});
|
|
221
|
-
return React__default.createElement(
|
|
222
|
-
|
|
223
|
-
ref: PickerPanelRef,
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
}), React__default.createElement("div", {
|
|
248
|
-
className: "nut-picker-indicator"
|
|
249
|
-
}));
|
|
183
|
+
return React__default.createElement(
|
|
184
|
+
"div",
|
|
185
|
+
{ className: "nut-picker-list", ref: PickerPanelRef, onTouchStart: touchStart, onTouchMove: touchMove, onTouchEnd: touchEnd },
|
|
186
|
+
React__default.createElement(
|
|
187
|
+
"div",
|
|
188
|
+
{ className: "nut-picker-roller", ref: rollerRef, style: threeDimensional ? touchRollerStyle() : touchTileStyle(), onTransitionEnd: stopMomentum },
|
|
189
|
+
threeDimensional && options.map((item, index) => {
|
|
190
|
+
return React__default.createElement(
|
|
191
|
+
"div",
|
|
192
|
+
{ className: `nut-picker-roller-item ${isHidden(index + 1) && "nut-picker-roller-item-hidden"}`, style: {
|
|
193
|
+
transform: `rotate3d(1, 0, 0, ${-rotation * (index + 1)}deg) translate3d(0px, 0px, 104px)`
|
|
194
|
+
}, key: item.value ? item.value : index },
|
|
195
|
+
React__default.createElement(React__default.Fragment, null, item.text)
|
|
196
|
+
);
|
|
197
|
+
}),
|
|
198
|
+
!threeDimensional && options.map((item, index) => {
|
|
199
|
+
return React__default.createElement(
|
|
200
|
+
"div",
|
|
201
|
+
{ className: "nut-picker-roller-item-title", key: item.value ? item.value : index },
|
|
202
|
+
React__default.createElement(React__default.Fragment, null, item.text)
|
|
203
|
+
);
|
|
204
|
+
})
|
|
205
|
+
),
|
|
206
|
+
React__default.createElement("div", { className: "nut-picker-mask" }),
|
|
207
|
+
React__default.createElement("div", { className: "nut-picker-indicator" })
|
|
208
|
+
);
|
|
250
209
|
};
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
duration: 1e3
|
|
261
|
-
});
|
|
262
|
-
var InternalPicker = function InternalPicker2(props, ref) {
|
|
263
|
-
var _useConfig = useConfig(), locale = _useConfig.locale;
|
|
264
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, visible = _defaultProps$props.visible, title = _defaultProps$props.title, _defaultProps$props$o = _defaultProps$props.options, options = _defaultProps$props$o === void 0 ? [] : _defaultProps$props$o, closeOnOverlayClick = _defaultProps$props.closeOnOverlayClick, _defaultProps$props$p = _defaultProps$props.popupProps, popupProps = _defaultProps$props$p === void 0 ? {} : _defaultProps$props$p, _defaultProps$props$d = _defaultProps$props.defaultValue, defaultValue = _defaultProps$props$d === void 0 ? [] : _defaultProps$props$d, className = _defaultProps$props.className, style = _defaultProps$props.style, threeDimensional = _defaultProps$props.threeDimensional, duration = _defaultProps$props.duration, onConfirm = _defaultProps$props.onConfirm, onCancel = _defaultProps$props.onCancel, onClose = _defaultProps$props.onClose, _afterClose = _defaultProps$props.afterClose, onChange = _defaultProps$props.onChange, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
265
|
-
var classPrefix = "nut-picker";
|
|
266
|
-
var classes = classNames(classPrefix, className);
|
|
267
|
-
var _usePropsValue = usePropsValue({
|
|
210
|
+
const PickerPanel = React__default.forwardRef(InternalPickerPanel);
|
|
211
|
+
const PickerPanel$1 = PickerPanel;
|
|
212
|
+
const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { title: "", options: [], value: [], defaultValue: [], threeDimensional: true, closeOnOverlayClick: true, duration: 1e3 });
|
|
213
|
+
const InternalPicker = (props, ref) => {
|
|
214
|
+
const { locale } = useConfig();
|
|
215
|
+
const _a = Object.assign(Object.assign({}, defaultProps), props), { children, visible, title, options = [], closeOnOverlayClick, popupProps = {}, defaultValue = [], className, style, threeDimensional, duration, onConfirm, onCancel, onClose, afterClose, onChange } = _a, rest = __rest(_a, ["children", "visible", "title", "options", "closeOnOverlayClick", "popupProps", "defaultValue", "className", "style", "threeDimensional", "duration", "onConfirm", "onCancel", "onClose", "afterClose", "onChange"]);
|
|
216
|
+
const classPrefix = "nut-picker";
|
|
217
|
+
const classes = classNames(classPrefix, className);
|
|
218
|
+
const [selectedValue, setSelectedValue] = usePropsValue({
|
|
268
219
|
value: props.value,
|
|
269
|
-
defaultValue:
|
|
270
|
-
finalValue:
|
|
271
|
-
onChange:
|
|
272
|
-
var
|
|
273
|
-
(
|
|
220
|
+
defaultValue: [...defaultValue],
|
|
221
|
+
finalValue: [...defaultValue],
|
|
222
|
+
onChange: (val) => {
|
|
223
|
+
var _a2;
|
|
224
|
+
(_a2 = props.onConfirm) === null || _a2 === void 0 ? void 0 : _a2.call(props, setSelectedOptions(), val);
|
|
274
225
|
}
|
|
275
|
-
})
|
|
276
|
-
|
|
226
|
+
});
|
|
227
|
+
const [innerVisible, setInnerVisible] = usePropsValue({
|
|
277
228
|
value: props.visible,
|
|
278
229
|
defaultValue: false,
|
|
279
230
|
finalValue: false,
|
|
280
|
-
onChange:
|
|
281
|
-
var
|
|
282
|
-
(
|
|
231
|
+
onChange: (val) => {
|
|
232
|
+
var _a2;
|
|
233
|
+
(_a2 = props.onClose) === null || _a2 === void 0 ? void 0 : _a2.call(props, setSelectedOptions(), innerValue);
|
|
283
234
|
}
|
|
284
|
-
})
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
open:
|
|
235
|
+
});
|
|
236
|
+
const [innerValue, setInnerValue] = useState(selectedValue);
|
|
237
|
+
const [columnIndex, setColumnIndex] = useState(0);
|
|
238
|
+
const pickerRef = useRef(null);
|
|
239
|
+
const [refs, setRefs] = useRefs();
|
|
240
|
+
const [columnsList, setColumnsList] = useState([]);
|
|
241
|
+
const isConfirmEvent = useRef(false);
|
|
242
|
+
const actions = {
|
|
243
|
+
open: () => {
|
|
293
244
|
setInnerVisible(true);
|
|
294
245
|
},
|
|
295
|
-
close:
|
|
246
|
+
close: () => {
|
|
296
247
|
setInnerVisible(false);
|
|
297
248
|
}
|
|
298
249
|
};
|
|
299
|
-
useImperativeHandle(ref,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
var formatted = [];
|
|
304
|
-
var columnOptions = {
|
|
250
|
+
useImperativeHandle(ref, () => actions);
|
|
251
|
+
const formatCascade = (columns, values) => {
|
|
252
|
+
const formatted = [];
|
|
253
|
+
let columnOptions = {
|
|
305
254
|
text: "",
|
|
306
255
|
value: "",
|
|
307
256
|
children: columns
|
|
308
257
|
};
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
return columnItem.value === value;
|
|
315
|
-
});
|
|
258
|
+
let columnIndex2 = 0;
|
|
259
|
+
while (columnOptions && columnOptions.children) {
|
|
260
|
+
const options2 = columnOptions.children;
|
|
261
|
+
const value = values[columnIndex2];
|
|
262
|
+
let index = options2.findIndex((columnItem) => columnItem.value === value);
|
|
316
263
|
if (index === -1)
|
|
317
264
|
index = 0;
|
|
318
265
|
columnOptions = columnOptions.children[index];
|
|
319
266
|
columnIndex2++;
|
|
320
267
|
formatted.push(options2);
|
|
321
|
-
};
|
|
322
|
-
while (columnOptions && columnOptions.children) {
|
|
323
|
-
_loop();
|
|
324
268
|
}
|
|
325
269
|
return formatted;
|
|
326
270
|
};
|
|
327
|
-
|
|
328
|
-
|
|
271
|
+
const columnsType = () => {
|
|
272
|
+
const firstColumn = options[0];
|
|
329
273
|
if (firstColumn) {
|
|
330
274
|
if (Array.isArray(firstColumn)) {
|
|
331
275
|
return "multiple";
|
|
@@ -336,8 +280,8 @@ var InternalPicker = function InternalPicker2(props, ref) {
|
|
|
336
280
|
}
|
|
337
281
|
return "single";
|
|
338
282
|
};
|
|
339
|
-
|
|
340
|
-
|
|
283
|
+
const normalListData = (innerValue2) => {
|
|
284
|
+
const type = columnsType();
|
|
341
285
|
switch (type) {
|
|
342
286
|
case "multiple":
|
|
343
287
|
return options;
|
|
@@ -347,36 +291,34 @@ var InternalPicker = function InternalPicker2(props, ref) {
|
|
|
347
291
|
return [options];
|
|
348
292
|
}
|
|
349
293
|
};
|
|
350
|
-
|
|
351
|
-
|
|
294
|
+
const init = () => {
|
|
295
|
+
const normalData = normalListData(innerValue);
|
|
352
296
|
setColumnsList(normalData);
|
|
353
|
-
|
|
354
|
-
normalData.length > 0 && normalData.map(
|
|
297
|
+
const data = [];
|
|
298
|
+
normalData.length > 0 && normalData.map((item) => {
|
|
355
299
|
item[0] && data.push(item[0].value);
|
|
356
300
|
return item;
|
|
357
301
|
});
|
|
358
302
|
if (!innerValue.length && innerValue.length === 0) {
|
|
359
|
-
setInnerValue([]
|
|
303
|
+
setInnerValue([...data]);
|
|
360
304
|
}
|
|
361
305
|
};
|
|
362
|
-
useEffect(
|
|
306
|
+
useEffect(() => {
|
|
363
307
|
setInnerValue(innerValue !== selectedValue ? selectedValue : innerValue);
|
|
364
308
|
}, [innerVisible, selectedValue]);
|
|
365
|
-
useEffect(
|
|
309
|
+
useEffect(() => {
|
|
366
310
|
if (innerVisible) {
|
|
367
311
|
init();
|
|
368
312
|
}
|
|
369
313
|
}, [options, innerVisible]);
|
|
370
|
-
useEffect(
|
|
314
|
+
useEffect(() => {
|
|
371
315
|
onChange && onChange(setSelectedOptions(), innerValue, columnIndex);
|
|
372
316
|
}, [innerValue, columnsList]);
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
columnsList.forEach(
|
|
377
|
-
currOptions = columnOptions.filter(
|
|
378
|
-
return item.value === innerValue[index];
|
|
379
|
-
});
|
|
317
|
+
const setSelectedOptions = () => {
|
|
318
|
+
const options2 = [];
|
|
319
|
+
let currOptions = [];
|
|
320
|
+
columnsList.forEach((columnOptions, index) => {
|
|
321
|
+
currOptions = columnOptions.filter((item) => item.value === innerValue[index]);
|
|
380
322
|
if (currOptions[0]) {
|
|
381
323
|
options2.push(currOptions[0]);
|
|
382
324
|
} else {
|
|
@@ -385,29 +327,31 @@ var InternalPicker = function InternalPicker2(props, ref) {
|
|
|
385
327
|
});
|
|
386
328
|
return options2;
|
|
387
329
|
};
|
|
388
|
-
|
|
389
|
-
var
|
|
390
|
-
|
|
330
|
+
const chooseItem = (columnOptions, columnIndex2) => {
|
|
331
|
+
var _a2, _b;
|
|
332
|
+
const values = [];
|
|
333
|
+
const start = columnIndex2;
|
|
391
334
|
if (columnOptions && Object.keys(columnOptions).length) {
|
|
392
335
|
if (values[columnIndex2] !== columnOptions.value) {
|
|
393
336
|
if (columnsType() === "cascade") {
|
|
394
|
-
var _columnOptions2;
|
|
395
337
|
values[columnIndex2] = columnOptions.value || "";
|
|
396
|
-
while ((
|
|
397
|
-
var _columnOptions;
|
|
338
|
+
while ((_a2 = columnOptions === null || columnOptions === void 0 ? void 0 : columnOptions.children) === null || _a2 === void 0 ? void 0 : _a2[0]) {
|
|
398
339
|
values[columnIndex2 + 1] = columnOptions.children[0].value;
|
|
399
340
|
columnIndex2++;
|
|
400
341
|
columnOptions = columnOptions.children[0];
|
|
401
342
|
}
|
|
402
|
-
if ((
|
|
343
|
+
if ((_b = columnOptions === null || columnOptions === void 0 ? void 0 : columnOptions.children) === null || _b === void 0 ? void 0 : _b.length) {
|
|
403
344
|
values[columnIndex2 + 1] = "";
|
|
404
345
|
}
|
|
405
|
-
|
|
346
|
+
const combineResult = [
|
|
347
|
+
...innerValue.slice(0, start),
|
|
348
|
+
...values.splice(start)
|
|
349
|
+
];
|
|
406
350
|
setInnerValue(combineResult);
|
|
407
351
|
setColumnsList(normalListData(combineResult));
|
|
408
352
|
} else {
|
|
409
|
-
setInnerValue(
|
|
410
|
-
|
|
353
|
+
setInnerValue((data) => {
|
|
354
|
+
const cdata = [...data];
|
|
411
355
|
cdata[columnIndex2] = Object.prototype.hasOwnProperty.call(columnOptions, "value") ? columnOptions.value : "";
|
|
412
356
|
return cdata;
|
|
413
357
|
});
|
|
@@ -416,9 +360,9 @@ var InternalPicker = function InternalPicker2(props, ref) {
|
|
|
416
360
|
}
|
|
417
361
|
}
|
|
418
362
|
};
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
refs.forEach(
|
|
363
|
+
const confirm = () => {
|
|
364
|
+
let moving = false;
|
|
365
|
+
refs.forEach((ref2) => {
|
|
422
366
|
if (ref2.moving)
|
|
423
367
|
moving = true;
|
|
424
368
|
ref2.stopMomentum();
|
|
@@ -429,68 +373,56 @@ var InternalPicker = function InternalPicker2(props, ref) {
|
|
|
429
373
|
setSelectedValue(innerValue, true);
|
|
430
374
|
setInnerVisible(false);
|
|
431
375
|
}
|
|
432
|
-
setTimeout(
|
|
376
|
+
setTimeout(() => {
|
|
433
377
|
isConfirmEvent.current = false;
|
|
434
378
|
}, 0);
|
|
435
379
|
};
|
|
436
|
-
|
|
437
|
-
return React__default.createElement(
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
className:
|
|
441
|
-
onClick: function onClick(e) {
|
|
380
|
+
const renderTitleBar = () => {
|
|
381
|
+
return React__default.createElement(
|
|
382
|
+
"div",
|
|
383
|
+
{ className: `${classPrefix}-control` },
|
|
384
|
+
React__default.createElement("span", { className: `${classPrefix}-cancel-btn`, onClick: (e) => {
|
|
442
385
|
e.stopPropagation();
|
|
443
|
-
onCancel === null || onCancel === void 0
|
|
386
|
+
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
444
387
|
setInnerVisible(false);
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
className:
|
|
448
|
-
}, title || ""), React__default.createElement("span", {
|
|
449
|
-
className: "".concat(classPrefix, "-confirm-btn"),
|
|
450
|
-
onClick: function onClick(e) {
|
|
388
|
+
} }, locale.cancel),
|
|
389
|
+
React__default.createElement("div", { className: `${classPrefix}-title` }, title || ""),
|
|
390
|
+
React__default.createElement("span", { className: `${classPrefix}-confirm-btn`, onClick: (e) => {
|
|
451
391
|
e.stopPropagation();
|
|
452
392
|
confirm();
|
|
453
|
-
}
|
|
454
|
-
|
|
393
|
+
} }, locale.confirm)
|
|
394
|
+
);
|
|
455
395
|
};
|
|
456
|
-
return React__default.createElement(
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
},
|
|
484
|
-
duration,
|
|
485
|
-
key: index,
|
|
486
|
-
keyIndex: index
|
|
487
|
-
});
|
|
488
|
-
}))), React__default.createElement(SafeArea, {
|
|
489
|
-
position: "bottom"
|
|
490
|
-
})));
|
|
396
|
+
return React__default.createElement(
|
|
397
|
+
React__default.Fragment,
|
|
398
|
+
null,
|
|
399
|
+
typeof children === "function" && children(selectedValue),
|
|
400
|
+
React__default.createElement(
|
|
401
|
+
Popup,
|
|
402
|
+
Object.assign({}, popupProps, { visible: innerVisible, position: "bottom", onOverlayClick: () => {
|
|
403
|
+
var _a2;
|
|
404
|
+
if (closeOnOverlayClick) {
|
|
405
|
+
(_a2 = props.onCancel) === null || _a2 === void 0 ? void 0 : _a2.call(props);
|
|
406
|
+
setInnerVisible(false);
|
|
407
|
+
}
|
|
408
|
+
}, afterClose: () => {
|
|
409
|
+
afterClose === null || afterClose === void 0 ? void 0 : afterClose(setSelectedOptions(), innerValue, pickerRef);
|
|
410
|
+
} }),
|
|
411
|
+
React__default.createElement(
|
|
412
|
+
"div",
|
|
413
|
+
Object.assign({ className: classes, style }, rest),
|
|
414
|
+
renderTitleBar(),
|
|
415
|
+
typeof children !== "function" && children,
|
|
416
|
+
React__default.createElement("div", { className: `${classPrefix}-panel`, ref: pickerRef }, columnsList === null || columnsList === void 0 ? void 0 : columnsList.map((item, index) => {
|
|
417
|
+
return React__default.createElement(PickerPanel$1, { ref: setRefs(index), defaultValue: innerValue === null || innerValue === void 0 ? void 0 : innerValue[index], options: item, threeDimensional, chooseItem: (value, index2) => chooseItem(value, index2), duration, key: index, keyIndex: index });
|
|
418
|
+
}))
|
|
419
|
+
),
|
|
420
|
+
React__default.createElement(SafeArea, { position: "bottom" })
|
|
421
|
+
)
|
|
422
|
+
);
|
|
491
423
|
};
|
|
492
|
-
|
|
493
|
-
|
|
424
|
+
const Picker = React__default.forwardRef(InternalPicker);
|
|
425
|
+
const Picker$1 = Picker;
|
|
494
426
|
export {
|
|
495
427
|
Picker$1 as default
|
|
496
428
|
};
|