@progress/kendo-react-dateinputs 7.2.4-develop.3 → 7.3.0-develop.1
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/calendar/components/Calendar.js +12 -0
- package/calendar/components/Calendar.mjs +328 -0
- package/calendar/components/CalendarCell.js +8 -0
- package/calendar/components/CalendarCell.mjs +101 -0
- package/calendar/components/CalendarHeaderTitle.js +8 -0
- package/calendar/components/CalendarHeaderTitle.mjs +23 -0
- package/calendar/components/CalendarNavigationItem.js +8 -0
- package/calendar/components/CalendarNavigationItem.mjs +29 -0
- package/calendar/components/CalendarWeekCell.js +8 -0
- package/calendar/components/CalendarWeekCell.mjs +23 -0
- package/calendar/components/Header.js +8 -0
- package/calendar/components/Header.mjs +78 -0
- package/calendar/components/HorizontalViewList.js +8 -0
- package/calendar/components/HorizontalViewList.mjs +120 -0
- package/calendar/components/MultiViewCalendar.js +8 -0
- package/calendar/components/MultiViewCalendar.mjs +428 -0
- package/calendar/components/Navigation.js +8 -0
- package/calendar/components/Navigation.mjs +117 -0
- package/calendar/components/TodayCommand.js +8 -0
- package/calendar/components/TodayCommand.mjs +74 -0
- package/calendar/components/View.js +8 -0
- package/calendar/components/View.mjs +153 -0
- package/calendar/components/ViewList.js +8 -0
- package/calendar/components/ViewList.mjs +228 -0
- package/calendar/models/CalendarViewEnum.js +8 -0
- package/calendar/models/CalendarViewEnum.mjs +12 -0
- package/calendar/models/NavigationAction.js +8 -0
- package/calendar/models/NavigationAction.mjs +12 -0
- package/calendar/models/SelectionRange.js +8 -0
- package/calendar/models/SelectionRange.mjs +12 -0
- package/calendar/services/BusViewService.js +8 -0
- package/calendar/services/BusViewService.mjs +58 -0
- package/calendar/services/CenturyViewService.js +8 -0
- package/calendar/services/CenturyViewService.mjs +126 -0
- package/calendar/services/DOMService.js +14 -0
- package/calendar/services/DOMService.mjs +124 -0
- package/calendar/services/DecadeViewService.js +8 -0
- package/calendar/services/DecadeViewService.mjs +126 -0
- package/calendar/services/MonthViewService.js +8 -0
- package/calendar/services/MonthViewService.mjs +139 -0
- package/calendar/services/NavigationService.js +8 -0
- package/calendar/services/NavigationService.mjs +36 -0
- package/calendar/services/ScrollSyncService.js +8 -0
- package/calendar/services/ScrollSyncService.mjs +50 -0
- package/calendar/services/WeekNamesService.js +8 -0
- package/calendar/services/WeekNamesService.mjs +24 -0
- package/calendar/services/YearViewService.js +8 -0
- package/calendar/services/YearViewService.mjs +135 -0
- package/common/AdaptiveMode.js +8 -0
- package/common/AdaptiveMode.mjs +73 -0
- package/common/PickerWrap.js +8 -0
- package/common/PickerWrap.mjs +32 -0
- package/common/constants.js +8 -0
- package/common/constants.mjs +12 -0
- package/dateinput/DateInput.js +8 -0
- package/dateinput/DateInput.mjs +503 -0
- package/dateinput/models/kendo-date.js +8 -0
- package/dateinput/models/kendo-date.mjs +233 -0
- package/dateinput/models/mask.js +8 -0
- package/dateinput/models/mask.mjs +16 -0
- package/dateinput/utils.js +8 -0
- package/dateinput/utils.mjs +38 -0
- package/datepicker/DatePicker.js +8 -0
- package/datepicker/DatePicker.mjs +462 -0
- package/datepicker/ToggleButton.js +8 -0
- package/datepicker/ToggleButton.mjs +13 -0
- package/daterangepicker/DateRangePicker.js +8 -0
- package/daterangepicker/DateRangePicker.mjs +426 -0
- package/datetimepicker/DateTimePicker.js +8 -0
- package/datetimepicker/DateTimePicker.mjs +475 -0
- package/datetimepicker/DateTimeSelector.js +8 -0
- package/datetimepicker/DateTimeSelector.mjs +275 -0
- package/dist/cdn/js/kendo-react-dateinputs.js +8 -21
- package/hooks/usePickerFloatingLabel.js +8 -0
- package/hooks/usePickerFloatingLabel.mjs +31 -0
- package/index.d.mts +4528 -5
- package/index.d.ts +4528 -39
- package/index.js +8 -21
- package/index.mjs +114 -6540
- package/messages/index.js +8 -0
- package/messages/index.mjs +59 -0
- package/package-metadata.js +8 -0
- package/package-metadata.mjs +19 -0
- package/package.json +7 -7
- package/timepicker/TimeList.js +14 -0
- package/timepicker/TimeList.mjs +230 -0
- package/timepicker/TimePart.js +8 -0
- package/timepicker/TimePart.mjs +267 -0
- package/timepicker/TimePicker.js +8 -0
- package/timepicker/TimePicker.mjs +479 -0
- package/timepicker/TimeSelector.js +8 -0
- package/timepicker/TimeSelector.mjs +250 -0
- package/timepicker/models/TimePart.js +8 -0
- package/timepicker/models/TimePart.mjs +18 -0
- package/timepicker/services/DOMService.js +8 -0
- package/timepicker/services/DOMService.mjs +34 -0
- package/timepicker/services/DayPeriodService.js +8 -0
- package/timepicker/services/DayPeriodService.mjs +89 -0
- package/timepicker/services/HoursService.js +8 -0
- package/timepicker/services/HoursService.mjs +92 -0
- package/timepicker/services/MinutesService.js +8 -0
- package/timepicker/services/MinutesService.mjs +91 -0
- package/timepicker/services/SecondsService.js +8 -0
- package/timepicker/services/SecondsService.mjs +91 -0
- package/timepicker/utils.js +8 -0
- package/timepicker/utils.mjs +91 -0
- package/utils.js +8 -0
- package/utils.mjs +111 -0
- package/virtualization/Virtualization.js +8 -0
- package/virtualization/Virtualization.mjs +204 -0
- package/virtualization/services/RowHeightService.js +8 -0
- package/virtualization/services/RowHeightService.mjs +50 -0
- package/virtualization/services/ScrollerService.js +8 -0
- package/virtualization/services/ScrollerService.mjs +52 -0
- package/PopupSettings.d.ts +0 -18
- package/calendar/components/Calendar.d.ts +0 -191
- package/calendar/components/CalendarCell.d.ts +0 -39
- package/calendar/components/CalendarHeaderTitle.d.ts +0 -32
- package/calendar/components/CalendarNavigationItem.d.ts +0 -31
- package/calendar/components/CalendarWeekCell.d.ts +0 -29
- package/calendar/components/Header.d.ts +0 -58
- package/calendar/components/HorizontalViewList.d.ts +0 -71
- package/calendar/components/MultiViewCalendar.d.ts +0 -212
- package/calendar/components/Navigation.d.ts +0 -80
- package/calendar/components/TodayCommand.d.ts +0 -35
- package/calendar/components/View.d.ts +0 -89
- package/calendar/components/ViewList.d.ts +0 -115
- package/calendar/models/ActiveView.d.ts +0 -8
- package/calendar/models/CalendarSettings.d.ts +0 -106
- package/calendar/models/CalendarViewEnum.d.ts +0 -13
- package/calendar/models/CellContext.d.ts +0 -23
- package/calendar/models/MultiViewCalendarMode.d.ts +0 -13
- package/calendar/models/MultiViewCalendarSettings.d.ts +0 -115
- package/calendar/models/NavigationAction.d.ts +0 -19
- package/calendar/models/SelectionRange.d.ts +0 -21
- package/calendar/models/SelectionRangeEnd.d.ts +0 -8
- package/calendar/models/ViewService.d.ts +0 -29
- package/calendar/models/index.d.ts +0 -15
- package/calendar/services/BusViewService.d.ts +0 -25
- package/calendar/services/CenturyViewService.d.ts +0 -29
- package/calendar/services/DOMService.d.ts +0 -33
- package/calendar/services/DecadeViewService.d.ts +0 -31
- package/calendar/services/MonthViewService.d.ts +0 -37
- package/calendar/services/NavigationService.d.ts +0 -18
- package/calendar/services/ScrollSyncService.d.ts +0 -25
- package/calendar/services/WeekNamesService.d.ts +0 -13
- package/calendar/services/YearViewService.d.ts +0 -35
- package/calendar/services/index.d.ts +0 -14
- package/common/AdaptiveMode.d.ts +0 -25
- package/common/PickerWrap.d.ts +0 -22
- package/common/constants.d.ts +0 -8
- package/dateinput/DateInput.d.ts +0 -355
- package/dateinput/models/DateInputSettings.d.ts +0 -103
- package/dateinput/models/format-placeholder.d.ts +0 -43
- package/dateinput/models/incremental-steps.d.ts +0 -15
- package/dateinput/models/index.d.ts +0 -11
- package/dateinput/models/kendo-date.d.ts +0 -57
- package/dateinput/models/mask.d.ts +0 -11
- package/dateinput/models/selection.d.ts +0 -11
- package/dateinput/utils.d.ts +0 -34
- package/datepicker/DatePicker.d.ts +0 -358
- package/datepicker/ToggleButton.d.ts +0 -14
- package/datepicker/models/DatePickerSettings.d.ts +0 -141
- package/datepicker/models/index.d.ts +0 -6
- package/daterangepicker/DateRangePicker.d.ts +0 -354
- package/daterangepicker/models/DateRangePickerCalendarSettings.d.ts +0 -10
- package/daterangepicker/models/DateRangePickerDateInputSettings.d.ts +0 -10
- package/daterangepicker/models/DateRangePickerPopupSettings.d.ts +0 -10
- package/daterangepicker/models/DateRangePickerSettings.d.ts +0 -126
- package/daterangepicker/models/index.d.ts +0 -9
- package/datetimepicker/DateTimePicker.d.ts +0 -342
- package/datetimepicker/DateTimeSelector.d.ts +0 -106
- package/datetimepicker/models/DateTimePickerSettings.d.ts +0 -144
- package/datetimepicker/models/index.d.ts +0 -6
- package/hooks/usePickerFloatingLabel.d.ts +0 -24
- package/messages/index.d.ts +0 -124
- package/package-metadata.d.ts +0 -9
- package/timepicker/TimeList.d.ts +0 -91
- package/timepicker/TimePart.d.ts +0 -141
- package/timepicker/TimePicker.d.ts +0 -355
- package/timepicker/TimeSelector.d.ts +0 -144
- package/timepicker/models/IncrementalSteps.d.ts +0 -12
- package/timepicker/models/ListItem.d.ts +0 -11
- package/timepicker/models/ListService.d.ts +0 -19
- package/timepicker/models/ListServiceSettings.d.ts +0 -16
- package/timepicker/models/TimePart.d.ts +0 -14
- package/timepicker/models/TimePickerSettings.d.ts +0 -133
- package/timepicker/models/index.d.ts +0 -11
- package/timepicker/services/DOMService.d.ts +0 -14
- package/timepicker/services/DayPeriodService.d.ts +0 -51
- package/timepicker/services/HoursService.d.ts +0 -37
- package/timepicker/services/MinutesService.d.ts +0 -36
- package/timepicker/services/SecondsService.d.ts +0 -36
- package/timepicker/services/index.d.ts +0 -10
- package/timepicker/utils.d.ts +0 -60
- package/utils.d.ts +0 -100
- package/virtualization/Virtualization.d.ts +0 -120
- package/virtualization/services/RowHeightService.d.ts +0 -22
- package/virtualization/services/ScrollerService.d.ts +0 -53
- package/virtualization/services/index.d.ts +0 -7
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as a from "react";
|
|
10
|
+
import t from "prop-types";
|
|
11
|
+
import { cloneDate as c } from "@progress/kendo-date-math";
|
|
12
|
+
import { Keys as h, classNames as E, getActiveElement as T } from "@progress/kendo-react-common";
|
|
13
|
+
import { provideIntlService as _, provideLocalizationService as I, registerForIntl as S, registerForLocalization as x } from "@progress/kendo-react-intl";
|
|
14
|
+
import { timePickerCancel as v, messages as g, timePickerSet as w } from "../messages/index.mjs";
|
|
15
|
+
import { MIDNIGHT_DATE as A, MIN_TIME as K, MAX_TIME as M } from "../utils.mjs";
|
|
16
|
+
import { getNow as d, valueMerger as R, generateGetters as F } from "./utils.mjs";
|
|
17
|
+
import { TimePart as L } from "./TimePart.mjs";
|
|
18
|
+
import { Button as b } from "@progress/kendo-react-buttons";
|
|
19
|
+
const r = class r extends a.Component {
|
|
20
|
+
constructor(i) {
|
|
21
|
+
super(i), this._element = null, this._cancelButton = null, this._acceptButton = null, this.timePart = null, this.focusActiveList = () => {
|
|
22
|
+
this.timePart && this.timePart.focus({ preventScroll: !0 });
|
|
23
|
+
}, this.handleKeyDown = (e) => {
|
|
24
|
+
const { keyCode: n } = e;
|
|
25
|
+
switch (n) {
|
|
26
|
+
case h.enter:
|
|
27
|
+
this.hasActiveButton() || this.handleAccept(e);
|
|
28
|
+
return;
|
|
29
|
+
default:
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
}, this.revertToNowButton = (e) => {
|
|
33
|
+
const { keyCode: n, shiftKey: o } = e;
|
|
34
|
+
!o && n === h.tab && (e.preventDefault(), this.props.nowButton !== !1 ? this.timePart && this.timePart.focus({ preventScroll: !0 }, !0) : this.timePart && this.timePart.focus({ preventScroll: !0 }));
|
|
35
|
+
}, this.handleNowKeyDown = (e) => {
|
|
36
|
+
var l;
|
|
37
|
+
const { keyCode: n, shiftKey: o } = e;
|
|
38
|
+
o && n === h.tab ? (e.preventDefault(), this._acceptButton && ((l = this._acceptButton.element) == null || l.focus({ preventScroll: !0 }))) : n === h.enter && (e.stopPropagation(), this.handleNowClick(e));
|
|
39
|
+
}, this.handleAccept = (e) => {
|
|
40
|
+
const n = this.mergeValue(
|
|
41
|
+
c(this.value || d()),
|
|
42
|
+
this.timePart ? this.timePart.value : this.current
|
|
43
|
+
);
|
|
44
|
+
this.setState({ value: n }), this.valueDuringOnChange = n;
|
|
45
|
+
const { onChange: o } = this.props;
|
|
46
|
+
o && o.call(void 0, {
|
|
47
|
+
syntheticEvent: e,
|
|
48
|
+
nativeEvent: e.nativeEvent,
|
|
49
|
+
value: this.value,
|
|
50
|
+
target: this
|
|
51
|
+
}), this.valueDuringOnChange = void 0;
|
|
52
|
+
}, this.handleReject = (e) => {
|
|
53
|
+
this.setState({ current: this.value });
|
|
54
|
+
const { onReject: n } = this.props;
|
|
55
|
+
n && n.call(void 0, e);
|
|
56
|
+
}, this.handleNowClick = (e) => {
|
|
57
|
+
const n = this.mergeValue(
|
|
58
|
+
c(this.value || d()),
|
|
59
|
+
d()
|
|
60
|
+
);
|
|
61
|
+
this.setState({
|
|
62
|
+
current: n,
|
|
63
|
+
value: n
|
|
64
|
+
}), this.valueDuringOnChange = n;
|
|
65
|
+
const { onChange: o } = this.props;
|
|
66
|
+
o && o.call(void 0, {
|
|
67
|
+
syntheticEvent: e,
|
|
68
|
+
nativeEvent: e.nativeEvent,
|
|
69
|
+
value: this.value,
|
|
70
|
+
target: this
|
|
71
|
+
}), this.valueDuringOnChange = void 0;
|
|
72
|
+
}, this.handleChange = (e) => {
|
|
73
|
+
this.setState({ current: e });
|
|
74
|
+
const { handleTimeChange: n } = this.props;
|
|
75
|
+
n && n.call(void 0, {
|
|
76
|
+
time: e
|
|
77
|
+
});
|
|
78
|
+
}, this.dateFormatParts = this.intl.splitDateFormat(this.props.format || r.defaultProps.format), this.mergeValue = R(F(this.dateFormatParts)), this.hasActiveButton = this.hasActiveButton.bind(this), this.state = {
|
|
79
|
+
current: this.props.value || A,
|
|
80
|
+
value: this.props.value || r.defaultProps.value
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @hidden
|
|
85
|
+
*/
|
|
86
|
+
get element() {
|
|
87
|
+
return this._element;
|
|
88
|
+
}
|
|
89
|
+
get value() {
|
|
90
|
+
const i = this.valueDuringOnChange !== void 0 ? this.valueDuringOnChange : this.props.value !== void 0 ? this.props.value : this.state.value;
|
|
91
|
+
return i !== null ? c(i) : null;
|
|
92
|
+
}
|
|
93
|
+
get intl() {
|
|
94
|
+
return _(this);
|
|
95
|
+
}
|
|
96
|
+
get current() {
|
|
97
|
+
return this.state.current !== null ? c(this.state.current) : null;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @hidden
|
|
101
|
+
*/
|
|
102
|
+
componentWillUnmount() {
|
|
103
|
+
clearTimeout(this.nextTickId);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @hidden
|
|
107
|
+
*/
|
|
108
|
+
render() {
|
|
109
|
+
const {
|
|
110
|
+
format: i,
|
|
111
|
+
cancelButton: e,
|
|
112
|
+
disabled: n,
|
|
113
|
+
tabIndex: o,
|
|
114
|
+
className: l,
|
|
115
|
+
smoothScroll: B,
|
|
116
|
+
min: k,
|
|
117
|
+
max: y,
|
|
118
|
+
boundRange: C,
|
|
119
|
+
nowButton: D,
|
|
120
|
+
steps: O,
|
|
121
|
+
show: N,
|
|
122
|
+
mobileMode: P
|
|
123
|
+
} = this.props, f = I(this), m = f.toLanguageString(v, g[v]), p = f.toLanguageString(w, g[w]);
|
|
124
|
+
return /* @__PURE__ */ a.createElement(
|
|
125
|
+
"div",
|
|
126
|
+
{
|
|
127
|
+
ref: (s) => {
|
|
128
|
+
this._element = s;
|
|
129
|
+
},
|
|
130
|
+
tabIndex: n ? void 0 : o || 0,
|
|
131
|
+
className: E("k-timeselector", l, {
|
|
132
|
+
"k-disabled": n
|
|
133
|
+
}),
|
|
134
|
+
onKeyDown: this.handleKeyDown
|
|
135
|
+
},
|
|
136
|
+
/* @__PURE__ */ a.createElement(
|
|
137
|
+
L,
|
|
138
|
+
{
|
|
139
|
+
ref: (s) => {
|
|
140
|
+
this.timePart = s;
|
|
141
|
+
},
|
|
142
|
+
value: this.current,
|
|
143
|
+
onChange: this.handleChange,
|
|
144
|
+
onNowClick: this.handleNowClick,
|
|
145
|
+
format: i,
|
|
146
|
+
smoothScroll: B,
|
|
147
|
+
min: k,
|
|
148
|
+
max: y,
|
|
149
|
+
boundRange: C,
|
|
150
|
+
disabled: n,
|
|
151
|
+
nowButton: D,
|
|
152
|
+
steps: O,
|
|
153
|
+
show: N,
|
|
154
|
+
mobileMode: P,
|
|
155
|
+
onNowKeyDown: this.handleNowKeyDown
|
|
156
|
+
}
|
|
157
|
+
),
|
|
158
|
+
this.props.footer && /* @__PURE__ */ a.createElement("div", { className: "k-time-footer k-actions k-actions-stretched" }, e && /* @__PURE__ */ a.createElement(
|
|
159
|
+
b,
|
|
160
|
+
{
|
|
161
|
+
type: "button",
|
|
162
|
+
ref: (s) => {
|
|
163
|
+
this._cancelButton = s;
|
|
164
|
+
},
|
|
165
|
+
className: "k-time-cancel",
|
|
166
|
+
onClick: this.handleReject,
|
|
167
|
+
title: m,
|
|
168
|
+
"aria-label": m
|
|
169
|
+
},
|
|
170
|
+
m
|
|
171
|
+
), /* @__PURE__ */ a.createElement(
|
|
172
|
+
b,
|
|
173
|
+
{
|
|
174
|
+
type: "button",
|
|
175
|
+
ref: (s) => {
|
|
176
|
+
this._acceptButton = s;
|
|
177
|
+
},
|
|
178
|
+
className: "k-time-accept",
|
|
179
|
+
themeColor: "primary",
|
|
180
|
+
onClick: this.handleAccept,
|
|
181
|
+
onKeyDown: this.revertToNowButton,
|
|
182
|
+
title: p,
|
|
183
|
+
"aria-label": p
|
|
184
|
+
},
|
|
185
|
+
p
|
|
186
|
+
))
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
nextTick(i) {
|
|
190
|
+
clearTimeout(this.nextTickId), this.nextTickId = window.setTimeout(() => i());
|
|
191
|
+
}
|
|
192
|
+
hasActiveButton() {
|
|
193
|
+
if (!this._acceptButton || !this._acceptButton.element)
|
|
194
|
+
return !1;
|
|
195
|
+
const i = T(document);
|
|
196
|
+
return this._acceptButton && i === this._acceptButton.element || this._cancelButton && i === this._cancelButton.element;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
r.propTypes = {
|
|
200
|
+
cancelButton: t.bool,
|
|
201
|
+
className: t.string,
|
|
202
|
+
disabled: t.bool,
|
|
203
|
+
format: t.oneOfType([
|
|
204
|
+
t.string,
|
|
205
|
+
t.shape({
|
|
206
|
+
skeleton: t.string,
|
|
207
|
+
pattern: t.string,
|
|
208
|
+
date: t.oneOf(["short", "medium", "long", "full"]),
|
|
209
|
+
time: t.oneOf(["short", "medium", "long", "full"]),
|
|
210
|
+
datetime: t.oneOf(["short", "medium", "long", "full"]),
|
|
211
|
+
era: t.oneOf(["narrow", "short", "long"]),
|
|
212
|
+
year: t.oneOf(["numeric", "2-digit"]),
|
|
213
|
+
month: t.oneOf(["numeric", "2-digit", "narrow", "short", "long"]),
|
|
214
|
+
day: t.oneOf(["numeric", "2-digit"]),
|
|
215
|
+
weekday: t.oneOf(["narrow", "short", "long"]),
|
|
216
|
+
hour: t.oneOf(["numeric", "2-digit"]),
|
|
217
|
+
hour12: t.bool,
|
|
218
|
+
minute: t.oneOf(["numeric", "2-digit"]),
|
|
219
|
+
second: t.oneOf(["numeric", "2-digit"]),
|
|
220
|
+
timeZoneName: t.oneOf(["short", "long"])
|
|
221
|
+
})
|
|
222
|
+
]),
|
|
223
|
+
max: t.instanceOf(Date),
|
|
224
|
+
min: t.instanceOf(Date),
|
|
225
|
+
nowButton: t.bool,
|
|
226
|
+
steps: t.shape({
|
|
227
|
+
hour: t.number,
|
|
228
|
+
minute: t.number,
|
|
229
|
+
second: t.number
|
|
230
|
+
}),
|
|
231
|
+
smoothScroll: t.bool,
|
|
232
|
+
tabIndex: t.number,
|
|
233
|
+
value: t.instanceOf(Date),
|
|
234
|
+
show: t.bool
|
|
235
|
+
}, r.defaultProps = {
|
|
236
|
+
value: null,
|
|
237
|
+
disabled: !1,
|
|
238
|
+
cancelButton: !0,
|
|
239
|
+
format: "t",
|
|
240
|
+
min: K,
|
|
241
|
+
max: M,
|
|
242
|
+
boundRange: !1,
|
|
243
|
+
footer: !0
|
|
244
|
+
};
|
|
245
|
+
let u = r;
|
|
246
|
+
S(u);
|
|
247
|
+
x(u);
|
|
248
|
+
export {
|
|
249
|
+
u as TimeSelector
|
|
250
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={dayperiod:"dayperiod",hour:"hour",millisecond:"millisecond",minute:"minute",second:"second"};exports.TIME_PART=e;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
const e = {
|
|
10
|
+
dayperiod: "dayperiod",
|
|
11
|
+
hour: "hour",
|
|
12
|
+
millisecond: "millisecond",
|
|
13
|
+
minute: "minute",
|
|
14
|
+
second: "second"
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
e as TIME_PART
|
|
18
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../utils.js"),h=require("@progress/kendo-react-common");class d{constructor(){this.itemHeight=0,this.timeListHeight=0,this.didCalculate=!1}ensureHeights(){this.timeListHeight===void 0&&this.calculateHeights()}calculateHeights(s){if(!h.canUseDOM)return;const e=t.domContainerFactory("div"),r=t.domContainerFactory("span"),n=t.domContainerFactory("ul"),c=t.domContainerFactory("li"),l=()=>c("<span>02</span>","k-item"),a=()=>n([l()],"k-reset"),u=()=>e([a()],"k-content k-scrollable k-time-container"),m=e([r("minute","k-title"),e([u()],"k-time-list")],"k-time-list-wrapper",{left:"-10000px",position:"absolute"}),o=s&&s.querySelector(".k-time-container")||document.body,i=o.appendChild(m);this.timeListHeight=i.querySelector(".k-scrollable").offsetHeight,this.itemHeight=i.querySelector("li").offsetHeight,o.removeChild(i),this.didCalculate=!0}}exports.DOMService=d;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import { domContainerFactory as t } from "../../utils.mjs";
|
|
10
|
+
import { canUseDOM as p } from "@progress/kendo-react-common";
|
|
11
|
+
class H {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.itemHeight = 0, this.timeListHeight = 0, this.didCalculate = !1;
|
|
14
|
+
}
|
|
15
|
+
ensureHeights() {
|
|
16
|
+
this.timeListHeight === void 0 && this.calculateHeights();
|
|
17
|
+
}
|
|
18
|
+
calculateHeights(s) {
|
|
19
|
+
if (!p)
|
|
20
|
+
return;
|
|
21
|
+
const e = t("div"), r = t("span"), l = t("ul"), n = t("li"), c = () => n("<span>02</span>", "k-item"), a = () => l([c()], "k-reset"), m = () => e([a()], "k-content k-scrollable k-time-container"), h = e(
|
|
22
|
+
[
|
|
23
|
+
r("minute", "k-title"),
|
|
24
|
+
e([m()], "k-time-list")
|
|
25
|
+
],
|
|
26
|
+
"k-time-list-wrapper",
|
|
27
|
+
{ left: "-10000px", position: "absolute" }
|
|
28
|
+
), o = s && s.querySelector(".k-time-container") || document.body, i = o.appendChild(h);
|
|
29
|
+
this.timeListHeight = i.querySelector(".k-scrollable").offsetHeight, this.itemHeight = i.querySelector("li").offsetHeight, o.removeChild(i), this.didCalculate = !0;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
H as DOMService
|
|
34
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@progress/kendo-date-math"),o=(s,t)=>{const n=c.cloneDate(s);return n.setHours(t),n},h=s=>s!==null&&s<12,l=s=>s!==null&&(!s||s>11),g=(s,t,n)=>!t&&!n||s>=t&&s<=n,d=(s,t,n)=>!t&&!n||s>=t||s<=n;class x{constructor(t){this.intl=t,this.min=null,this.max=null,this.part=null}apply(t,n){const e=t.getHours(),i=h(e),r=h(n.getHours());if(i&&r||!i&&!r)return t;const[a,m=24]=this.normalizedRange(),u=e+(r?-12:12);return o(t,Math.min(Math.max(a,u),m||24))}configure(t){const{min:n=this.min,max:e=this.max,part:i=this.part}=t;this.min=n,this.max=e,this.part=i}data(t){const n=this.part&&this.part.names;if(!n||!this.min)return[];const e=[],[i,r]=this.normalizedRange(),a=this.intl.dateFormatNames(n);return h(i)&&e.push({text:a.am,value:o(this.min,i)}),l(r)&&e.push({text:a.pm,value:o(this.min,Math.max(12,r))}),this.min.getHours()!==i?e.reverse():e}isRangeChanged(t,n){return!1}limitRange(t,n,e){return[t,n]}total(){const[t,n]=this.normalizedRange();return!t&&!n?2:t>11||n<12?1:2}selectedIndex(t){if(!this.valueInList(t)||!this.min)return-1;const n=Math.floor(t.getHours()/12);return this.min.getHours()===this.normalizedRange()[0]?n:n===0?1:0}valueInList(t){return!this.min||!this.max?!1:(this.min.getHours()!==this.normalizedRange()[0]?d:g)(t.getHours(),this.min.getHours(),this.max.getHours())}normalizedRange(){const t=this.min.getHours(),n=this.max.getHours();return[Math.min(t,n),Math.max(t,n)]}}exports.DayPeriodService=x;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import { cloneDate as c } from "@progress/kendo-date-math";
|
|
10
|
+
const o = (s, t) => {
|
|
11
|
+
const n = c(s);
|
|
12
|
+
return n.setHours(t), n;
|
|
13
|
+
}, m = (s) => s !== null && s < 12, l = (s) => s !== null && (!s || s > 11), g = (s, t, n) => !t && !n || s >= t && s <= n, d = (s, t, n) => !t && !n || s >= t || s <= n;
|
|
14
|
+
class H {
|
|
15
|
+
constructor(t) {
|
|
16
|
+
this.intl = t, this.min = null, this.max = null, this.part = null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @hidden
|
|
20
|
+
*/
|
|
21
|
+
apply(t, n) {
|
|
22
|
+
const i = t.getHours(), e = m(i), r = m(n.getHours());
|
|
23
|
+
if (e && r || !e && !r)
|
|
24
|
+
return t;
|
|
25
|
+
const [a, h = 24] = this.normalizedRange(), u = i + (r ? -12 : 12);
|
|
26
|
+
return o(t, Math.min(Math.max(a, u), h || 24));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
configure(t) {
|
|
32
|
+
const { min: n = this.min, max: i = this.max, part: e = this.part } = t;
|
|
33
|
+
this.min = n, this.max = i, this.part = e;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @hidden
|
|
37
|
+
*/
|
|
38
|
+
data(t) {
|
|
39
|
+
const n = this.part && this.part.names;
|
|
40
|
+
if (!n || !this.min)
|
|
41
|
+
return [];
|
|
42
|
+
const i = [], [e, r] = this.normalizedRange(), a = this.intl.dateFormatNames(n);
|
|
43
|
+
return m(e) && i.push({ text: a.am, value: o(this.min, e) }), l(r) && i.push({ text: a.pm, value: o(this.min, Math.max(12, r)) }), this.min.getHours() !== e ? i.reverse() : i;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @hidden
|
|
47
|
+
*/
|
|
48
|
+
isRangeChanged(t, n) {
|
|
49
|
+
return !1;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @hidden
|
|
53
|
+
*/
|
|
54
|
+
limitRange(t, n, i) {
|
|
55
|
+
return [t, n];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @hidden
|
|
59
|
+
*/
|
|
60
|
+
total() {
|
|
61
|
+
const [t, n] = this.normalizedRange();
|
|
62
|
+
return !t && !n ? 2 : t > 11 || n < 12 ? 1 : 2;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @hidden
|
|
66
|
+
*/
|
|
67
|
+
selectedIndex(t) {
|
|
68
|
+
if (!this.valueInList(t) || !this.min)
|
|
69
|
+
return -1;
|
|
70
|
+
const n = Math.floor(t.getHours() / 12);
|
|
71
|
+
return this.min.getHours() === this.normalizedRange()[0] ? n : n === 0 ? 1 : 0;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @hidden
|
|
75
|
+
*/
|
|
76
|
+
valueInList(t) {
|
|
77
|
+
return !this.min || !this.max ? !1 : (this.min.getHours() !== this.normalizedRange()[0] ? d : g)(t.getHours(), this.min.getHours(), this.max.getHours());
|
|
78
|
+
}
|
|
79
|
+
normalizedRange() {
|
|
80
|
+
const t = this.min.getHours(), n = this.max.getHours();
|
|
81
|
+
return [
|
|
82
|
+
Math.min(t, n),
|
|
83
|
+
Math.max(t, n)
|
|
84
|
+
];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
export {
|
|
88
|
+
H as DayPeriodService
|
|
89
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@progress/kendo-date-math"),p=require("../../utils.js"),r=require("../utils.js"),u=24,x=n=>t=>t%n,c=x(u),H=(n,t)=>s=>c(n+s*t),d=(n,t)=>c(u+n-t),g=n=>(t,s)=>!s||o.getDate(t).getTime()===o.getDate(s).getTime()?t:r.setHours(t,n),I=g(0),f=g(u-1);class L{constructor(t){this.intl=t,this.boundRange=!1,this.insertUndividedMax=!1,this.min=null,this.max=null,this.step=0,this.toListItem=null}apply(t,s){return r.setHours(t,s.getHours())}configure(t){const{boundRange:s=this.boundRange,insertUndividedMax:i=this.insertUndividedMax,min:h=this.min,max:e=this.max,part:a,step:l=this.step}=t;this.boundRange=s,this.insertUndividedMax=i,this.toListItem=M=>{const m=r.setHours(p.MIDNIGHT_DATE,M);return{text:this.intl.formatDate(m,a.pattern),value:m}},this.min=h,this.max=e,this.step=l}data(t){const[s]=this.range(t),i=H(s,this.step),h=a=>this.toListItem&&this.toListItem(i(a)),e=r.range(0,this.countFromMin(t)).map(h);return this.addLast(e),t&&this.addMissing(e,t),e}isRangeChanged(t,s){return!this.min||!this.max?!1:!o.isEqual(this.min,t)||!o.isEqual(this.max,s)}limitRange(t,s,i){return this.boundRange?[I(t,i),f(s,i)]:[t,s]}total(t){const s=this.insertUndividedMax&&this.isLastMissing(t)?1:0,i=this.isMissing(t)?1:0;return this.countFromMin(t)+i+s}selectedIndex(t){return Math.ceil(this.divideByStep(t))}valueInList(t){return t?this.insertUndividedMax&&this.lastHour(t)===t.getHours()||!this.isMissing(t):!0}addLast(t,s){return this.insertUndividedMax&&this.isLastMissing(s)&&this.toListItem&&t.push(this.toListItem(this.lastHour(s))),t}addMissing(t,s){if(this.valueInList(s))return t;if(this.toListItem){const i=this.toListItem(s.getHours());t.splice(this.selectedIndex(s),0,i)}return t}countFromMin(t){const[s,i]=this.range(t);return Math.floor(d(i,s)/this.step)+1}isMissing(t){return t?this.selectedIndex(t)!==this.divideByStep(t):!1}isLastMissing(t){return this.max!==null&&this.isMissing(r.setHours(this.max,this.lastHour(t)))}divideByStep(t){return d(t.getHours(),this.min.getHours())/this.step}lastHour(t){return this.range(t)[1]}range(t){const[s,i]=this.limitRange(this.min,this.max,t);return[s.getHours(),i.getHours()]}}exports.HoursService=L;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import { isEqual as d, getDate as u } from "@progress/kendo-date-math";
|
|
10
|
+
import { MIDNIGHT_DATE as l } from "../../utils.mjs";
|
|
11
|
+
import { setHours as r, range as I } from "../utils.mjs";
|
|
12
|
+
const a = 24, f = (n) => (t) => t % n, g = f(a), H = (n, t) => (i) => g(n + i * t), c = (n, t) => g(a + n - t), p = (n) => (t, i) => !i || u(t).getTime() === u(i).getTime() ? t : r(t, n), L = p(0), R = p(a - 1);
|
|
13
|
+
class B {
|
|
14
|
+
constructor(t) {
|
|
15
|
+
this.intl = t, this.boundRange = !1, this.insertUndividedMax = !1, this.min = null, this.max = null, this.step = 0, this.toListItem = null;
|
|
16
|
+
}
|
|
17
|
+
apply(t, i) {
|
|
18
|
+
return r(t, i.getHours());
|
|
19
|
+
}
|
|
20
|
+
configure(t) {
|
|
21
|
+
const {
|
|
22
|
+
boundRange: i = this.boundRange,
|
|
23
|
+
insertUndividedMax: s = this.insertUndividedMax,
|
|
24
|
+
min: o = this.min,
|
|
25
|
+
max: e = this.max,
|
|
26
|
+
part: h,
|
|
27
|
+
step: M = this.step
|
|
28
|
+
} = t;
|
|
29
|
+
this.boundRange = i, this.insertUndividedMax = s, this.toListItem = (x) => {
|
|
30
|
+
const m = r(l, x);
|
|
31
|
+
return {
|
|
32
|
+
text: this.intl.formatDate(m, h.pattern),
|
|
33
|
+
value: m
|
|
34
|
+
};
|
|
35
|
+
}, this.min = o, this.max = e, this.step = M;
|
|
36
|
+
}
|
|
37
|
+
data(t) {
|
|
38
|
+
const [i] = this.range(t), s = H(i, this.step), o = (h) => this.toListItem && this.toListItem(s(h)), e = I(0, this.countFromMin(t)).map(o);
|
|
39
|
+
return this.addLast(e), t && this.addMissing(e, t), e;
|
|
40
|
+
}
|
|
41
|
+
isRangeChanged(t, i) {
|
|
42
|
+
return !this.min || !this.max ? !1 : !d(this.min, t) || !d(this.max, i);
|
|
43
|
+
}
|
|
44
|
+
limitRange(t, i, s) {
|
|
45
|
+
return this.boundRange ? [L(t, s), R(i, s)] : [t, i];
|
|
46
|
+
}
|
|
47
|
+
total(t) {
|
|
48
|
+
const i = this.insertUndividedMax && this.isLastMissing(t) ? 1 : 0, s = this.isMissing(t) ? 1 : 0;
|
|
49
|
+
return this.countFromMin(t) + s + i;
|
|
50
|
+
}
|
|
51
|
+
selectedIndex(t) {
|
|
52
|
+
return Math.ceil(this.divideByStep(t));
|
|
53
|
+
}
|
|
54
|
+
valueInList(t) {
|
|
55
|
+
return t ? this.insertUndividedMax && this.lastHour(t) === t.getHours() || !this.isMissing(t) : !0;
|
|
56
|
+
}
|
|
57
|
+
addLast(t, i) {
|
|
58
|
+
return this.insertUndividedMax && this.isLastMissing(i) && this.toListItem && t.push(this.toListItem(this.lastHour(i))), t;
|
|
59
|
+
}
|
|
60
|
+
addMissing(t, i) {
|
|
61
|
+
if (this.valueInList(i))
|
|
62
|
+
return t;
|
|
63
|
+
if (this.toListItem) {
|
|
64
|
+
const s = this.toListItem(i.getHours());
|
|
65
|
+
t.splice(this.selectedIndex(i), 0, s);
|
|
66
|
+
}
|
|
67
|
+
return t;
|
|
68
|
+
}
|
|
69
|
+
countFromMin(t) {
|
|
70
|
+
const [i, s] = this.range(t);
|
|
71
|
+
return Math.floor(c(s, i) / this.step) + 1;
|
|
72
|
+
}
|
|
73
|
+
isMissing(t) {
|
|
74
|
+
return t ? this.selectedIndex(t) !== this.divideByStep(t) : !1;
|
|
75
|
+
}
|
|
76
|
+
isLastMissing(t) {
|
|
77
|
+
return this.max !== null && this.isMissing(r(this.max, this.lastHour(t)));
|
|
78
|
+
}
|
|
79
|
+
divideByStep(t) {
|
|
80
|
+
return c(t.getHours(), this.min.getHours()) / this.step;
|
|
81
|
+
}
|
|
82
|
+
lastHour(t) {
|
|
83
|
+
return this.range(t)[1];
|
|
84
|
+
}
|
|
85
|
+
range(t) {
|
|
86
|
+
const [i, s] = this.limitRange(this.min, this.max, t);
|
|
87
|
+
return [i.getHours(), s.getHours()];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
B as HoursService
|
|
92
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@progress/kendo-date-math"),l=require("../../utils.js"),r=require("../utils.js"),a=60,x=n=>t=>t%n,c=x(a),p=(n,t)=>i=>c(n+i*t),M=(n,t)=>c(a+n-t),d=n=>(t,i)=>!i||t.getHours()===i.getHours()?t:r.setMinutes(t,n),I=d(0),L=d(a-1);class f{constructor(t){this.intl=t,this.toListItem=null,this.min=null,this.max=null,this.step=0,this.insertUndividedMax=!1}apply(t,i){return r.setMinutes(t,i.getMinutes())}configure(t){const{insertUndividedMax:i=this.insertUndividedMax,min:s=this.min,max:h=this.max,part:e,step:o=this.step}=t;this.insertUndividedMax=i,this.toListItem=g=>{const u=r.setMinutes(l.MIDNIGHT_DATE,g);return{text:this.intl.formatDate(u,e.pattern),value:u}},this.min=s,this.max=h,this.step=o}data(t){const[i]=this.range(t),s=p(i,this.step),h=o=>this.toListItem&&this.toListItem(s(o)),e=r.range(0,this.countFromMin(t)).map(h);return this.addLast(e),t&&this.addMissing(e,t),e}isRangeChanged(t,i){return this.min!==null&&this.max!==null&&(!m.isEqual(this.min,t)||!m.isEqual(this.max,i))}limitRange(t,i,s){return[I(t,s),L(i,s)]}total(t){const i=this.insertUndividedMax&&this.isLastMissing(t)?1:0,s=this.isMissing(t)?1:0;return this.countFromMin(t)+s+i}selectedIndex(t){return Math.ceil(this.divideByStep(t))}valueInList(t){return t?this.insertUndividedMax&&this.lastMinute(t)===t.getMinutes()||!this.isMissing(t):!0}addLast(t,i){return this.insertUndividedMax&&this.isLastMissing(i)&&this.toListItem&&t.push(this.toListItem(this.lastMinute(i))),t}addMissing(t,i){if(this.valueInList(i))return t;if(this.toListItem){const s=this.toListItem(i.getMinutes());t.splice(this.selectedIndex(i),0,s)}return t}countFromMin(t){const[i,s]=this.range(t);return Math.floor(M(s,i)/this.step)+1}isMissing(t){return t?this.selectedIndex(t)!==this.divideByStep(t):!1}isLastMissing(t){return this.max!==null&&this.isMissing(r.setMinutes(this.max,this.lastMinute(t)))}divideByStep(t){return M(t.getMinutes(),this.min.getMinutes())/this.step}lastMinute(t){return this.range(t)[1]}range(t){const[i,s]=this.limitRange(this.min,this.max,t);return[i.getMinutes(),s.getMinutes()]}}exports.MinutesService=f;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import { isEqual as u } from "@progress/kendo-date-math";
|
|
10
|
+
import { MIDNIGHT_DATE as p } from "../../utils.mjs";
|
|
11
|
+
import { setMinutes as r, range as x } from "../utils.mjs";
|
|
12
|
+
const m = 60, l = (n) => (t) => t % n, M = l(m), I = (n, t) => (i) => M(n + i * t), d = (n, t) => M(m + n - t), c = (n) => (t, i) => !i || t.getHours() === i.getHours() ? t : r(t, n), L = c(0), f = c(m - 1);
|
|
13
|
+
class S {
|
|
14
|
+
constructor(t) {
|
|
15
|
+
this.intl = t, this.toListItem = null, this.min = null, this.max = null, this.step = 0, this.insertUndividedMax = !1;
|
|
16
|
+
}
|
|
17
|
+
apply(t, i) {
|
|
18
|
+
return r(t, i.getMinutes());
|
|
19
|
+
}
|
|
20
|
+
configure(t) {
|
|
21
|
+
const {
|
|
22
|
+
insertUndividedMax: i = this.insertUndividedMax,
|
|
23
|
+
min: s = this.min,
|
|
24
|
+
max: h = this.max,
|
|
25
|
+
part: e,
|
|
26
|
+
step: o = this.step
|
|
27
|
+
} = t;
|
|
28
|
+
this.insertUndividedMax = i, this.toListItem = (g) => {
|
|
29
|
+
const a = r(p, g);
|
|
30
|
+
return {
|
|
31
|
+
text: this.intl.formatDate(a, e.pattern),
|
|
32
|
+
value: a
|
|
33
|
+
};
|
|
34
|
+
}, this.min = s, this.max = h, this.step = o;
|
|
35
|
+
}
|
|
36
|
+
data(t) {
|
|
37
|
+
const [i] = this.range(t), s = I(i, this.step), h = (o) => this.toListItem && this.toListItem(s(o)), e = x(0, this.countFromMin(t)).map(h);
|
|
38
|
+
return this.addLast(e), t && this.addMissing(e, t), e;
|
|
39
|
+
}
|
|
40
|
+
isRangeChanged(t, i) {
|
|
41
|
+
return this.min !== null && this.max !== null && (!u(this.min, t) || !u(this.max, i));
|
|
42
|
+
}
|
|
43
|
+
limitRange(t, i, s) {
|
|
44
|
+
return [L(t, s), f(i, s)];
|
|
45
|
+
}
|
|
46
|
+
total(t) {
|
|
47
|
+
const i = this.insertUndividedMax && this.isLastMissing(t) ? 1 : 0, s = this.isMissing(t) ? 1 : 0;
|
|
48
|
+
return this.countFromMin(t) + s + i;
|
|
49
|
+
}
|
|
50
|
+
selectedIndex(t) {
|
|
51
|
+
return Math.ceil(this.divideByStep(t));
|
|
52
|
+
}
|
|
53
|
+
valueInList(t) {
|
|
54
|
+
return t ? this.insertUndividedMax && this.lastMinute(t) === t.getMinutes() || !this.isMissing(t) : !0;
|
|
55
|
+
}
|
|
56
|
+
addLast(t, i) {
|
|
57
|
+
return this.insertUndividedMax && this.isLastMissing(i) && this.toListItem && t.push(this.toListItem(this.lastMinute(i))), t;
|
|
58
|
+
}
|
|
59
|
+
addMissing(t, i) {
|
|
60
|
+
if (this.valueInList(i))
|
|
61
|
+
return t;
|
|
62
|
+
if (this.toListItem) {
|
|
63
|
+
const s = this.toListItem(i.getMinutes());
|
|
64
|
+
t.splice(this.selectedIndex(i), 0, s);
|
|
65
|
+
}
|
|
66
|
+
return t;
|
|
67
|
+
}
|
|
68
|
+
countFromMin(t) {
|
|
69
|
+
const [i, s] = this.range(t);
|
|
70
|
+
return Math.floor(d(s, i) / this.step) + 1;
|
|
71
|
+
}
|
|
72
|
+
isMissing(t) {
|
|
73
|
+
return t ? this.selectedIndex(t) !== this.divideByStep(t) : !1;
|
|
74
|
+
}
|
|
75
|
+
isLastMissing(t) {
|
|
76
|
+
return this.max !== null && this.isMissing(r(this.max, this.lastMinute(t)));
|
|
77
|
+
}
|
|
78
|
+
divideByStep(t) {
|
|
79
|
+
return d(t.getMinutes(), this.min.getMinutes()) / this.step;
|
|
80
|
+
}
|
|
81
|
+
lastMinute(t) {
|
|
82
|
+
return this.range(t)[1];
|
|
83
|
+
}
|
|
84
|
+
range(t) {
|
|
85
|
+
const [i, s] = this.limitRange(this.min, this.max, t);
|
|
86
|
+
return [i.getMinutes(), s.getMinutes()];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export {
|
|
90
|
+
S as MinutesService
|
|
91
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@progress/kendo-date-math"),M=require("../../utils.js"),r=require("../utils.js"),c=60,S=n=>t=>t%n,u=S(c),x=(n,t)=>s=>u(n+s*t),m=(n,t)=>u(c+n-t),g=n=>(t,s)=>!s||t.getMinutes()===s.getMinutes()&&t.getHours()===s.getHours()?t:r.setSeconds(t,n),p=g(0),I=g(c-1);class L{constructor(t){this.intl=t,this.toListItem=null,this.min=null,this.max=null,this.step=0,this.insertUndividedMax=!1}apply(t,s){return r.setSeconds(t,s.getSeconds())}configure(t){const{insertUndividedMax:s=this.insertUndividedMax,min:i=this.min,max:o=this.max,part:e,step:h=this.step}=t;this.insertUndividedMax=s,this.toListItem=l=>{const d=r.setSeconds(M.MIDNIGHT_DATE,l);return{text:this.intl.formatDate(d,e.pattern),value:d}},this.min=i,this.max=o,this.step=h}data(t){const[s]=this.range(t),i=x(s,this.step),o=h=>this.toListItem&&this.toListItem(i(h)),e=r.range(0,this.countFromMin(t)).map(o);return this.addLast(e),t&&this.addMissing(e,t),e}isRangeChanged(t,s){return this.min!==null&&this.max!==null&&(!a.isEqual(this.min,t)||!a.isEqual(this.max,s))}limitRange(t,s,i){return[p(t,i),I(s,i)]}total(t){const s=this.insertUndividedMax&&this.isLastMissing(t)?1:0,i=this.isMissing(t)?1:0;return this.countFromMin(t)+i+s}selectedIndex(t){return Math.ceil(this.divideByStep(t))}valueInList(t){return t?this.insertUndividedMax&&this.lastSecond(t)===t.getSeconds()||!this.isMissing(t):!0}divideByStep(t){return m(t.getSeconds(),this.min.getSeconds())/this.step}addLast(t,s){return this.insertUndividedMax&&this.isLastMissing(s)&&this.toListItem&&t.push(this.toListItem(this.lastSecond(s))),t}addMissing(t,s){if(this.valueInList(s))return t;if(this.toListItem){const i=this.toListItem(s.getSeconds());t.splice(this.selectedIndex(s),0,i)}return t}countFromMin(t){const[s,i]=this.range(t);return Math.floor(m(i,s)/this.step)+1}isMissing(t){return t?this.selectedIndex(t)!==this.divideByStep(t):!1}isLastMissing(t){return this.max!==null&&this.isMissing(r.setSeconds(this.max,this.lastSecond(t)))}lastSecond(t){return this.range(t)[1]}range(t){const[s,i]=this.limitRange(this.min,this.max,t);return[s.getSeconds(),i.getSeconds()]}}exports.SecondsService=L;
|