@nutui/nutui-react 2.3.12-beta.0 → 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 -76
- package/dist/esm/Address.js +80 -171
- package/dist/esm/Animate.js +21 -49
- package/dist/esm/AnimatingNumbers.js +47 -120
- 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/Barrage.js +49 -83
- 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/Cell.js +27 -62
- package/dist/esm/CellGroup.js +16 -45
- package/dist/esm/CheckboxGroup.js +49 -85
- package/dist/esm/CircleProgress.js +42 -93
- package/dist/esm/Col.js +17 -48
- package/dist/esm/Collapse.js +18 -49
- package/dist/esm/ConfigProvider.js +3 -2
- package/dist/esm/CountDown.js +62 -101
- package/dist/esm/DatePicker.js +87 -127
- package/dist/esm/Dialog.js +116 -196
- package/dist/esm/Divider.js +16 -36
- package/dist/esm/Drag.js +32 -76
- package/dist/esm/Elevator.js +93 -133
- package/dist/esm/Ellipsis.js +71 -92
- package/dist/esm/Empty.js +31 -70
- package/dist/esm/FixedNav.js +32 -81
- package/dist/esm/Form.js +28 -61
- package/dist/esm/Grid.js +27 -51
- package/dist/esm/Image.js +47 -102
- package/dist/esm/ImagePreview.js +82 -135
- 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 -105
- package/dist/esm/NavBar.js +46 -85
- package/dist/esm/NoticeBar.js +153 -226
- package/dist/esm/Notify.js +87 -178
- package/dist/esm/NumberKeyboard.js +84 -150
- package/dist/esm/Pagination.js +58 -97
- package/dist/esm/Picker.js +215 -276
- package/dist/esm/Popover.js +111 -159
- package/dist/esm/Price.js +23 -60
- package/dist/esm/Progress.js +47 -77
- package/dist/esm/PullToRefresh.js +94 -201
- package/dist/esm/RadioGroup.js +23 -53
- package/dist/esm/Range.js +113 -177
- package/dist/esm/Rate.js +48 -95
- package/dist/esm/Row.js +19 -43
- 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 -108
- 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 -59
- package/dist/esm/Table.js +92 -141
- 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 -197
- 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 +307 -536
- 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 -1510
- 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 +242 -284
- package/dist/nutui.react.umd.js +239 -281
- package/dist/style.mjs +1 -1
- package/dist/styles/variables-jmapp.scss +4 -0
- 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/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/empty/empty.d.ts +15 -3
- package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +2 -0
- package/dist/types/packages/rate/rate.d.ts +1 -1
- package/package.json +5 -1
package/dist/esm/DatePicker.js
CHANGED
|
@@ -1,54 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
|
-
var _excluded = ["startDate", "endDate", "type", "showChinese", "minuteStep", "visible", "title", "defaultValue", "pickerProps", "formatter", "onClose", "onCancel", "onConfirm", "filter", "onChange", "threeDimensional", "className", "style"];
|
|
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, useEffect } from "react";
|
|
28
3
|
import Picker from "./Picker.js";
|
|
29
4
|
import { useConfig } from "./ConfigProvider.js";
|
|
30
5
|
import { u as usePropsValue } from "./use-props-value.js";
|
|
31
6
|
import { C as ComponentDefaults } from "./typings.js";
|
|
32
7
|
import { p as padZero } from "./pad-zero.js";
|
|
33
|
-
|
|
8
|
+
const isDate = (val) => {
|
|
34
9
|
return Object.prototype.toString.call(val) === "[object Date]" && !Number.isNaN(val.getTime());
|
|
35
10
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
title
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
minuteStep: 1,
|
|
44
|
-
startDate: new Date(currentYear - 10, 0, 1),
|
|
45
|
-
endDate: new Date(currentYear + 10, 11, 31)
|
|
46
|
-
});
|
|
47
|
-
var DatePicker = function DatePicker2(props) {
|
|
48
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), startDate = _defaultProps$props.startDate, endDate = _defaultProps$props.endDate, type = _defaultProps$props.type, showChinese = _defaultProps$props.showChinese, minuteStep = _defaultProps$props.minuteStep, visible = _defaultProps$props.visible, title = _defaultProps$props.title, defaultValue = _defaultProps$props.defaultValue, _defaultProps$props$p = _defaultProps$props.pickerProps, pickerProps = _defaultProps$props$p === void 0 ? {} : _defaultProps$props$p, formatter = _defaultProps$props.formatter, onClose = _defaultProps$props.onClose, onCancel = _defaultProps$props.onCancel, _onConfirm = _defaultProps$props.onConfirm, filter = _defaultProps$props.filter, onChange = _defaultProps$props.onChange, threeDimensional = _defaultProps$props.threeDimensional, className = _defaultProps$props.className, style = _defaultProps$props.style, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
49
|
-
var _useConfig = useConfig(), locale = _useConfig.locale;
|
|
50
|
-
var lang = locale.datepicker;
|
|
51
|
-
var zhCNType = {
|
|
11
|
+
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
12
|
+
const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { visible: false, title: "", type: "date", showChinese: false, threeDimensional: true, minuteStep: 1, startDate: new Date(currentYear - 10, 0, 1), endDate: new Date(currentYear + 10, 11, 31) });
|
|
13
|
+
const DatePicker = (props) => {
|
|
14
|
+
const _a = Object.assign(Object.assign({}, defaultProps), props), { startDate, endDate, type, showChinese, minuteStep, visible, title, defaultValue, pickerProps = {}, formatter, onClose, onCancel, onConfirm, filter, onChange, threeDimensional, className, style } = _a, rest = __rest(_a, ["startDate", "endDate", "type", "showChinese", "minuteStep", "visible", "title", "defaultValue", "pickerProps", "formatter", "onClose", "onCancel", "onConfirm", "filter", "onChange", "threeDimensional", "className", "style"]);
|
|
15
|
+
const { locale } = useConfig();
|
|
16
|
+
const lang = locale.datepicker;
|
|
17
|
+
const zhCNType = {
|
|
52
18
|
day: lang.day,
|
|
53
19
|
year: lang.year,
|
|
54
20
|
month: lang.month,
|
|
@@ -56,36 +22,36 @@ var DatePicker = function DatePicker2(props) {
|
|
|
56
22
|
minute: lang.min,
|
|
57
23
|
seconds: lang.seconds
|
|
58
24
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
25
|
+
const [pickerValue, setPickerValue] = useState([]);
|
|
26
|
+
const [pickerOptions, setPickerOptions] = useState([]);
|
|
27
|
+
const formatValue = (value) => {
|
|
62
28
|
if (!value || value && !isDate(value)) {
|
|
63
29
|
value = startDate;
|
|
64
30
|
}
|
|
65
31
|
return Math.min(Math.max(value.getTime(), startDate.getTime()), endDate.getTime());
|
|
66
32
|
};
|
|
67
|
-
|
|
33
|
+
const [selectedDate, setSelectedDate] = usePropsValue({
|
|
68
34
|
value: props.value && formatValue(props.value),
|
|
69
35
|
defaultValue: props.defaultValue && formatValue(props.defaultValue),
|
|
70
36
|
finalValue: 0
|
|
71
|
-
})
|
|
37
|
+
});
|
|
72
38
|
function getMonthEndDay(year, month) {
|
|
73
39
|
return new Date(year, month, 0).getDate();
|
|
74
40
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
41
|
+
const getBoundary = (type2, value) => {
|
|
42
|
+
const boundary = type2 === "min" ? startDate : endDate;
|
|
43
|
+
const year = boundary.getFullYear();
|
|
44
|
+
let month = 1;
|
|
45
|
+
let date = 1;
|
|
46
|
+
let hour = 0;
|
|
47
|
+
let minute = 0;
|
|
82
48
|
if (type2 === "max") {
|
|
83
49
|
month = 12;
|
|
84
50
|
date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);
|
|
85
51
|
hour = 23;
|
|
86
52
|
minute = 59;
|
|
87
53
|
}
|
|
88
|
-
|
|
54
|
+
const seconds = minute;
|
|
89
55
|
if (value.getFullYear() === year) {
|
|
90
56
|
month = boundary.getMonth() + 1;
|
|
91
57
|
if (value.getMonth() + 1 === month) {
|
|
@@ -98,33 +64,47 @@ var DatePicker = function DatePicker2(props) {
|
|
|
98
64
|
}
|
|
99
65
|
}
|
|
100
66
|
}
|
|
101
|
-
return
|
|
67
|
+
return {
|
|
68
|
+
[`${type2}Year`]: year,
|
|
69
|
+
[`${type2}Month`]: month,
|
|
70
|
+
[`${type2}Date`]: date,
|
|
71
|
+
[`${type2}Hour`]: hour,
|
|
72
|
+
[`${type2}Minute`]: minute,
|
|
73
|
+
[`${type2}Seconds`]: seconds
|
|
74
|
+
};
|
|
102
75
|
};
|
|
103
|
-
|
|
104
|
-
|
|
76
|
+
const ranges = () => {
|
|
77
|
+
const selected = new Date(selectedDate);
|
|
105
78
|
if (!selected)
|
|
106
79
|
return [];
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
80
|
+
const { maxYear, maxDate, maxMonth, maxHour, maxMinute, maxSeconds } = getBoundary("max", selected);
|
|
81
|
+
const { minYear, minDate, minMonth, minHour, minMinute, minSeconds } = getBoundary("min", selected);
|
|
82
|
+
const result = [
|
|
83
|
+
{
|
|
84
|
+
type: "year",
|
|
85
|
+
range: [minYear, maxYear]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
type: "month",
|
|
89
|
+
range: [minMonth, maxMonth]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: "day",
|
|
93
|
+
range: [minDate, maxDate]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: "hour",
|
|
97
|
+
range: [minHour, maxHour]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: "minute",
|
|
101
|
+
range: [minMinute, maxMinute]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: "seconds",
|
|
105
|
+
range: [minSeconds, maxSeconds]
|
|
106
|
+
}
|
|
107
|
+
];
|
|
128
108
|
switch (type.toLocaleLowerCase()) {
|
|
129
109
|
case "date":
|
|
130
110
|
return result.slice(0, 3);
|
|
@@ -144,12 +124,12 @@ var DatePicker = function DatePicker2(props) {
|
|
|
144
124
|
return result;
|
|
145
125
|
}
|
|
146
126
|
};
|
|
147
|
-
|
|
148
|
-
var
|
|
127
|
+
const handlePickerChange = (selectedOptions, selectedValue, index) => {
|
|
128
|
+
var _a2;
|
|
129
|
+
const rangeType = type.toLocaleLowerCase();
|
|
149
130
|
if (["date", "datetime", "datehour", "month-day", "year-month"].includes(rangeType)) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
selectedValue.forEach(function(item) {
|
|
131
|
+
const formatDate = [];
|
|
132
|
+
selectedValue.forEach((item) => {
|
|
153
133
|
formatDate.push(item);
|
|
154
134
|
});
|
|
155
135
|
if (rangeType === "month-day" && formatDate.length < 3) {
|
|
@@ -158,10 +138,10 @@ var DatePicker = function DatePicker2(props) {
|
|
|
158
138
|
if (rangeType === "year-month" && formatDate.length < 3) {
|
|
159
139
|
formatDate.push(new Date(defaultValue || startDate || endDate).getDate());
|
|
160
140
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
141
|
+
const year = Number(formatDate[0]);
|
|
142
|
+
const month = Number(formatDate[1]) - 1;
|
|
143
|
+
const day = Math.min(Number(formatDate[2]), getMonthEndDay(Number(formatDate[0]), Number(formatDate[1])));
|
|
144
|
+
let date = null;
|
|
165
145
|
if (rangeType === "date" || rangeType === "month-day" || rangeType === "year-month") {
|
|
166
146
|
date = new Date(year, month, day);
|
|
167
147
|
} else if (rangeType === "datetime") {
|
|
@@ -169,30 +149,27 @@ var DatePicker = function DatePicker2(props) {
|
|
|
169
149
|
} else if (rangeType === "datehour") {
|
|
170
150
|
date = new Date(year, month, day, Number(formatDate[3]));
|
|
171
151
|
}
|
|
172
|
-
|
|
152
|
+
const isEqual = ((_a2 = new Date(selectedDate)) === null || _a2 === void 0 ? void 0 : _a2.getTime()) === (date === null || date === void 0 ? void 0 : date.getTime());
|
|
173
153
|
date && isDate(date) && !isEqual && setSelectedDate(formatValue(date));
|
|
174
154
|
}
|
|
175
155
|
props.onChange && props.onChange(selectedOptions, selectedValue, index);
|
|
176
156
|
};
|
|
177
|
-
|
|
157
|
+
const formatOption = (type2, value) => {
|
|
178
158
|
if (formatter) {
|
|
179
159
|
return formatter(type2, {
|
|
180
160
|
text: padZero(value, 2),
|
|
181
161
|
value: padZero(value, 2)
|
|
182
162
|
});
|
|
183
163
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
return {
|
|
187
|
-
text: padMin + fatter,
|
|
188
|
-
value: padMin
|
|
189
|
-
};
|
|
164
|
+
const padMin = padZero(value, 2);
|
|
165
|
+
const fatter = showChinese ? zhCNType[type2] : "";
|
|
166
|
+
return { text: padMin + fatter, value: padMin };
|
|
190
167
|
};
|
|
191
|
-
|
|
192
|
-
var
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
168
|
+
const generateColumn = (min, max, val, type2, columnIndex) => {
|
|
169
|
+
var _a2;
|
|
170
|
+
let cmin = min;
|
|
171
|
+
const arr = [];
|
|
172
|
+
let index = 0;
|
|
196
173
|
while (cmin <= max) {
|
|
197
174
|
arr.push(formatOption(type2, cmin));
|
|
198
175
|
if (type2 === "minute") {
|
|
@@ -204,15 +181,15 @@ var DatePicker = function DatePicker2(props) {
|
|
|
204
181
|
index++;
|
|
205
182
|
}
|
|
206
183
|
}
|
|
207
|
-
pickerValue[columnIndex] = (
|
|
208
|
-
setPickerValue(
|
|
184
|
+
pickerValue[columnIndex] = (_a2 = arr[index]) === null || _a2 === void 0 ? void 0 : _a2.value;
|
|
185
|
+
setPickerValue([...pickerValue]);
|
|
209
186
|
if (props.filter && props.filter(type2, arr)) {
|
|
210
187
|
return props.filter(type2, arr);
|
|
211
188
|
}
|
|
212
189
|
return arr;
|
|
213
190
|
};
|
|
214
|
-
|
|
215
|
-
|
|
191
|
+
const getDateIndex = (type2) => {
|
|
192
|
+
const date = new Date(selectedDate);
|
|
216
193
|
if (!selectedDate)
|
|
217
194
|
return 0;
|
|
218
195
|
if (type2 === "year") {
|
|
@@ -235,33 +212,16 @@ var DatePicker = function DatePicker2(props) {
|
|
|
235
212
|
}
|
|
236
213
|
return 0;
|
|
237
214
|
};
|
|
238
|
-
|
|
239
|
-
|
|
215
|
+
const columns = () => {
|
|
216
|
+
const val = ranges().map((res, columnIndex) => {
|
|
240
217
|
return generateColumn(res.range[0], res.range[1], getDateIndex(res.type), res.type, columnIndex);
|
|
241
218
|
});
|
|
242
219
|
return val || [];
|
|
243
220
|
};
|
|
244
|
-
useEffect(
|
|
221
|
+
useEffect(() => {
|
|
245
222
|
setPickerOptions(columns());
|
|
246
223
|
}, [selectedDate, startDate, endDate]);
|
|
247
|
-
return React__default.createElement("div",
|
|
248
|
-
className: "nut-datepicker ".concat(className),
|
|
249
|
-
style
|
|
250
|
-
}, rest), pickerOptions.length && React__default.createElement(Picker, _objectSpread(_objectSpread({}, pickerProps), {}, {
|
|
251
|
-
title,
|
|
252
|
-
visible,
|
|
253
|
-
options: pickerOptions,
|
|
254
|
-
onClose,
|
|
255
|
-
onCancel,
|
|
256
|
-
value: pickerValue,
|
|
257
|
-
onConfirm: function onConfirm(options, value) {
|
|
258
|
-
return _onConfirm && _onConfirm(options, value);
|
|
259
|
-
},
|
|
260
|
-
onChange: function onChange2(options, value, index) {
|
|
261
|
-
return handlePickerChange(options, value, index);
|
|
262
|
-
},
|
|
263
|
-
threeDimensional
|
|
264
|
-
})));
|
|
224
|
+
return React__default.createElement("div", Object.assign({ className: `nut-datepicker ${className}`, style }, rest), pickerOptions.length && React__default.createElement(Picker, Object.assign({}, pickerProps, { title, visible, options: pickerOptions, onClose, onCancel, value: pickerValue, onConfirm: (options, value) => onConfirm && onConfirm(options, value), onChange: (options, value, index) => handlePickerChange(options, value, index), threeDimensional })));
|
|
265
225
|
};
|
|
266
226
|
DatePicker.defaultProps = defaultProps;
|
|
267
227
|
DatePicker.displayName = "NutDatePicker";
|