@bifrostui/react 2.0.0-beta.10 → 2.0.0-beta.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/dist/Calendar/Calendar.js +5 -1
- package/dist/Calendar/Calendar.types.d.ts +5 -0
- package/dist/Collapse/Collapse.css +0 -1
- package/dist/Collapse/Collapse.d.ts +1 -1
- package/dist/Collapse/Collapse.js +11 -8
- package/dist/Collapse/Collapse.miniapp.d.ts +5 -0
- package/dist/Collapse/Collapse.miniapp.js +177 -0
- package/dist/CollapsePanel/CollapsePanel.css +4 -2
- package/dist/DatePicker/DatePicker.d.ts +4 -0
- package/dist/DatePicker/DatePicker.js +335 -0
- package/dist/DatePicker/DatePicker.types.d.ts +36 -0
- package/dist/DatePicker/DatePicker.types.js +15 -0
- package/dist/DatePicker/constants.d.ts +9 -0
- package/dist/DatePicker/constants.js +37 -0
- package/dist/DatePicker/index.d.ts +3 -0
- package/dist/DatePicker/index.js +44 -0
- package/dist/DesktopDatePicker/DesktopDatePicker.d.ts +5 -0
- package/dist/DesktopDatePicker/DesktopDatePicker.js +280 -0
- package/dist/DesktopDatePicker/DesktopDatePicker.types.d.ts +163 -0
- package/dist/DesktopDatePicker/DesktopDatePicker.types.js +15 -0
- package/dist/DesktopDatePicker/deskTopPickerContainer.css +100 -0
- package/dist/DesktopDatePicker/index.css +61 -0
- package/dist/DesktopDatePicker/index.d.ts +2 -0
- package/dist/DesktopDatePicker/index.js +41 -0
- package/dist/DesktopDatePicker/useGetDatePickerContent.d.ts +6 -0
- package/dist/DesktopDatePicker/useGetDatePickerContent.js +343 -0
- package/dist/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +5 -0
- package/dist/DesktopDateTimePicker/DesktopDateTimePicker.js +322 -0
- package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +163 -0
- package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.js +15 -0
- package/dist/DesktopDateTimePicker/index.css +66 -0
- package/dist/DesktopDateTimePicker/index.d.ts +2 -0
- package/dist/DesktopDateTimePicker/index.js +41 -0
- package/dist/DesktopPicker/DesktopPicker.d.ts +5 -0
- package/dist/DesktopPicker/DesktopPicker.js +243 -0
- package/dist/DesktopPicker/DesktopPicker.types.d.ts +61 -0
- package/dist/DesktopPicker/DesktopPicker.types.js +15 -0
- package/dist/DesktopPicker/index.css +39 -0
- package/dist/DesktopPicker/index.d.ts +2 -0
- package/dist/DesktopPicker/index.js +41 -0
- package/dist/DesktopPicker/utils/calcAfterMounted.d.ts +2 -0
- package/dist/{Tabs/utils/bound.js → DesktopPicker/utils/calcAfterMounted.js} +7 -14
- package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +2 -0
- package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.js +38 -0
- package/dist/DesktopTimePicker/DesktopTimePicker.d.ts +5 -0
- package/dist/DesktopTimePicker/DesktopTimePicker.js +288 -0
- package/dist/DesktopTimePicker/DesktopTimePicker.types.d.ts +182 -0
- package/dist/DesktopTimePicker/DesktopTimePicker.types.js +15 -0
- package/dist/DesktopTimePicker/DesktopTimePickerList.d.ts +4 -0
- package/dist/DesktopTimePicker/DesktopTimePickerList.js +111 -0
- package/dist/DesktopTimePicker/index.css +170 -0
- package/dist/DesktopTimePicker/index.d.ts +2 -0
- package/dist/DesktopTimePicker/index.js +41 -0
- package/dist/DesktopTimePicker/useGetTimePickerContent.d.ts +6 -0
- package/dist/DesktopTimePicker/useGetTimePickerContent.js +249 -0
- package/dist/DesktopTimePicker/utils/scrollUtil.d.ts +2 -0
- package/dist/DesktopTimePicker/utils/scrollUtil.js +27 -0
- package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +2 -0
- package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.js +51 -0
- package/dist/DesktopTimePicker/utils/utils.d.ts +28 -0
- package/dist/DesktopTimePicker/utils/utils.js +408 -0
- package/dist/Dialog/Dialog.types.d.ts +5 -0
- package/dist/Dialog/FunctionalDialog.js +13 -2
- package/dist/Input/Input.css +0 -2
- package/dist/Modal/Modal.miniapp.d.ts +1 -1
- package/dist/Picker/Picker.css +5 -0
- package/dist/Picker/Picker.js +27 -5
- package/dist/Picker/Picker.types.d.ts +15 -2
- package/dist/Picker/PickerPanel.css +4 -0
- package/dist/Picker/PickerPanel.js +7 -6
- package/dist/Popover/Popover.js +70 -27
- package/dist/Portal/Portal.miniapp.js +7 -4
- package/dist/ScrollView/ScrollView.js +24 -11
- package/dist/ScrollView/ScrollView.types.d.ts +0 -1
- package/dist/Select/Select.css +1 -4
- package/dist/Select/Select.js +62 -37
- package/dist/Slider/Slider.js +13 -5
- package/dist/SwipeAction/SwipeAction.css +79 -0
- package/dist/SwipeAction/SwipeAction.d.ts +5 -0
- package/dist/SwipeAction/SwipeAction.js +349 -0
- package/dist/SwipeAction/SwipeAction.types.d.ts +75 -0
- package/dist/SwipeAction/SwipeAction.types.js +15 -0
- package/dist/SwipeAction/SwipeActionContext.d.ts +4 -0
- package/dist/SwipeAction/SwipeActionContext.js +30 -0
- package/dist/SwipeAction/SwipeActionItem.css +31 -0
- package/dist/SwipeAction/SwipeActionItem.d.ts +5 -0
- package/dist/SwipeAction/SwipeActionItem.js +105 -0
- package/dist/SwipeAction/constants.d.ts +9 -0
- package/dist/SwipeAction/constants.js +39 -0
- package/dist/SwipeAction/index.d.ts +5 -0
- package/dist/SwipeAction/index.js +50 -0
- package/dist/TabBar/TabBarItem.js +2 -2
- package/dist/Tabs/Tabs.js +29 -14
- package/dist/Tabs/utils/scroll.d.ts +2 -0
- package/dist/Tabs/utils/scroll.js +55 -0
- package/dist/Toast/FunctionalToast.js +13 -2
- package/dist/Toast/Toast.css +0 -1
- package/dist/Toast/Toast.types.d.ts +5 -0
- package/dist/Tooltip/Tooltip.js +70 -27
- package/dist/index.d.ts +6 -0
- package/dist/index.js +13 -1
- package/dist/locales/base.d.ts +11 -0
- package/dist/locales/en-US.js +24 -0
- package/dist/locales/zh-CN.js +24 -0
- package/dist/locales/zh-TW.js +24 -0
- package/es/Calendar/Calendar.js +5 -1
- package/es/Calendar/Calendar.types.d.ts +5 -0
- package/es/Collapse/Collapse.css +0 -1
- package/es/Collapse/Collapse.d.ts +1 -1
- package/es/Collapse/Collapse.js +11 -8
- package/es/Collapse/Collapse.miniapp.d.ts +5 -0
- package/es/Collapse/Collapse.miniapp.js +157 -0
- package/es/CollapsePanel/CollapsePanel.css +4 -2
- package/es/DatePicker/DatePicker.d.ts +4 -0
- package/es/DatePicker/DatePicker.js +308 -0
- package/es/DatePicker/DatePicker.types.d.ts +36 -0
- package/es/DatePicker/DatePicker.types.js +1 -0
- package/es/DatePicker/constants.d.ts +9 -0
- package/es/DatePicker/constants.js +14 -0
- package/es/DatePicker/index.d.ts +3 -0
- package/es/DatePicker/index.js +8 -0
- package/es/DesktopDatePicker/DesktopDatePicker.d.ts +5 -0
- package/es/DesktopDatePicker/DesktopDatePicker.js +253 -0
- package/es/DesktopDatePicker/DesktopDatePicker.types.d.ts +163 -0
- package/es/DesktopDatePicker/DesktopDatePicker.types.js +1 -0
- package/es/DesktopDatePicker/deskTopPickerContainer.css +100 -0
- package/es/DesktopDatePicker/index.css +61 -0
- package/es/DesktopDatePicker/index.d.ts +2 -0
- package/es/DesktopDatePicker/index.js +6 -0
- package/es/DesktopDatePicker/useGetDatePickerContent.d.ts +6 -0
- package/es/DesktopDatePicker/useGetDatePickerContent.js +316 -0
- package/es/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +5 -0
- package/es/DesktopDateTimePicker/DesktopDateTimePicker.js +295 -0
- package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +163 -0
- package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.js +1 -0
- package/es/DesktopDateTimePicker/index.css +66 -0
- package/es/DesktopDateTimePicker/index.d.ts +2 -0
- package/es/DesktopDateTimePicker/index.js +9 -0
- package/es/DesktopPicker/DesktopPicker.d.ts +5 -0
- package/es/DesktopPicker/DesktopPicker.js +226 -0
- package/es/DesktopPicker/DesktopPicker.types.d.ts +61 -0
- package/es/DesktopPicker/DesktopPicker.types.js +1 -0
- package/es/DesktopPicker/index.css +39 -0
- package/es/DesktopPicker/index.d.ts +2 -0
- package/es/DesktopPicker/index.js +6 -0
- package/es/DesktopPicker/utils/calcAfterMounted.d.ts +2 -0
- package/es/DesktopPicker/utils/calcAfterMounted.js +6 -0
- package/es/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +2 -0
- package/es/DesktopPicker/utils/calcAfterMounted.miniapp.js +9 -0
- package/es/DesktopTimePicker/DesktopTimePicker.d.ts +5 -0
- package/es/DesktopTimePicker/DesktopTimePicker.js +261 -0
- package/es/DesktopTimePicker/DesktopTimePicker.types.d.ts +182 -0
- package/es/DesktopTimePicker/DesktopTimePicker.types.js +1 -0
- package/es/DesktopTimePicker/DesktopTimePickerList.d.ts +4 -0
- package/es/DesktopTimePicker/DesktopTimePickerList.js +84 -0
- package/es/DesktopTimePicker/index.css +170 -0
- package/es/DesktopTimePicker/index.d.ts +2 -0
- package/es/DesktopTimePicker/index.js +6 -0
- package/es/DesktopTimePicker/useGetTimePickerContent.d.ts +6 -0
- package/es/DesktopTimePicker/useGetTimePickerContent.js +226 -0
- package/es/DesktopTimePicker/utils/scrollUtil.d.ts +2 -0
- package/es/DesktopTimePicker/utils/scrollUtil.js +8 -0
- package/es/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +2 -0
- package/es/DesktopTimePicker/utils/scrollUtil.miniapp.js +22 -0
- package/es/DesktopTimePicker/utils/utils.d.ts +28 -0
- package/es/DesktopTimePicker/utils/utils.js +365 -0
- package/es/Dialog/Dialog.types.d.ts +5 -0
- package/es/Dialog/FunctionalDialog.js +14 -3
- package/es/Input/Input.css +0 -2
- package/es/Picker/Picker.css +5 -0
- package/es/Picker/Picker.js +27 -5
- package/es/Picker/Picker.types.d.ts +15 -2
- package/es/Picker/PickerPanel.css +4 -0
- package/es/Picker/PickerPanel.js +7 -6
- package/es/Popover/Popover.js +73 -29
- package/es/Portal/Portal.miniapp.js +8 -5
- package/es/ScrollView/ScrollView.js +24 -11
- package/es/ScrollView/ScrollView.types.d.ts +0 -1
- package/es/Select/Select.css +1 -4
- package/es/Select/Select.js +62 -38
- package/es/Slider/Slider.js +16 -6
- package/es/SwipeAction/SwipeAction.css +79 -0
- package/es/SwipeAction/SwipeAction.d.ts +5 -0
- package/es/SwipeAction/SwipeAction.js +334 -0
- package/es/SwipeAction/SwipeAction.types.d.ts +75 -0
- package/es/SwipeAction/SwipeAction.types.js +1 -0
- package/es/SwipeAction/SwipeActionContext.d.ts +4 -0
- package/es/SwipeAction/SwipeActionContext.js +11 -0
- package/es/SwipeAction/SwipeActionItem.css +31 -0
- package/es/SwipeAction/SwipeActionItem.d.ts +5 -0
- package/es/SwipeAction/SwipeActionItem.js +78 -0
- package/es/SwipeAction/constants.d.ts +9 -0
- package/es/SwipeAction/constants.js +15 -0
- package/es/SwipeAction/index.d.ts +5 -0
- package/es/SwipeAction/index.js +12 -0
- package/es/TabBar/TabBarItem.js +1 -1
- package/es/Tabs/Tabs.js +29 -14
- package/es/Tabs/utils/scroll.d.ts +2 -0
- package/es/Tabs/utils/scroll.js +36 -0
- package/es/Toast/FunctionalToast.js +14 -3
- package/es/Toast/Toast.css +0 -1
- package/es/Toast/Toast.types.d.ts +5 -0
- package/es/Tooltip/Tooltip.js +73 -29
- package/es/index.d.ts +6 -0
- package/es/index.js +6 -0
- package/es/locales/base.d.ts +11 -0
- package/es/locales/en-US.js +24 -0
- package/es/locales/zh-CN.js +24 -0
- package/es/locales/zh-TW.js +24 -0
- package/package.json +5 -5
- package/dist/Tabs/utils/bound.d.ts +0 -1
- package/es/Tabs/utils/bound.d.ts +0 -1
- package/es/Tabs/utils/bound.js +0 -13
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import clsx from "clsx";
|
|
21
|
+
import React, { useEffect } from "react";
|
|
22
|
+
import DesktopTimePickerList from "./DesktopTimePickerList";
|
|
23
|
+
import {
|
|
24
|
+
getdisabledTime,
|
|
25
|
+
calculateValidMinTime,
|
|
26
|
+
isDisabledTime
|
|
27
|
+
} from "./utils/utils";
|
|
28
|
+
const prefixCls = "bui-d-time-picker";
|
|
29
|
+
const useGetTimePickerContent = (props) => {
|
|
30
|
+
const {
|
|
31
|
+
views = ["hour", "minute", "second"],
|
|
32
|
+
timeSteps = {
|
|
33
|
+
hour: 1,
|
|
34
|
+
minute: 1,
|
|
35
|
+
second: 1
|
|
36
|
+
},
|
|
37
|
+
ampm = false,
|
|
38
|
+
disabledTimeView = () => ({
|
|
39
|
+
hour: () => [],
|
|
40
|
+
minute: () => [],
|
|
41
|
+
second: () => []
|
|
42
|
+
}),
|
|
43
|
+
minTime,
|
|
44
|
+
maxTime,
|
|
45
|
+
timeValue,
|
|
46
|
+
closeOnSelect,
|
|
47
|
+
setIsOpen,
|
|
48
|
+
triggerChange,
|
|
49
|
+
timeRender,
|
|
50
|
+
setIsInvalid
|
|
51
|
+
} = props;
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (isDisabledTime(timeValue, minTime, maxTime, disabledTimeView)) {
|
|
54
|
+
setIsInvalid(true);
|
|
55
|
+
} else {
|
|
56
|
+
setIsInvalid(false);
|
|
57
|
+
}
|
|
58
|
+
}, [timeValue]);
|
|
59
|
+
const getViewListData = (type, timeStep = 1) => {
|
|
60
|
+
if (type === "meridiem") {
|
|
61
|
+
return [
|
|
62
|
+
{ label: "AM", value: "AM" },
|
|
63
|
+
{ label: "PM", value: "PM" }
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
let maxNum;
|
|
67
|
+
if (type === "hour") {
|
|
68
|
+
maxNum = ampm ? 12 : 24;
|
|
69
|
+
} else {
|
|
70
|
+
maxNum = 60;
|
|
71
|
+
}
|
|
72
|
+
const list = [];
|
|
73
|
+
if (timeStep <= 0) {
|
|
74
|
+
timeStep = 1;
|
|
75
|
+
}
|
|
76
|
+
for (let i = 0; i < maxNum; i += timeStep) {
|
|
77
|
+
const value = i;
|
|
78
|
+
let label = value < 10 ? `0${value}` : `${value}`;
|
|
79
|
+
if (type === "hour" && ampm && value === 0) {
|
|
80
|
+
label = "12";
|
|
81
|
+
}
|
|
82
|
+
list.push({ label, value });
|
|
83
|
+
}
|
|
84
|
+
return list;
|
|
85
|
+
};
|
|
86
|
+
const renderViewsFunc = () => {
|
|
87
|
+
const lists = ampm ? [...views, "meridiem"] : views;
|
|
88
|
+
return lists.map((type, index) => {
|
|
89
|
+
var _a;
|
|
90
|
+
const dataList = getViewListData(type, timeSteps[type]);
|
|
91
|
+
const disabledTime = getdisabledTime(
|
|
92
|
+
type,
|
|
93
|
+
timeValue,
|
|
94
|
+
minTime,
|
|
95
|
+
maxTime,
|
|
96
|
+
dataList,
|
|
97
|
+
disabledTimeView,
|
|
98
|
+
timeSteps,
|
|
99
|
+
ampm
|
|
100
|
+
);
|
|
101
|
+
dataList.forEach((item, idx) => {
|
|
102
|
+
const { value } = item;
|
|
103
|
+
const disabled = disabledTime == null ? void 0 : disabledTime.includes(value);
|
|
104
|
+
dataList[idx] = __spreadProps(__spreadValues({}, item), { disabled });
|
|
105
|
+
});
|
|
106
|
+
const isLastList = index === lists.length - 1;
|
|
107
|
+
let selectedValue;
|
|
108
|
+
if (timeValue) {
|
|
109
|
+
if (type === "meridiem") {
|
|
110
|
+
selectedValue = timeValue.format("A");
|
|
111
|
+
} else if (type === "hour" && ampm) {
|
|
112
|
+
selectedValue = timeValue.hour() % 12;
|
|
113
|
+
} else {
|
|
114
|
+
selectedValue = (_a = timeValue[type]) == null ? void 0 : _a.call(timeValue);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const handleClick = (e, disabled, item) => {
|
|
118
|
+
e.stopPropagation();
|
|
119
|
+
if (disabled || selectedValue === item.value)
|
|
120
|
+
return;
|
|
121
|
+
let validTime = timeValue;
|
|
122
|
+
if (!timeValue) {
|
|
123
|
+
const validMinTime = calculateValidMinTime(disabledTimeView, minTime);
|
|
124
|
+
validTime = validMinTime;
|
|
125
|
+
}
|
|
126
|
+
const updateHour = (hour) => validTime.format("A") === "PM" ? hour + 12 : hour;
|
|
127
|
+
const getValidTimeValue = (view, newTimeValue) => {
|
|
128
|
+
var _a2, _b;
|
|
129
|
+
let viewDisabledTime = getdisabledTime(
|
|
130
|
+
view,
|
|
131
|
+
newTimeValue,
|
|
132
|
+
minTime,
|
|
133
|
+
maxTime,
|
|
134
|
+
getViewListData(view, timeSteps[view]),
|
|
135
|
+
disabledTimeView,
|
|
136
|
+
timeSteps,
|
|
137
|
+
ampm
|
|
138
|
+
);
|
|
139
|
+
let viewDataList = getViewListData(view, timeSteps[view]);
|
|
140
|
+
if (view === "hour" && ampm && newTimeValue.format("A") === "PM") {
|
|
141
|
+
viewDataList = viewDataList.map((el) => __spreadProps(__spreadValues({}, el), {
|
|
142
|
+
value: el.value + 12
|
|
143
|
+
}));
|
|
144
|
+
viewDisabledTime = viewDisabledTime.map(
|
|
145
|
+
(el) => el + 12
|
|
146
|
+
);
|
|
147
|
+
}
|
|
148
|
+
const validValues = viewDataList.map((i) => i.value).filter((el) => !viewDisabledTime.includes(el));
|
|
149
|
+
const curViewValue = (_b = (_a2 = newTimeValue[view]) == null ? void 0 : _a2.call(newTimeValue)) != null ? _b : 0;
|
|
150
|
+
const nearestValue = validValues.reduce(
|
|
151
|
+
(prev, curr) => Math.abs(curr - curViewValue) < Math.abs(prev - curViewValue) ? curr : prev,
|
|
152
|
+
validValues[0]
|
|
153
|
+
);
|
|
154
|
+
return nearestValue !== void 0 ? nearestValue : curViewValue;
|
|
155
|
+
};
|
|
156
|
+
const handleNewTimeValue = (newTimeValue, event) => {
|
|
157
|
+
const isDisabledNewTime = isDisabledTime(
|
|
158
|
+
newTimeValue,
|
|
159
|
+
minTime,
|
|
160
|
+
maxTime,
|
|
161
|
+
disabledTimeView
|
|
162
|
+
);
|
|
163
|
+
if (isDisabledNewTime) {
|
|
164
|
+
views.forEach((view) => {
|
|
165
|
+
if (view !== type) {
|
|
166
|
+
const validValue = getValidTimeValue(view, newTimeValue);
|
|
167
|
+
newTimeValue = newTimeValue.set(view, validValue);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
triggerChange(event, newTimeValue.toDate());
|
|
172
|
+
};
|
|
173
|
+
const calculateNewValue = (view, el) => {
|
|
174
|
+
if (view === "hour" && ampm) {
|
|
175
|
+
return updateHour(item.value);
|
|
176
|
+
}
|
|
177
|
+
return el.value;
|
|
178
|
+
};
|
|
179
|
+
if (type === "meridiem") {
|
|
180
|
+
const newHour = item.value === "PM" ? validTime.hour() + 12 : validTime.hour() - 12;
|
|
181
|
+
const newTimeValue = validTime.set("hour", newHour);
|
|
182
|
+
handleNewTimeValue(newTimeValue, e);
|
|
183
|
+
} else {
|
|
184
|
+
const newValue = calculateNewValue(type, item);
|
|
185
|
+
const newTimeValue = validTime.set(type, newValue);
|
|
186
|
+
handleNewTimeValue(newTimeValue, e);
|
|
187
|
+
}
|
|
188
|
+
if (isLastList && closeOnSelect) {
|
|
189
|
+
setIsOpen(false);
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
return /* @__PURE__ */ React.createElement(
|
|
193
|
+
DesktopTimePickerList,
|
|
194
|
+
{
|
|
195
|
+
timeValue,
|
|
196
|
+
type,
|
|
197
|
+
dataList,
|
|
198
|
+
selectedValue,
|
|
199
|
+
prefixCls,
|
|
200
|
+
handleClick,
|
|
201
|
+
key: type,
|
|
202
|
+
timeRender
|
|
203
|
+
}
|
|
204
|
+
);
|
|
205
|
+
});
|
|
206
|
+
};
|
|
207
|
+
const desktopTimePanel = () => {
|
|
208
|
+
return /* @__PURE__ */ React.createElement(
|
|
209
|
+
"div",
|
|
210
|
+
{
|
|
211
|
+
className: clsx(`${prefixCls}-main`),
|
|
212
|
+
onClick: (e) => {
|
|
213
|
+
e.stopPropagation();
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
/* @__PURE__ */ React.createElement("div", { className: clsx(`${prefixCls}-table`) }, renderViewsFunc())
|
|
217
|
+
);
|
|
218
|
+
};
|
|
219
|
+
return {
|
|
220
|
+
desktopTimePanel
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
var useGetTimePickerContent_default = useGetTimePickerContent;
|
|
224
|
+
export {
|
|
225
|
+
useGetTimePickerContent_default as default
|
|
226
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const handleScroll = (elementName, setScrollTop, index) => {
|
|
2
|
+
const selectedLi = document.querySelector(elementName);
|
|
3
|
+
setScrollTop(selectedLi == null ? void 0 : selectedLi.offsetTop);
|
|
4
|
+
};
|
|
5
|
+
var scrollUtil_default = handleScroll;
|
|
6
|
+
export {
|
|
7
|
+
scrollUtil_default as default
|
|
8
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Taro from "@tarojs/taro";
|
|
2
|
+
const handleScroll = (elementName, setScrollTop, index) => {
|
|
3
|
+
var _a;
|
|
4
|
+
const query = Taro.createSelectorQuery();
|
|
5
|
+
(_a = query.select(elementName)) == null ? void 0 : _a.fields({
|
|
6
|
+
computedStyle: ["height", "paddingTop", "paddingBottom"]
|
|
7
|
+
});
|
|
8
|
+
query.exec((res) => {
|
|
9
|
+
if (!res[0])
|
|
10
|
+
return;
|
|
11
|
+
const { height, paddingTop, paddingBottom } = res[0];
|
|
12
|
+
function parsePx(str) {
|
|
13
|
+
return str ? parseFloat(str.replace(/px$/, "")) : 0;
|
|
14
|
+
}
|
|
15
|
+
const targetHeight = parsePx(height) + parsePx(paddingTop) + parsePx(paddingBottom);
|
|
16
|
+
setScrollTop(index * targetHeight);
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
var scrollUtil_miniapp_default = handleScroll;
|
|
20
|
+
export {
|
|
21
|
+
scrollUtil_miniapp_default as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import dayjs, { Dayjs } from 'dayjs';
|
|
2
|
+
import { DisabledTimeView, ViewTypeWithMeridiem, ITimeInstance, ITimeItemNumberInstance, TimeSteps } from '../DesktopTimePicker.types';
|
|
3
|
+
/**
|
|
4
|
+
* 判断时间是否在可选日期区间内
|
|
5
|
+
*/
|
|
6
|
+
export declare const getIsRangeDate: (time: Dayjs, start?: Dayjs, end?: Dayjs) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* 判断时间是否在 disabledView 时间区间内
|
|
9
|
+
*/
|
|
10
|
+
export declare const isDisabledViewTime: (time: Dayjs, disabledTimeView: DisabledTimeView) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* 判断时间是否在 minTime & maxTime 时间区间内
|
|
13
|
+
*/
|
|
14
|
+
export declare const getIsRangeTime: (time: Dayjs, start?: Dayjs, end?: Dayjs) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 判断时间是否在disabledView || outOf minTime-maxTime 时间区间内
|
|
17
|
+
*/
|
|
18
|
+
export declare const isDisabledTime: (time: Dayjs, start?: Dayjs, end?: Dayjs, disabledTimeView?: DisabledTimeView) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* 获取分钟时间面板 是否小于minTime分钟
|
|
21
|
+
*/
|
|
22
|
+
export declare const getOutOfMinRangeMinutes: (hourValue: number, minTime: Dayjs, dataList: ITimeItemNumberInstance[]) => number[];
|
|
23
|
+
export declare const getOutOfMaxRangeMinutes: (hourValue: number, maxTime: Dayjs, dataList: ITimeItemNumberInstance[]) => number[];
|
|
24
|
+
export declare const getOutOfMinRangeSeconds: (hourValue: number, minuteValue: number, minTime: Dayjs, dataList: ITimeItemNumberInstance[]) => number[];
|
|
25
|
+
export declare const getOutOfMaxRangeSeconds: (hourValue: number, minuteValue: number, maxTime: Dayjs, dataList: ITimeItemNumberInstance[]) => number[];
|
|
26
|
+
export declare const getdisabledTime: (type: ViewTypeWithMeridiem, timeValue: Dayjs, minTime: Dayjs, maxTime: Dayjs, dataList: ITimeInstance[], disabledTimeView: DisabledTimeView, timeSteps: TimeSteps, ampm?: boolean) => (string | number)[];
|
|
27
|
+
export declare const calculateValidMinTime: (disabledTimeView: DisabledTimeView, minTime?: Dayjs) => dayjs.Dayjs;
|
|
28
|
+
export declare const dateToDayjs: (date: Date) => dayjs.Dayjs;
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import dayjs from "dayjs";
|
|
2
|
+
const getIsRangeDate = (time, start, end) => {
|
|
3
|
+
if (!time)
|
|
4
|
+
return true;
|
|
5
|
+
if (!start && !end) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
if (start && end) {
|
|
9
|
+
return !time.isBefore(start, "day") && !time.isAfter(end, "day");
|
|
10
|
+
}
|
|
11
|
+
if (start) {
|
|
12
|
+
return !time.isBefore(start, "day") && (end ? !time.isAfter(end, "day") : true);
|
|
13
|
+
}
|
|
14
|
+
if (end) {
|
|
15
|
+
return !time.isAfter(end, "day") && (start ? !time.isBefore(start, "day") : true);
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
};
|
|
19
|
+
const isDisabledViewTime = (time, disabledTimeView) => {
|
|
20
|
+
const isDisabledViewTimeItem = (type) => {
|
|
21
|
+
const disabledArr = disabledTimeView == null ? void 0 : disabledTimeView()[type](time.hour(), time.minute());
|
|
22
|
+
const value = time[type]();
|
|
23
|
+
return (disabledArr == null ? void 0 : disabledArr.indexOf(value)) !== -1;
|
|
24
|
+
};
|
|
25
|
+
return isDisabledViewTimeItem("hour") || isDisabledViewTimeItem("minute") || isDisabledViewTimeItem("second");
|
|
26
|
+
};
|
|
27
|
+
const getIsRangeTime = (time, start, end) => {
|
|
28
|
+
if (start && end) {
|
|
29
|
+
return !time.isBefore(start, "second") && !time.isAfter(end, "second");
|
|
30
|
+
}
|
|
31
|
+
if (start) {
|
|
32
|
+
return !time.isBefore(start, "second");
|
|
33
|
+
}
|
|
34
|
+
if (end) {
|
|
35
|
+
return !time.isAfter(end, "second");
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
};
|
|
39
|
+
const isDisabledTime = (time, start, end, disabledTimeView) => {
|
|
40
|
+
if (!time)
|
|
41
|
+
return false;
|
|
42
|
+
return isDisabledViewTime(time, disabledTimeView) || !getIsRangeTime(time, start, end);
|
|
43
|
+
};
|
|
44
|
+
const getOutOfMinRangeMinutes = (hourValue, minTime, dataList) => {
|
|
45
|
+
if (!minTime) {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
const outOfMinRangeMinutes = [];
|
|
49
|
+
if (hourValue === minTime.hour()) {
|
|
50
|
+
outOfMinRangeMinutes.push(
|
|
51
|
+
...dataList.map((item) => item.value).filter((minute) => minute < minTime.minute())
|
|
52
|
+
);
|
|
53
|
+
} else if (hourValue < minTime.hour()) {
|
|
54
|
+
outOfMinRangeMinutes.push(...dataList.map((item) => item.value));
|
|
55
|
+
}
|
|
56
|
+
return outOfMinRangeMinutes;
|
|
57
|
+
};
|
|
58
|
+
const getOutOfMaxRangeMinutes = (hourValue, maxTime, dataList) => {
|
|
59
|
+
if (!maxTime) {
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
const outOfMaxRangeMinutes = [];
|
|
63
|
+
if (hourValue === maxTime.hour()) {
|
|
64
|
+
outOfMaxRangeMinutes.push(
|
|
65
|
+
...dataList.map((item) => item.value).filter((minute) => minute > maxTime.minute())
|
|
66
|
+
);
|
|
67
|
+
} else if (hourValue > maxTime.hour()) {
|
|
68
|
+
outOfMaxRangeMinutes.push(...dataList.map((item) => item.value));
|
|
69
|
+
}
|
|
70
|
+
return outOfMaxRangeMinutes;
|
|
71
|
+
};
|
|
72
|
+
const getOutOfMinRangeSeconds = (hourValue, minuteValue, minTime, dataList) => {
|
|
73
|
+
if (!minTime) {
|
|
74
|
+
return [];
|
|
75
|
+
}
|
|
76
|
+
const outOfMinRangeMinutes = [];
|
|
77
|
+
if (hourValue === minTime.hour() && minuteValue === minTime.minute()) {
|
|
78
|
+
outOfMinRangeMinutes.push(
|
|
79
|
+
...dataList.map((item) => item.value).filter((second) => second < minTime.second())
|
|
80
|
+
);
|
|
81
|
+
} else if (hourValue === minTime.hour() && minuteValue < minTime.minute()) {
|
|
82
|
+
outOfMinRangeMinutes.push(...dataList.map((item) => item.value));
|
|
83
|
+
} else if (hourValue < minTime.hour()) {
|
|
84
|
+
outOfMinRangeMinutes.push(...dataList.map((item) => item.value));
|
|
85
|
+
}
|
|
86
|
+
return outOfMinRangeMinutes;
|
|
87
|
+
};
|
|
88
|
+
const getOutOfMaxRangeSeconds = (hourValue, minuteValue, maxTime, dataList) => {
|
|
89
|
+
if (!maxTime) {
|
|
90
|
+
return [];
|
|
91
|
+
}
|
|
92
|
+
const outOfMaxRangeMinutes = [];
|
|
93
|
+
if (hourValue === maxTime.hour() && minuteValue === maxTime.minute()) {
|
|
94
|
+
outOfMaxRangeMinutes.push(
|
|
95
|
+
...dataList.map((item) => item.value).filter((second) => second > maxTime.second())
|
|
96
|
+
);
|
|
97
|
+
} else if (hourValue === maxTime.hour() && minuteValue > maxTime.minute()) {
|
|
98
|
+
outOfMaxRangeMinutes.push(...dataList.map((item) => item.value));
|
|
99
|
+
} else if (hourValue > maxTime.hour()) {
|
|
100
|
+
outOfMaxRangeMinutes.push(...dataList.map((item) => item.value));
|
|
101
|
+
}
|
|
102
|
+
return outOfMaxRangeMinutes;
|
|
103
|
+
};
|
|
104
|
+
const getdisabledTime = (type, timeValue, minTime, maxTime, dataList, disabledTimeView, timeSteps, ampm) => {
|
|
105
|
+
var _a, _b, _c, _d, _e;
|
|
106
|
+
const isRangeDate = getIsRangeDate(timeValue, minTime, maxTime);
|
|
107
|
+
if (!isRangeDate) {
|
|
108
|
+
return dataList.map((item) => item.value);
|
|
109
|
+
}
|
|
110
|
+
const hourValue = timeValue == null ? void 0 : timeValue.hour();
|
|
111
|
+
const minuteValue = timeValue == null ? void 0 : timeValue.minute();
|
|
112
|
+
const getDisabledViewTime = () => {
|
|
113
|
+
var _a2, _b2, _c2, _d2, _e2, _f;
|
|
114
|
+
switch (type) {
|
|
115
|
+
case "hour": {
|
|
116
|
+
const disabledHours = ((_b2 = disabledTimeView == null ? void 0 : (_a2 = disabledTimeView()).hour) == null ? void 0 : _b2.call(_a2)) || [];
|
|
117
|
+
if (ampm && (timeValue == null ? void 0 : timeValue.format("A")) === "PM") {
|
|
118
|
+
return disabledHours.map((hour) => hour - 12);
|
|
119
|
+
}
|
|
120
|
+
return disabledHours;
|
|
121
|
+
}
|
|
122
|
+
case "minute": {
|
|
123
|
+
const disabledMinutes = ((_d2 = disabledTimeView == null ? void 0 : (_c2 = disabledTimeView()).minute) == null ? void 0 : _d2.call(_c2, hourValue)) || [];
|
|
124
|
+
return disabledMinutes;
|
|
125
|
+
}
|
|
126
|
+
case "second": {
|
|
127
|
+
const disabledSeconds = ((_f = disabledTimeView == null ? void 0 : (_e2 = disabledTimeView()).second) == null ? void 0 : _f.call(_e2, hourValue, minuteValue)) || [];
|
|
128
|
+
return disabledSeconds;
|
|
129
|
+
}
|
|
130
|
+
default:
|
|
131
|
+
return [];
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const disabledViewTime = getDisabledViewTime();
|
|
135
|
+
const getOutOfMinRangeTime = () => {
|
|
136
|
+
if (!minTime) {
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
switch (type) {
|
|
140
|
+
case "hour": {
|
|
141
|
+
const outOfRangeHours = dataList.map((item) => item.value).filter((hour) => {
|
|
142
|
+
const minHour2 = minTime == null ? void 0 : minTime.hour();
|
|
143
|
+
const meridiemValue = timeValue == null ? void 0 : timeValue.format("A");
|
|
144
|
+
if (ampm) {
|
|
145
|
+
if (meridiemValue === "AM") {
|
|
146
|
+
return minHour2 >= 12 || hour < minHour2;
|
|
147
|
+
}
|
|
148
|
+
if (minHour2 < 12) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
return hour < minHour2 - 12;
|
|
152
|
+
}
|
|
153
|
+
return hour < minHour2;
|
|
154
|
+
});
|
|
155
|
+
return outOfRangeHours;
|
|
156
|
+
}
|
|
157
|
+
case "minute": {
|
|
158
|
+
const outOfRangeMinutes = getOutOfMinRangeMinutes(
|
|
159
|
+
hourValue,
|
|
160
|
+
minTime,
|
|
161
|
+
dataList
|
|
162
|
+
);
|
|
163
|
+
return outOfRangeMinutes;
|
|
164
|
+
}
|
|
165
|
+
case "second": {
|
|
166
|
+
const outOfRangeSeconds = getOutOfMinRangeSeconds(
|
|
167
|
+
hourValue,
|
|
168
|
+
minuteValue,
|
|
169
|
+
minTime,
|
|
170
|
+
dataList
|
|
171
|
+
);
|
|
172
|
+
return outOfRangeSeconds;
|
|
173
|
+
}
|
|
174
|
+
default:
|
|
175
|
+
return [];
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
const getOutOfMaxRangeTime = () => {
|
|
179
|
+
if (!maxTime) {
|
|
180
|
+
return [];
|
|
181
|
+
}
|
|
182
|
+
switch (type) {
|
|
183
|
+
case "hour": {
|
|
184
|
+
const outOfRangeHours = dataList.map((item) => item.value).filter((hour) => {
|
|
185
|
+
if (ampm) {
|
|
186
|
+
const maxHour2 = maxTime == null ? void 0 : maxTime.hour();
|
|
187
|
+
const meridiemValue = timeValue == null ? void 0 : timeValue.format("A");
|
|
188
|
+
if (maxHour2 >= 12) {
|
|
189
|
+
if (meridiemValue === "AM") {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
return hour > maxHour2 - 12;
|
|
193
|
+
}
|
|
194
|
+
if (meridiemValue === "AM") {
|
|
195
|
+
return hour > maxHour2;
|
|
196
|
+
}
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
return hour > (maxTime == null ? void 0 : maxTime.hour());
|
|
200
|
+
});
|
|
201
|
+
return outOfRangeHours;
|
|
202
|
+
}
|
|
203
|
+
case "minute": {
|
|
204
|
+
const outOfRangeMinutes = getOutOfMaxRangeMinutes(
|
|
205
|
+
hourValue,
|
|
206
|
+
maxTime,
|
|
207
|
+
dataList
|
|
208
|
+
);
|
|
209
|
+
return outOfRangeMinutes;
|
|
210
|
+
}
|
|
211
|
+
case "second": {
|
|
212
|
+
const outOfRangeSeconds = getOutOfMaxRangeSeconds(
|
|
213
|
+
hourValue,
|
|
214
|
+
minuteValue,
|
|
215
|
+
maxTime,
|
|
216
|
+
dataList
|
|
217
|
+
);
|
|
218
|
+
return outOfRangeSeconds;
|
|
219
|
+
}
|
|
220
|
+
default:
|
|
221
|
+
return [];
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
const outOfMinRangeTime = getOutOfMinRangeTime();
|
|
225
|
+
const outOfMaxRangeTime = getOutOfMaxRangeTime();
|
|
226
|
+
const isEqualMinDate = timeValue == null ? void 0 : timeValue.isSame(minTime, "day");
|
|
227
|
+
const isEqualMaxDate = timeValue == null ? void 0 : timeValue.isSame(maxTime, "day");
|
|
228
|
+
const allHours = Array.from({ length: 24 }, (_, i) => i);
|
|
229
|
+
const disabledViewHours = ((_b = disabledTimeView == null ? void 0 : (_a = disabledTimeView()).hour) == null ? void 0 : _b.call(_a)) || [];
|
|
230
|
+
const minHour = (_c = minTime == null ? void 0 : minTime.hour()) != null ? _c : 0;
|
|
231
|
+
const maxHour = (_d = maxTime == null ? void 0 : maxTime.hour()) != null ? _d : 23;
|
|
232
|
+
const outOfMinHours = allHours.filter((hour) => hour < minHour);
|
|
233
|
+
const outOfMaxHours = allHours.filter((hour) => hour > maxHour);
|
|
234
|
+
const generateHourArray = (start, end, step) => {
|
|
235
|
+
if (!step) {
|
|
236
|
+
step = 1;
|
|
237
|
+
}
|
|
238
|
+
return Array.from(
|
|
239
|
+
{ length: Math.ceil((end - start) / step) },
|
|
240
|
+
(_, i) => start + i * step
|
|
241
|
+
);
|
|
242
|
+
};
|
|
243
|
+
const hourStep = (_e = timeSteps.hour) != null ? _e : 1;
|
|
244
|
+
const amArr = generateHourArray(0, 12, hourStep);
|
|
245
|
+
const pmArr = generateHourArray(12, 24, hourStep);
|
|
246
|
+
const disabledAmPm = (disabledHours) => {
|
|
247
|
+
const containsAll = (arr) => arr.every((item) => disabledHours.includes(item));
|
|
248
|
+
const containsAllAmArr = containsAll(amArr);
|
|
249
|
+
const containsAllPmArr = containsAll(pmArr);
|
|
250
|
+
if (containsAllAmArr && containsAllPmArr)
|
|
251
|
+
return ["AM", "PM"];
|
|
252
|
+
if (containsAllAmArr)
|
|
253
|
+
return ["AM"];
|
|
254
|
+
if (containsAllPmArr)
|
|
255
|
+
return ["PM"];
|
|
256
|
+
return [];
|
|
257
|
+
};
|
|
258
|
+
if (!timeValue || isEqualMinDate && isEqualMaxDate) {
|
|
259
|
+
if (type === "meridiem") {
|
|
260
|
+
const disabledHours = [
|
|
261
|
+
.../* @__PURE__ */ new Set([...outOfMinHours, ...outOfMaxHours, ...disabledViewHours])
|
|
262
|
+
];
|
|
263
|
+
return disabledAmPm(disabledHours);
|
|
264
|
+
}
|
|
265
|
+
return [
|
|
266
|
+
.../* @__PURE__ */ new Set([
|
|
267
|
+
...disabledViewTime,
|
|
268
|
+
...outOfMinRangeTime,
|
|
269
|
+
...outOfMaxRangeTime
|
|
270
|
+
])
|
|
271
|
+
];
|
|
272
|
+
}
|
|
273
|
+
if (!isEqualMinDate && !isEqualMaxDate) {
|
|
274
|
+
if (type === "meridiem") {
|
|
275
|
+
const disabledHours = disabledViewHours;
|
|
276
|
+
return disabledAmPm(disabledHours);
|
|
277
|
+
}
|
|
278
|
+
return disabledViewTime;
|
|
279
|
+
}
|
|
280
|
+
if (isEqualMinDate) {
|
|
281
|
+
if (type === "meridiem") {
|
|
282
|
+
const disabledHours = [
|
|
283
|
+
.../* @__PURE__ */ new Set([...outOfMinHours, ...disabledViewHours])
|
|
284
|
+
];
|
|
285
|
+
return disabledAmPm(disabledHours);
|
|
286
|
+
}
|
|
287
|
+
return [.../* @__PURE__ */ new Set([...disabledViewTime, ...outOfMinRangeTime])];
|
|
288
|
+
}
|
|
289
|
+
if (type === "meridiem") {
|
|
290
|
+
const disabledHours = [
|
|
291
|
+
.../* @__PURE__ */ new Set([...outOfMaxHours, ...disabledViewHours])
|
|
292
|
+
];
|
|
293
|
+
return disabledAmPm(disabledHours);
|
|
294
|
+
}
|
|
295
|
+
return [.../* @__PURE__ */ new Set([...disabledViewTime, ...outOfMaxRangeTime])];
|
|
296
|
+
};
|
|
297
|
+
const calculateValidMinTime = (disabledTimeView, minTime) => {
|
|
298
|
+
var _a, _b, _c, _d, _e, _f;
|
|
299
|
+
const defaultTime = dayjs().set("hour", 0).set("minute", 0).set("second", 0);
|
|
300
|
+
let validTime = minTime || defaultTime;
|
|
301
|
+
const disabledHours = (_b = disabledTimeView == null ? void 0 : (_a = disabledTimeView()).hour) == null ? void 0 : _b.call(_a);
|
|
302
|
+
if (disabledHours.includes(validTime.hour())) {
|
|
303
|
+
const validHours = Array.from({ length: 24 }, (_, i) => i).filter(
|
|
304
|
+
(value) => !disabledHours.includes(value) && value > validTime.hour()
|
|
305
|
+
);
|
|
306
|
+
const minValue = Math.min(...validHours);
|
|
307
|
+
validTime = validTime.set("hour", minValue);
|
|
308
|
+
}
|
|
309
|
+
if (validTime.hour() > (minTime == null ? void 0 : minTime.hour())) {
|
|
310
|
+
validTime = validTime.set("minute", 0);
|
|
311
|
+
validTime = validTime.set("second", 0);
|
|
312
|
+
}
|
|
313
|
+
const disabledMinutes = (_d = disabledTimeView == null ? void 0 : (_c = disabledTimeView()).minute) == null ? void 0 : _d.call(_c, validTime.hour());
|
|
314
|
+
if (disabledMinutes.includes(validTime.minute())) {
|
|
315
|
+
const validMinutes = Array.from({ length: 60 }, (_, i) => i).filter(
|
|
316
|
+
(value) => {
|
|
317
|
+
if (validTime.hour() > (minTime == null ? void 0 : minTime.hour())) {
|
|
318
|
+
return !disabledMinutes.includes(value);
|
|
319
|
+
}
|
|
320
|
+
return !disabledMinutes.includes(value) && value > validTime.minute();
|
|
321
|
+
}
|
|
322
|
+
);
|
|
323
|
+
const minValue = Math.min(...validMinutes);
|
|
324
|
+
validTime = validTime.set("minute", minValue);
|
|
325
|
+
}
|
|
326
|
+
if (validTime.minute() > (minTime == null ? void 0 : minTime.minute())) {
|
|
327
|
+
validTime = validTime.set("second", 0);
|
|
328
|
+
}
|
|
329
|
+
const disabledSeconds = (_f = disabledTimeView == null ? void 0 : (_e = disabledTimeView()).second) == null ? void 0 : _f.call(
|
|
330
|
+
_e,
|
|
331
|
+
validTime.hour(),
|
|
332
|
+
validTime.minute()
|
|
333
|
+
);
|
|
334
|
+
if (disabledSeconds.includes(validTime.second())) {
|
|
335
|
+
const validSeconds = Array.from({ length: 60 }, (_, i) => i).filter(
|
|
336
|
+
(value) => {
|
|
337
|
+
if (validTime.hour() > (minTime == null ? void 0 : minTime.hour()) || validTime.minute() > (minTime == null ? void 0 : minTime.minute())) {
|
|
338
|
+
return !disabledSeconds.includes(value);
|
|
339
|
+
}
|
|
340
|
+
return !disabledMinutes.includes(value) && value > validTime.second();
|
|
341
|
+
}
|
|
342
|
+
);
|
|
343
|
+
const minValue = Math.min(...validSeconds);
|
|
344
|
+
validTime = validTime.set("second", minValue);
|
|
345
|
+
}
|
|
346
|
+
return validTime;
|
|
347
|
+
};
|
|
348
|
+
const dateToDayjs = (date) => {
|
|
349
|
+
if (!date)
|
|
350
|
+
return void 0;
|
|
351
|
+
return dayjs(date);
|
|
352
|
+
};
|
|
353
|
+
export {
|
|
354
|
+
calculateValidMinTime,
|
|
355
|
+
dateToDayjs,
|
|
356
|
+
getIsRangeDate,
|
|
357
|
+
getIsRangeTime,
|
|
358
|
+
getOutOfMaxRangeMinutes,
|
|
359
|
+
getOutOfMaxRangeSeconds,
|
|
360
|
+
getOutOfMinRangeMinutes,
|
|
361
|
+
getOutOfMinRangeSeconds,
|
|
362
|
+
getdisabledTime,
|
|
363
|
+
isDisabledTime,
|
|
364
|
+
isDisabledViewTime
|
|
365
|
+
};
|