@mantine/dates 3.5.2 → 3.6.0-alpha.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/cjs/components/TimeInput/TimeInput.js +88 -32
- package/cjs/components/TimeInput/TimeInput.js.map +1 -1
- package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js +80 -0
- package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -0
- package/cjs/components/{TimeInput → TimeInputBase}/TimeField/TimeField.js +8 -5
- package/cjs/components/TimeInputBase/TimeField/TimeField.js.map +1 -0
- package/cjs/components/{TimeInput/TimeField/TimeField.styles.js → TimeInputBase/TimeInputBase.styles.js} +8 -2
- package/cjs/components/TimeInputBase/TimeInputBase.styles.js.map +1 -0
- package/cjs/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js +24 -0
- package/cjs/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js.map +1 -0
- package/cjs/components/{TimeInput → TimeInputBase}/create-time-handler/create-time-handler.js +1 -1
- package/cjs/components/TimeInputBase/create-time-handler/create-time-handler.js.map +1 -0
- package/cjs/components/TimeInputBase/get-date/get-date.js +23 -0
- package/cjs/components/TimeInputBase/get-date/get-date.js.map +1 -0
- package/cjs/components/{TimeInput → TimeInputBase}/get-time-values/get-time-value.js +3 -3
- package/cjs/components/TimeInputBase/get-time-values/get-time-value.js.map +1 -0
- package/cjs/components/{TimeInput → TimeInputBase}/pad-time/pad-time.js +2 -1
- package/cjs/components/TimeInputBase/pad-time/pad-time.js.map +1 -0
- package/cjs/components/TimeRangeInput/TimeRangeInput.js +147 -46
- package/cjs/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
- package/esm/components/TimeInput/TimeInput.js +91 -34
- package/esm/components/TimeInput/TimeInput.js.map +1 -1
- package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js +72 -0
- package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -0
- package/esm/components/{TimeInput → TimeInputBase}/TimeField/TimeField.js +8 -5
- package/esm/components/TimeInputBase/TimeField/TimeField.js.map +1 -0
- package/esm/components/{TimeInput/TimeField/TimeField.styles.js → TimeInputBase/TimeInputBase.styles.js} +8 -2
- package/esm/components/TimeInputBase/TimeInputBase.styles.js.map +1 -0
- package/esm/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js +20 -0
- package/esm/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js.map +1 -0
- package/esm/components/{TimeInput → TimeInputBase}/create-time-handler/create-time-handler.js +1 -1
- package/esm/components/TimeInputBase/create-time-handler/create-time-handler.js.map +1 -0
- package/esm/components/TimeInputBase/get-date/get-date.js +15 -0
- package/esm/components/TimeInputBase/get-date/get-date.js.map +1 -0
- package/esm/components/{TimeInput → TimeInputBase}/get-time-values/get-time-value.js +3 -3
- package/esm/components/TimeInputBase/get-time-values/get-time-value.js.map +1 -0
- package/esm/components/TimeInputBase/pad-time/pad-time.js +7 -0
- package/esm/components/TimeInputBase/pad-time/pad-time.js.map +1 -0
- package/esm/components/TimeRangeInput/TimeRangeInput.js +150 -48
- package/esm/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
- package/lib/components/TimeInput/TimeInput.d.ts +12 -0
- package/lib/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts +13 -0
- package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts.map +1 -0
- package/lib/components/{TimeInput → TimeInputBase}/TimeField/TimeField.d.ts +0 -0
- package/lib/components/TimeInputBase/TimeField/TimeField.d.ts.map +1 -0
- package/lib/components/{TimeInput/TimeField/TimeField.styles.d.ts → TimeInputBase/TimeInputBase.styles.d.ts} +4 -3
- package/lib/components/TimeInputBase/TimeInputBase.styles.d.ts.map +1 -0
- package/lib/components/TimeInputBase/create-amPm-handler/create-amPm-handler.d.ts +8 -0
- package/lib/components/TimeInputBase/create-amPm-handler/create-amPm-handler.d.ts.map +1 -0
- package/lib/components/{TimeInput → TimeInputBase}/create-time-handler/create-time-handler.d.ts +0 -0
- package/lib/components/TimeInputBase/create-time-handler/create-time-handler.d.ts.map +1 -0
- package/lib/components/TimeInputBase/get-date/get-date.d.ts +2 -0
- package/lib/components/TimeInputBase/get-date/get-date.d.ts.map +1 -0
- package/lib/components/{TimeInput → TimeInputBase}/get-time-values/get-time-value.d.ts +0 -0
- package/lib/components/TimeInputBase/get-time-values/get-time-value.d.ts.map +1 -0
- package/lib/components/TimeInputBase/pad-time/pad-time.d.ts +2 -0
- package/lib/components/TimeInputBase/pad-time/pad-time.d.ts.map +1 -0
- package/lib/components/TimeRangeInput/TimeRangeInput.d.ts +12 -0
- package/lib/components/TimeRangeInput/TimeRangeInput.d.ts.map +1 -1
- package/package.json +3 -3
- package/cjs/components/TimeInput/TimeField/TimeField.js.map +0 -1
- package/cjs/components/TimeInput/TimeField/TimeField.styles.js.map +0 -1
- package/cjs/components/TimeInput/create-time-handler/create-time-handler.js.map +0 -1
- package/cjs/components/TimeInput/get-time-values/get-time-value.js.map +0 -1
- package/cjs/components/TimeInput/pad-time/pad-time.js.map +0 -1
- package/esm/components/TimeInput/TimeField/TimeField.js.map +0 -1
- package/esm/components/TimeInput/TimeField/TimeField.styles.js.map +0 -1
- package/esm/components/TimeInput/create-time-handler/create-time-handler.js.map +0 -1
- package/esm/components/TimeInput/get-time-values/get-time-value.js.map +0 -1
- package/esm/components/TimeInput/pad-time/pad-time.js +0 -6
- package/esm/components/TimeInput/pad-time/pad-time.js.map +0 -1
- package/lib/components/TimeInput/TimeField/TimeField.d.ts.map +0 -1
- package/lib/components/TimeInput/TimeField/TimeField.styles.d.ts.map +0 -1
- package/lib/components/TimeInput/create-time-handler/create-time-handler.d.ts.map +0 -1
- package/lib/components/TimeInput/get-time-values/get-time-value.d.ts.map +0 -1
- package/lib/components/TimeInput/pad-time/pad-time.d.ts +0 -2
- package/lib/components/TimeInput/pad-time/pad-time.d.ts.map +0 -1
|
@@ -5,16 +5,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var core = require('@mantine/core');
|
|
7
7
|
var hooks = require('@mantine/hooks');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var getTimeValue = require('../TimeInput/get-time-values/get-time-value.js');
|
|
8
|
+
var TimeField = require('../TimeInputBase/TimeField/TimeField.js');
|
|
9
|
+
var createTimeHandler = require('../TimeInputBase/create-time-handler/create-time-handler.js');
|
|
10
|
+
var getTimeValue = require('../TimeInputBase/get-time-values/get-time-value.js');
|
|
12
11
|
var TimeRangeInput_styles = require('./TimeRangeInput.styles.js');
|
|
12
|
+
var padTime = require('../TimeInputBase/pad-time/pad-time.js');
|
|
13
|
+
var AmPmInput = require('../TimeInputBase/AmPmInput/AmPmInput.js');
|
|
14
|
+
var createAmPmHandler = require('../TimeInputBase/create-amPm-handler/create-amPm-handler.js');
|
|
15
|
+
var getDate = require('../TimeInputBase/get-date/get-date.js');
|
|
13
16
|
|
|
14
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
15
18
|
|
|
16
19
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
17
|
-
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
18
20
|
|
|
19
21
|
var __defProp = Object.defineProperty;
|
|
20
22
|
var __defProps = Object.defineProperties;
|
|
@@ -47,6 +49,13 @@ var __objRest = (source, exclude) => {
|
|
|
47
49
|
}
|
|
48
50
|
return target;
|
|
49
51
|
};
|
|
52
|
+
const RIGHT_SECTION_WIDTH = {
|
|
53
|
+
xs: 24,
|
|
54
|
+
sm: 30,
|
|
55
|
+
md: 34,
|
|
56
|
+
lg: 40,
|
|
57
|
+
xl: 44
|
|
58
|
+
};
|
|
50
59
|
const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
51
60
|
var _b = _a, {
|
|
52
61
|
required,
|
|
@@ -64,10 +73,16 @@ const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
|
64
73
|
defaultValue,
|
|
65
74
|
onChange,
|
|
66
75
|
withSeconds = false,
|
|
76
|
+
clearable = false,
|
|
77
|
+
clearButtonLabel,
|
|
78
|
+
format = "24",
|
|
67
79
|
name,
|
|
68
80
|
hoursLabel,
|
|
69
81
|
minutesLabel,
|
|
70
82
|
secondsLabel,
|
|
83
|
+
amPmLabel,
|
|
84
|
+
timePlaceholder = "--",
|
|
85
|
+
amPmPlaceholder = "am",
|
|
71
86
|
labelSeparator = "\u2013",
|
|
72
87
|
disabled = false,
|
|
73
88
|
sx
|
|
@@ -87,81 +102,130 @@ const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
|
87
102
|
"defaultValue",
|
|
88
103
|
"onChange",
|
|
89
104
|
"withSeconds",
|
|
105
|
+
"clearable",
|
|
106
|
+
"clearButtonLabel",
|
|
107
|
+
"format",
|
|
90
108
|
"name",
|
|
91
109
|
"hoursLabel",
|
|
92
110
|
"minutesLabel",
|
|
93
111
|
"secondsLabel",
|
|
112
|
+
"amPmLabel",
|
|
113
|
+
"timePlaceholder",
|
|
114
|
+
"amPmPlaceholder",
|
|
94
115
|
"labelSeparator",
|
|
95
116
|
"disabled",
|
|
96
117
|
"sx"
|
|
97
118
|
]);
|
|
98
|
-
const { classes, cx } = TimeRangeInput_styles['default']({ size }, { classNames, styles, name: "TimeRangeInput" });
|
|
119
|
+
const { classes, cx, theme } = TimeRangeInput_styles['default']({ size }, { classNames, styles, name: "TimeRangeInput" });
|
|
99
120
|
const { margins, rest } = core.extractMargins(others);
|
|
100
121
|
const uuid = hooks.useUuid(id);
|
|
101
|
-
const fromDate = new Date();
|
|
102
|
-
const toDate = new Date(new Date().valueOf() + 1e3);
|
|
103
|
-
const [_value, handleChange] = hooks.useUncontrolled({
|
|
104
|
-
value,
|
|
105
|
-
defaultValue,
|
|
106
|
-
finalValue: [fromDate, toDate],
|
|
107
|
-
rule: (val) => val && val.length === 2 && val.every((v) => v instanceof Date),
|
|
108
|
-
onChange
|
|
109
|
-
});
|
|
110
122
|
const hoursRef = React.useRef([]);
|
|
111
123
|
const minutesRef = React.useRef([]);
|
|
112
124
|
const secondsRef = React.useRef([]);
|
|
113
|
-
const
|
|
114
|
-
const [
|
|
125
|
+
const formatsRef = React.useRef([]);
|
|
126
|
+
const [fromTime, setFromTime] = React.useState(getTimeValue.getTimeValues(value ? value[0] : defaultValue ? defaultValue[0] : void 0));
|
|
127
|
+
const [toTime, setToTime] = React.useState(getTimeValue.getTimeValues(value ? value[1] : defaultValue ? defaultValue[1] : void 0));
|
|
128
|
+
const [fromAmPm, setFromAmPm] = React.useState("am");
|
|
129
|
+
const [toAmPm, setToAmPm] = React.useState("am");
|
|
115
130
|
const [selectedFieldIndex, setSelectedFieldIndex] = React.useState(0);
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
131
|
+
const [_value, setValue] = React.useState(value != null ? value : defaultValue);
|
|
132
|
+
React.useEffect(() => {
|
|
133
|
+
setValue([
|
|
134
|
+
getDate.getDate(fromTime.hours, fromTime.minutes, fromTime.seconds, format, fromAmPm),
|
|
135
|
+
getDate.getDate(toTime.hours, toTime.minutes, toTime.seconds, format, toAmPm)
|
|
136
|
+
]);
|
|
137
|
+
}, [
|
|
138
|
+
fromTime.hours,
|
|
139
|
+
fromTime.minutes,
|
|
140
|
+
fromTime.seconds,
|
|
141
|
+
toTime.hours,
|
|
142
|
+
toTime.minutes,
|
|
143
|
+
toTime.seconds,
|
|
144
|
+
format,
|
|
145
|
+
fromAmPm,
|
|
146
|
+
toAmPm
|
|
147
|
+
]);
|
|
148
|
+
React.useEffect(() => {
|
|
149
|
+
if (format === "12" && (_value[0] || _value[1])) {
|
|
150
|
+
setFromAmPm(parseInt(fromTime.hours, 10) >= 12 ? "pm" : "am");
|
|
151
|
+
setToAmPm(parseInt(toTime.hours, 10) >= 12 ? "pm" : "am");
|
|
152
|
+
}
|
|
153
|
+
}, [format]);
|
|
120
154
|
const setTime = (cb) => {
|
|
121
155
|
selectedFieldIndex === 0 ? setFromTime(cb) : setToTime(cb);
|
|
122
156
|
};
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
157
|
+
const nextMinuteRef = () => {
|
|
158
|
+
if (withSeconds) {
|
|
159
|
+
return secondsRef.current[selectedFieldIndex];
|
|
160
|
+
}
|
|
161
|
+
if (format === "12") {
|
|
162
|
+
return formatsRef.current[selectedFieldIndex];
|
|
163
|
+
}
|
|
164
|
+
if (format === "24" && selectedFieldIndex === 0) {
|
|
165
|
+
return hoursRef.current[1];
|
|
166
|
+
}
|
|
167
|
+
return void 0;
|
|
128
168
|
};
|
|
129
169
|
const handleHoursChange = createTimeHandler.createTimeHandler({
|
|
130
170
|
onChange: (val) => {
|
|
131
|
-
setTime((current) => __spreadProps(__spreadValues({}, current), { hours: val }));
|
|
132
|
-
handleChange(constructDayjsValue("hours", val));
|
|
171
|
+
setTime((current) => __spreadProps(__spreadValues({}, current), { hours: padTime.padTime(val) }));
|
|
133
172
|
},
|
|
134
173
|
min: 0,
|
|
135
|
-
max: 23,
|
|
136
|
-
maxValue: 2,
|
|
174
|
+
max: format === "12" ? 11 : 23,
|
|
175
|
+
maxValue: format === "12" ? 1 : 2,
|
|
137
176
|
nextRef: {
|
|
138
177
|
current: minutesRef.current[selectedFieldIndex]
|
|
139
178
|
}
|
|
140
179
|
});
|
|
141
180
|
const handleMinutesChange = createTimeHandler.createTimeHandler({
|
|
142
181
|
onChange: (val) => {
|
|
143
|
-
setTime((current) => __spreadProps(__spreadValues({}, current), { minutes: val }));
|
|
144
|
-
handleChange(constructDayjsValue("minutes", val));
|
|
182
|
+
setTime((current) => __spreadProps(__spreadValues({}, current), { minutes: padTime.padTime(val) }));
|
|
145
183
|
},
|
|
146
184
|
min: 0,
|
|
147
185
|
max: 59,
|
|
148
186
|
maxValue: 5,
|
|
149
187
|
nextRef: {
|
|
150
|
-
current:
|
|
188
|
+
current: nextMinuteRef()
|
|
151
189
|
}
|
|
152
190
|
});
|
|
153
191
|
const handleSecondsChange = createTimeHandler.createTimeHandler({
|
|
154
192
|
onChange: (val) => {
|
|
155
|
-
setTime((current) => __spreadProps(__spreadValues({}, current), { seconds: val }));
|
|
156
|
-
handleChange(constructDayjsValue("seconds", val));
|
|
193
|
+
setTime((current) => __spreadProps(__spreadValues({}, current), { seconds: padTime.padTime(val) }));
|
|
157
194
|
},
|
|
158
195
|
min: 0,
|
|
159
196
|
max: 59,
|
|
160
197
|
maxValue: 5,
|
|
198
|
+
nextRef: {
|
|
199
|
+
current: format === "12" ? formatsRef.current[selectedFieldIndex] : format === "24" && selectedFieldIndex === 0 ? hoursRef.current[1] : void 0
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
const handleAmPmChange = createAmPmHandler.createAmPmHandler({
|
|
203
|
+
onChange: (val) => {
|
|
204
|
+
if (selectedFieldIndex === 0) {
|
|
205
|
+
setFromAmPm(val);
|
|
206
|
+
} else {
|
|
207
|
+
setToAmPm(val);
|
|
208
|
+
}
|
|
209
|
+
},
|
|
161
210
|
nextRef: {
|
|
162
211
|
current: selectedFieldIndex === 0 ? hoursRef.current[1] : void 0
|
|
163
212
|
}
|
|
164
213
|
});
|
|
214
|
+
const handleClear = () => {
|
|
215
|
+
var _a2;
|
|
216
|
+
setFromTime({ hours: "", minutes: "", seconds: "" });
|
|
217
|
+
setToTime({ hours: "", minutes: "", seconds: "" });
|
|
218
|
+
setSelectedFieldIndex(0);
|
|
219
|
+
setFromAmPm("");
|
|
220
|
+
setToAmPm("");
|
|
221
|
+
(_a2 = hoursRef.current[0]) == null ? void 0 : _a2.focus();
|
|
222
|
+
};
|
|
223
|
+
const rightSection = clearable && _value.filter((item) => Boolean(item)).length > 0 ? /* @__PURE__ */ React__default.createElement(core.CloseButton, {
|
|
224
|
+
variant: "transparent",
|
|
225
|
+
"aria-label": clearButtonLabel,
|
|
226
|
+
onClick: handleClear,
|
|
227
|
+
size
|
|
228
|
+
}) : null;
|
|
165
229
|
return /* @__PURE__ */ React__default.createElement(core.InputWrapper, __spreadValues(__spreadValues({
|
|
166
230
|
required,
|
|
167
231
|
label,
|
|
@@ -188,7 +252,9 @@ const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
|
188
252
|
className: cx({ [classes.disabled]: disabled }),
|
|
189
253
|
classNames,
|
|
190
254
|
styles,
|
|
191
|
-
disabled
|
|
255
|
+
disabled,
|
|
256
|
+
rightSection,
|
|
257
|
+
rightSectionWidth: theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })
|
|
192
258
|
}, rest), /* @__PURE__ */ React__default.createElement("div", {
|
|
193
259
|
className: classes.inputWrapper
|
|
194
260
|
}, /* @__PURE__ */ React__default.createElement(TimeField.TimeField, {
|
|
@@ -197,12 +263,13 @@ const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
|
197
263
|
}, ref),
|
|
198
264
|
value: fromTime.hours,
|
|
199
265
|
onChange: handleHoursChange,
|
|
200
|
-
setValue: (val) =>
|
|
266
|
+
setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { hours: val })),
|
|
201
267
|
id: uuid,
|
|
202
268
|
className: classes.timeField,
|
|
203
269
|
withSeparator: true,
|
|
204
270
|
size,
|
|
205
|
-
max: 23,
|
|
271
|
+
max: format === "12" ? 11 : 23,
|
|
272
|
+
placeholder: timePlaceholder,
|
|
206
273
|
"aria-label": `from ${hoursLabel}`,
|
|
207
274
|
disabled,
|
|
208
275
|
onFocus: () => setSelectedFieldIndex(0)
|
|
@@ -212,11 +279,12 @@ const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
|
212
279
|
},
|
|
213
280
|
value: fromTime.minutes,
|
|
214
281
|
onChange: handleMinutesChange,
|
|
215
|
-
setValue: (val) =>
|
|
282
|
+
setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { minutes: val })),
|
|
216
283
|
className: classes.timeField,
|
|
217
284
|
withSeparator: withSeconds,
|
|
218
285
|
size,
|
|
219
286
|
max: 59,
|
|
287
|
+
placeholder: timePlaceholder,
|
|
220
288
|
"aria-label": `from ${minutesLabel}`,
|
|
221
289
|
disabled,
|
|
222
290
|
onFocus: () => setSelectedFieldIndex(0)
|
|
@@ -226,28 +294,46 @@ const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
|
226
294
|
},
|
|
227
295
|
value: fromTime.seconds,
|
|
228
296
|
onChange: handleSecondsChange,
|
|
229
|
-
setValue: (val) =>
|
|
297
|
+
setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { seconds: val })),
|
|
230
298
|
className: classes.timeField,
|
|
231
299
|
size,
|
|
232
300
|
max: 59,
|
|
301
|
+
placeholder: timePlaceholder,
|
|
233
302
|
"aria-label": `from ${secondsLabel}`,
|
|
234
303
|
disabled,
|
|
235
304
|
onFocus: () => setSelectedFieldIndex(0)
|
|
305
|
+
}), format === "12" && /* @__PURE__ */ React__default.createElement(AmPmInput.AmPmInput, {
|
|
306
|
+
ref: (node) => {
|
|
307
|
+
formatsRef.current[0] = node;
|
|
308
|
+
},
|
|
309
|
+
value: fromAmPm,
|
|
310
|
+
onChange: handleAmPmChange,
|
|
311
|
+
setValue: (val) => {
|
|
312
|
+
setFromAmPm(val);
|
|
313
|
+
},
|
|
314
|
+
placeholder: amPmPlaceholder,
|
|
315
|
+
onFocus: () => setSelectedFieldIndex(0),
|
|
316
|
+
"aria-label": `from ${amPmLabel}`,
|
|
317
|
+
disabled
|
|
236
318
|
}), /* @__PURE__ */ React__default.createElement("span", {
|
|
237
|
-
className: classes.separator
|
|
319
|
+
className: classes.separator,
|
|
320
|
+
style: {
|
|
321
|
+
color: (toTime == null ? void 0 : toTime.hours) ? "inherit" : theme.colorScheme === "dark" ? theme.colors.dark[2] : theme.colors.gray[7]
|
|
322
|
+
}
|
|
238
323
|
}, labelSeparator), /* @__PURE__ */ React__default.createElement("div", {
|
|
239
324
|
className: classes.inputWrapper
|
|
240
325
|
}, /* @__PURE__ */ React__default.createElement(TimeField.TimeField, {
|
|
241
326
|
ref: (node) => {
|
|
242
327
|
hoursRef.current[1] = node;
|
|
243
328
|
},
|
|
244
|
-
value: toTime.hours,
|
|
329
|
+
value: format === "12" && parseInt(toTime.hours, 10) >= 12 ? padTime.padTime((parseInt(toTime.hours, 10) - 12).toString()) : toTime.hours,
|
|
245
330
|
onChange: handleHoursChange,
|
|
246
|
-
setValue: (val) =>
|
|
331
|
+
setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { hours: val })),
|
|
247
332
|
className: classes.timeField,
|
|
248
333
|
withSeparator: true,
|
|
249
334
|
size,
|
|
250
|
-
max: 23,
|
|
335
|
+
max: format === "12" ? 11 : 23,
|
|
336
|
+
placeholder: timePlaceholder,
|
|
251
337
|
"aria-label": `to ${hoursLabel}`,
|
|
252
338
|
disabled,
|
|
253
339
|
onFocus: () => setSelectedFieldIndex(1)
|
|
@@ -257,11 +343,12 @@ const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
|
257
343
|
},
|
|
258
344
|
value: toTime.minutes,
|
|
259
345
|
onChange: handleMinutesChange,
|
|
260
|
-
setValue: (val) =>
|
|
346
|
+
setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { minutes: val })),
|
|
261
347
|
className: classes.timeField,
|
|
262
348
|
withSeparator: withSeconds,
|
|
263
349
|
size,
|
|
264
350
|
max: 59,
|
|
351
|
+
placeholder: timePlaceholder,
|
|
265
352
|
"aria-label": `to ${minutesLabel}`,
|
|
266
353
|
disabled,
|
|
267
354
|
onFocus: () => setSelectedFieldIndex(1)
|
|
@@ -271,13 +358,27 @@ const TimeRangeInput = React.forwardRef((_a, ref) => {
|
|
|
271
358
|
},
|
|
272
359
|
value: toTime.seconds,
|
|
273
360
|
onChange: handleSecondsChange,
|
|
274
|
-
setValue: (val) =>
|
|
361
|
+
setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { seconds: val })),
|
|
275
362
|
className: classes.timeField,
|
|
276
363
|
size,
|
|
277
364
|
max: 59,
|
|
365
|
+
placeholder: timePlaceholder,
|
|
278
366
|
"aria-label": `to ${secondsLabel}`,
|
|
279
367
|
disabled,
|
|
280
368
|
onFocus: () => setSelectedFieldIndex(1)
|
|
369
|
+
}), format === "12" && /* @__PURE__ */ React__default.createElement(AmPmInput.AmPmInput, {
|
|
370
|
+
ref: (node) => {
|
|
371
|
+
formatsRef.current[1] = node;
|
|
372
|
+
},
|
|
373
|
+
value: toAmPm,
|
|
374
|
+
onChange: handleAmPmChange,
|
|
375
|
+
setValue: (val) => {
|
|
376
|
+
setToAmPm(val);
|
|
377
|
+
},
|
|
378
|
+
placeholder: amPmPlaceholder,
|
|
379
|
+
onFocus: () => setSelectedFieldIndex(1),
|
|
380
|
+
"aria-label": `to ${amPmLabel}`,
|
|
381
|
+
disabled
|
|
281
382
|
})), name && /* @__PURE__ */ React__default.createElement("input", {
|
|
282
383
|
type: "hidden",
|
|
283
384
|
name: `${name}-from`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeRangeInput.js","sources":["../../../src/components/TimeRangeInput/TimeRangeInput.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef } from 'react';\nimport {\n InputBaseProps,\n InputWrapperBaseProps,\n InputStylesNames,\n InputWrapperStylesNames,\n DefaultProps,\n Input,\n InputWrapper,\n MantineSize,\n ClassNames,\n extractMargins,\n} from '@mantine/core';\nimport { useMergedRef, useUncontrolled, useDidUpdate, useUuid } from '@mantine/hooks';\nimport dayjs, { UnitType } from 'dayjs';\nimport { TimeField } from '../TimeInput/TimeField/TimeField';\nimport { createTimeHandler } from '../TimeInput/create-time-handler/create-time-handler';\nimport { getTimeValues } from '../TimeInput/get-time-values/get-time-value';\nimport useStyles from './TimeRangeInput.styles';\n\nexport type TimeRangeInputStylesNames =\n | Exclude<ClassNames<typeof useStyles>, 'disabled'>\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface TimeRangeInputProps\n extends DefaultProps<TimeRangeInputStylesNames>,\n InputBaseProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange' | 'value' | 'defaultValue'> {\n /** Input size */\n size?: MantineSize;\n\n /** Controlled input value */\n value?: [Date | null, Date | null];\n\n /** Uncontrolled input default value */\n defaultValue?: [Date | null, Date | null];\n\n /** Controlled input onChange handler */\n onChange?(value: [Date, Date]): void;\n\n /** Display seconds input */\n withSeconds?: boolean;\n\n /** Uncontrolled input name */\n name?: string;\n\n /** aria-label for hours input */\n hoursLabel?: string;\n\n /** aria-label for minutes input */\n minutesLabel?: string;\n\n /** aria-label for seconds input */\n secondsLabel?: string;\n\n /** Disable field */\n disabled?: boolean;\n\n /** Separator between time inputs */\n labelSeparator?: string;\n}\n\nexport const TimeRangeInput = forwardRef<HTMLInputElement, TimeRangeInputProps>(\n (\n {\n required,\n label,\n error,\n description,\n className,\n style,\n size = 'sm',\n wrapperProps,\n classNames,\n styles,\n id,\n value,\n defaultValue,\n onChange,\n withSeconds = false,\n name,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n labelSeparator = '–',\n disabled = false,\n sx,\n ...others\n }: TimeRangeInputProps,\n ref\n ) => {\n const { classes, cx } = useStyles({ size }, { classNames, styles, name: 'TimeRangeInput' });\n const { margins, rest } = extractMargins(others);\n const uuid = useUuid(id);\n const fromDate = new Date();\n const toDate = new Date(new Date().valueOf() + 1000);\n\n const [_value, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [fromDate, toDate],\n rule: (val) => val && val.length === 2 && val.every((v) => v instanceof Date),\n onChange,\n });\n\n const hoursRef = useRef<HTMLInputElement[]>([]);\n const minutesRef = useRef<HTMLInputElement[]>([]);\n const secondsRef = useRef<HTMLInputElement[]>([]);\n const [fromTime, setFromTime] = useState(getTimeValues(_value[0]));\n const [toTime, setToTime] = useState(getTimeValues(_value[1]));\n const [selectedFieldIndex, setSelectedFieldIndex] = useState<0 | 1>(0);\n\n useDidUpdate(() => {\n setFromTime(getTimeValues(_value[0]));\n setToTime(getTimeValues(_value[1]));\n }, [_value]);\n\n const setTime = (\n cb: (val: ReturnType<typeof getTimeValues>) => ReturnType<typeof getTimeValues>\n ) => {\n selectedFieldIndex === 0 ? setFromTime(cb) : setToTime(cb);\n };\n\n const constructDayjsValue = (fieldName: UnitType, val: string) => {\n const index = selectedFieldIndex;\n const newTime = [..._value];\n newTime[index] = dayjs(newTime[index]).set(fieldName, parseInt(val, 10)).toDate();\n return newTime;\n };\n\n const handleHoursChange = createTimeHandler({\n onChange: (val) => {\n setTime((current) => ({ ...current, hours: val }));\n handleChange(constructDayjsValue('hours', val));\n },\n min: 0,\n max: 23,\n maxValue: 2,\n nextRef: {\n current: minutesRef.current[selectedFieldIndex],\n },\n });\n\n const handleMinutesChange = createTimeHandler({\n onChange: (val) => {\n setTime((current) => ({ ...current, minutes: val }));\n handleChange(constructDayjsValue('minutes', val));\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: {\n current:\n !withSeconds && selectedFieldIndex === 0\n ? hoursRef.current[1]\n : secondsRef.current[selectedFieldIndex],\n },\n });\n\n const handleSecondsChange = createTimeHandler({\n onChange: (val) => {\n setTime((current) => ({ ...current, seconds: val }));\n handleChange(constructDayjsValue('seconds', val));\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: {\n current: selectedFieldIndex === 0 ? hoursRef.current[1] : undefined,\n },\n });\n\n return (\n <InputWrapper\n required={required}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector=\"TimeRangeInput\"\n id={uuid}\n sx={sx}\n {...margins}\n {...wrapperProps}\n >\n <Input\n component=\"div\"\n __staticSelector=\"TimeRangeInput\"\n required={required}\n invalid={!!error}\n onClick={() => {\n setSelectedFieldIndex(0);\n hoursRef.current[selectedFieldIndex].focus();\n }}\n size={size}\n className={cx({ [classes.disabled]: disabled })}\n classNames={classNames}\n styles={styles}\n disabled={disabled}\n {...rest}\n >\n <div className={classes.inputWrapper}>\n <TimeField\n ref={useMergedRef((node: HTMLInputElement) => {\n hoursRef.current[0] = node;\n }, ref)}\n value={fromTime.hours}\n onChange={handleHoursChange}\n setValue={(val) => handleHoursChange(val, false)}\n id={uuid}\n className={classes.timeField}\n withSeparator\n size={size}\n max={23}\n aria-label={`from ${hoursLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(0)}\n />\n\n <TimeField\n ref={(node) => {\n minutesRef.current[0] = node;\n }}\n value={fromTime.minutes}\n onChange={handleMinutesChange}\n setValue={(val) => setFromTime((c) => ({ ...c, minutes: val }))}\n className={classes.timeField}\n withSeparator={withSeconds}\n size={size}\n max={59}\n aria-label={`from ${minutesLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(0)}\n />\n\n {withSeconds && (\n <TimeField\n ref={(node) => {\n secondsRef.current[0] = node;\n }}\n value={fromTime.seconds}\n onChange={handleSecondsChange}\n setValue={(val) => setFromTime((c) => ({ ...c, seconds: val }))}\n className={classes.timeField}\n size={size}\n max={59}\n aria-label={`from ${secondsLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(0)}\n />\n )}\n\n <span className={classes.separator}>{labelSeparator}</span>\n\n <div className={classes.inputWrapper}>\n <TimeField\n ref={(node) => {\n hoursRef.current[1] = node;\n }}\n value={toTime.hours}\n onChange={handleHoursChange}\n setValue={(val) => handleHoursChange(val, false)}\n className={classes.timeField}\n withSeparator\n size={size}\n max={23}\n aria-label={`to ${hoursLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(1)}\n />\n\n <TimeField\n ref={(node) => {\n minutesRef.current[1] = node;\n }}\n value={toTime.minutes}\n onChange={handleMinutesChange}\n setValue={(val) => setToTime((c) => ({ ...c, minutes: val }))}\n className={classes.timeField}\n withSeparator={withSeconds}\n size={size}\n max={59}\n aria-label={`to ${minutesLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(1)}\n />\n\n {withSeconds && (\n <TimeField\n ref={(node) => {\n secondsRef.current[1] = node;\n }}\n value={toTime.seconds}\n onChange={handleSecondsChange}\n setValue={(val) => setToTime((c) => ({ ...c, seconds: val }))}\n className={classes.timeField}\n size={size}\n max={59}\n aria-label={`to ${secondsLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(1)}\n />\n )}\n </div>\n {name && <input type=\"hidden\" name={`${name}-from`} value={_value[0].toISOString()} />}\n {name && <input type=\"hidden\" name={`${name}-to`} value={_value[1].toISOString()} />}\n </div>\n </Input>\n </InputWrapper>\n );\n }\n);\n\nTimeRangeInput.displayName = '@mantine/dates/TimeRangeInput';\n"],"names":["forwardRef","useStyles","extractMargins","useUuid","useUncontrolled","useRef","useState","getTimeValues","useDidUpdate","dayjs","createTimeHandler","React","InputWrapper","Input","TimeField","useMergedRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeRangeInput.js","sources":["../../../src/components/TimeRangeInput/TimeRangeInput.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef, useEffect } from 'react';\nimport {\n InputBaseProps,\n InputWrapperBaseProps,\n InputStylesNames,\n InputWrapperStylesNames,\n DefaultProps,\n Input,\n InputWrapper,\n MantineSize,\n ClassNames,\n CloseButton,\n extractMargins,\n} from '@mantine/core';\nimport { useMergedRef, useUuid } from '@mantine/hooks';\nimport { TimeField } from '../TimeInputBase/TimeField/TimeField';\nimport { createTimeHandler } from '../TimeInputBase/create-time-handler/create-time-handler';\nimport { getTimeValues } from '../TimeInputBase/get-time-values/get-time-value';\nimport useStyles from './TimeRangeInput.styles';\nimport { padTime } from '../TimeInputBase/pad-time/pad-time';\nimport { AmPmInput } from '../TimeInputBase/AmPmInput/AmPmInput';\nimport { createAmPmHandler } from '../TimeInputBase/create-amPm-handler/create-amPm-handler';\nimport { getDate } from '../TimeInputBase/get-date/get-date';\n\nexport type TimeRangeInputStylesNames =\n | Exclude<ClassNames<typeof useStyles>, 'disabled'>\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface TimeRangeInputProps\n extends DefaultProps<TimeRangeInputStylesNames>,\n InputBaseProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange' | 'value' | 'defaultValue'> {\n /** Input size */\n size?: MantineSize;\n\n /** Controlled input value */\n value?: [Date | null, Date | null];\n\n /** Uncontrolled input default value */\n defaultValue?: [Date | null, Date | null];\n\n /** Controlled input onChange handler */\n onChange?(value: [Date, Date]): void;\n\n /** Display seconds input */\n withSeconds?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** The time format */\n format?: '12' | '24';\n\n /** Uncontrolled input name */\n name?: string;\n\n /** aria-label for hours input */\n hoursLabel?: string;\n\n /** aria-label for minutes input */\n minutesLabel?: string;\n\n /** aria-label for seconds input */\n secondsLabel?: string;\n\n /** aria-label for am/pm input */\n amPmLabel?: string;\n\n /** placeholder for time input */\n timePlaceholder?: string;\n\n /** placeholder for am/pm input */\n amPmPlaceholder?: string;\n\n /** Disable field */\n disabled?: boolean;\n\n /** Separator between time inputs */\n labelSeparator?: string;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nexport const TimeRangeInput = forwardRef<HTMLInputElement, TimeRangeInputProps>(\n (\n {\n required,\n label,\n error,\n description,\n className,\n style,\n size = 'sm',\n wrapperProps,\n classNames,\n styles,\n id,\n value,\n defaultValue,\n onChange,\n withSeconds = false,\n clearable = false,\n clearButtonLabel,\n format = '24',\n name,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n amPmLabel,\n timePlaceholder = '--',\n amPmPlaceholder = 'am',\n labelSeparator = '–',\n disabled = false,\n sx,\n ...others\n }: TimeRangeInputProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { size },\n { classNames, styles, name: 'TimeRangeInput' }\n );\n const { margins, rest } = extractMargins(others);\n const uuid = useUuid(id);\n\n const hoursRef = useRef<HTMLInputElement[]>([]);\n const minutesRef = useRef<HTMLInputElement[]>([]);\n const secondsRef = useRef<HTMLInputElement[]>([]);\n const formatsRef = useRef<HTMLInputElement[]>([]);\n const [fromTime, setFromTime] = useState<{ hours: string; minutes: string; seconds: string }>(\n getTimeValues(value ? value[0] : undefined || defaultValue ? defaultValue[0] : undefined)\n );\n const [toTime, setToTime] = useState<{ hours: string; minutes: string; seconds: string }>(\n getTimeValues(value ? value[1] : undefined || defaultValue ? defaultValue[1] : undefined)\n );\n const [fromAmPm, setFromAmPm] = useState('am');\n const [toAmPm, setToAmPm] = useState('am');\n const [selectedFieldIndex, setSelectedFieldIndex] = useState<0 | 1>(0);\n const [_value, setValue] = useState<[Date, Date]>(value ?? defaultValue);\n\n useEffect(() => {\n setValue([\n getDate(fromTime.hours, fromTime.minutes, fromTime.seconds, format, fromAmPm),\n getDate(toTime.hours, toTime.minutes, toTime.seconds, format, toAmPm),\n ]);\n }, [\n fromTime.hours,\n fromTime.minutes,\n fromTime.seconds,\n toTime.hours,\n toTime.minutes,\n toTime.seconds,\n format,\n fromAmPm,\n toAmPm,\n ]);\n\n useEffect(() => {\n if (format === '12' && (_value[0] || _value[1])) {\n setFromAmPm(parseInt(fromTime.hours, 10) >= 12 ? 'pm' : 'am');\n setToAmPm(parseInt(toTime.hours, 10) >= 12 ? 'pm' : 'am');\n }\n }, [format]);\n\n const setTime = (\n cb: (val: ReturnType<typeof getTimeValues>) => ReturnType<typeof getTimeValues>\n ) => {\n selectedFieldIndex === 0 ? setFromTime(cb) : setToTime(cb);\n };\n\n const nextMinuteRef = () => {\n if (withSeconds) {\n return secondsRef.current[selectedFieldIndex];\n }\n\n if (format === '12') {\n return formatsRef.current[selectedFieldIndex];\n }\n\n if (format === '24' && selectedFieldIndex === 0) {\n return hoursRef.current[1];\n }\n\n return undefined;\n };\n\n const handleHoursChange = createTimeHandler({\n onChange: (val) => {\n setTime((current) => ({ ...current, hours: padTime(val) }));\n },\n min: 0,\n max: format === '12' ? 11 : 23,\n maxValue: format === '12' ? 1 : 2,\n nextRef: {\n current: minutesRef.current[selectedFieldIndex],\n },\n });\n\n const handleMinutesChange = createTimeHandler({\n onChange: (val) => {\n setTime((current) => ({ ...current, minutes: padTime(val) }));\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: {\n current: nextMinuteRef(),\n },\n });\n\n const handleSecondsChange = createTimeHandler({\n onChange: (val) => {\n setTime((current) => ({ ...current, seconds: padTime(val) }));\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: {\n current:\n format === '12'\n ? formatsRef.current[selectedFieldIndex]\n : format === '24' && selectedFieldIndex === 0\n ? hoursRef.current[1]\n : undefined,\n },\n });\n\n const handleAmPmChange = createAmPmHandler({\n onChange: (val) => {\n if (selectedFieldIndex === 0) {\n setFromAmPm(val);\n } else {\n setToAmPm(val);\n }\n },\n nextRef: {\n current: selectedFieldIndex === 0 ? hoursRef.current[1] : undefined,\n },\n });\n\n const handleClear = () => {\n setFromTime({ hours: '', minutes: '', seconds: '' });\n setToTime({ hours: '', minutes: '', seconds: '' });\n setSelectedFieldIndex(0);\n setFromAmPm('');\n setToAmPm('');\n hoursRef.current[0]?.focus();\n };\n\n const rightSection =\n clearable && _value.filter((item) => Boolean(item)).length > 0 ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={handleClear}\n size={size}\n />\n ) : null;\n\n return (\n <InputWrapper\n required={required}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector=\"TimeRangeInput\"\n id={uuid}\n sx={sx}\n {...margins}\n {...wrapperProps}\n >\n <Input\n component=\"div\"\n __staticSelector=\"TimeRangeInput\"\n required={required}\n invalid={!!error}\n onClick={() => {\n setSelectedFieldIndex(0);\n hoursRef.current[selectedFieldIndex].focus();\n }}\n size={size}\n className={cx({ [classes.disabled]: disabled })}\n classNames={classNames}\n styles={styles}\n disabled={disabled}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n {...rest}\n >\n <div className={classes.inputWrapper}>\n <TimeField\n ref={useMergedRef((node: HTMLInputElement) => {\n hoursRef.current[0] = node;\n }, ref)}\n value={fromTime.hours}\n onChange={handleHoursChange}\n setValue={(val) => setTime((current) => ({ ...current, hours: val }))}\n id={uuid}\n className={classes.timeField}\n withSeparator\n size={size}\n max={format === '12' ? 11 : 23}\n placeholder={timePlaceholder}\n aria-label={`from ${hoursLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(0)}\n />\n\n <TimeField\n ref={(node) => {\n minutesRef.current[0] = node;\n }}\n value={fromTime.minutes}\n onChange={handleMinutesChange}\n setValue={(val) => setTime((current) => ({ ...current, minutes: val }))}\n className={classes.timeField}\n withSeparator={withSeconds}\n size={size}\n max={59}\n placeholder={timePlaceholder}\n aria-label={`from ${minutesLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(0)}\n />\n\n {withSeconds && (\n <TimeField\n ref={(node) => {\n secondsRef.current[0] = node;\n }}\n value={fromTime.seconds}\n onChange={handleSecondsChange}\n setValue={(val) => setTime((current) => ({ ...current, seconds: val }))}\n className={classes.timeField}\n size={size}\n max={59}\n placeholder={timePlaceholder}\n aria-label={`from ${secondsLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(0)}\n />\n )}\n\n {format === '12' && (\n <AmPmInput\n ref={(node) => {\n formatsRef.current[0] = node;\n }}\n value={fromAmPm}\n onChange={handleAmPmChange}\n setValue={(val) => {\n setFromAmPm(val);\n }}\n placeholder={amPmPlaceholder}\n onFocus={() => setSelectedFieldIndex(0)}\n aria-label={`from ${amPmLabel}`}\n disabled={disabled}\n />\n )}\n\n <span\n className={classes.separator}\n style={{\n color: toTime?.hours\n ? 'inherit'\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[7],\n }}\n >\n {labelSeparator}\n </span>\n\n <div className={classes.inputWrapper}>\n <TimeField\n ref={(node) => {\n hoursRef.current[1] = node;\n }}\n value={\n format === '12' && parseInt(toTime.hours, 10) >= 12\n ? padTime((parseInt(toTime.hours, 10) - 12).toString())\n : toTime.hours\n }\n onChange={handleHoursChange}\n setValue={(val) => setTime((current) => ({ ...current, hours: val }))}\n className={classes.timeField}\n withSeparator\n size={size}\n max={format === '12' ? 11 : 23}\n placeholder={timePlaceholder}\n aria-label={`to ${hoursLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(1)}\n />\n\n <TimeField\n ref={(node) => {\n minutesRef.current[1] = node;\n }}\n value={toTime.minutes}\n onChange={handleMinutesChange}\n setValue={(val) => setTime((current) => ({ ...current, minutes: val }))}\n className={classes.timeField}\n withSeparator={withSeconds}\n size={size}\n max={59}\n placeholder={timePlaceholder}\n aria-label={`to ${minutesLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(1)}\n />\n\n {withSeconds && (\n <TimeField\n ref={(node) => {\n secondsRef.current[1] = node;\n }}\n value={toTime.seconds}\n onChange={handleSecondsChange}\n setValue={(val) => setTime((current) => ({ ...current, seconds: val }))}\n className={classes.timeField}\n size={size}\n max={59}\n placeholder={timePlaceholder}\n aria-label={`to ${secondsLabel}`}\n disabled={disabled}\n onFocus={() => setSelectedFieldIndex(1)}\n />\n )}\n\n {format === '12' && (\n <AmPmInput\n ref={(node) => {\n formatsRef.current[1] = node;\n }}\n value={toAmPm}\n onChange={handleAmPmChange}\n setValue={(val) => {\n setToAmPm(val);\n }}\n placeholder={amPmPlaceholder}\n onFocus={() => setSelectedFieldIndex(1)}\n aria-label={`to ${amPmLabel}`}\n disabled={disabled}\n />\n )}\n </div>\n {name && <input type=\"hidden\" name={`${name}-from`} value={_value[0].toISOString()} />}\n {name && <input type=\"hidden\" name={`${name}-to`} value={_value[1].toISOString()} />}\n </div>\n </Input>\n </InputWrapper>\n );\n }\n);\n\nTimeRangeInput.displayName = '@mantine/dates/TimeRangeInput';\n"],"names":["forwardRef","useStyles","extractMargins","useUuid","useRef","useState","getTimeValues","useEffect","getDate","createTimeHandler","padTime","createAmPmHandler","React","CloseButton","InputWrapper","Input","TimeField","useMergedRef","AmPmInput"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAiBF,MAAM,mBAAmB,GAAG;AAC5B,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACU,MAAC,cAAc,GAAGA,gBAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AACtD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,SAAS,GAAG,KAAK;AACrB,IAAI,gBAAgB;AACpB,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,eAAe,GAAG,IAAI;AAC1B,IAAI,eAAe,GAAG,IAAI;AAC1B,IAAI,cAAc,GAAG,QAAQ;AAC7B,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,EAAE;AACN,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,iBAAiB;AACrB,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,IAAI;AACR,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAGC,gCAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACrG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAGC,mBAAc,CAAC,MAAM,CAAC,CAAC;AACnD,EAAE,MAAM,IAAI,GAAGC,aAAO,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,QAAQ,GAAGC,YAAM,CAAC,EAAE,CAAC,CAAC;AAC9B,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,EAAE,CAAC,CAAC;AAChC,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,EAAE,CAAC,CAAC;AAChC,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,EAAE,CAAC,CAAC;AAChC,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGC,cAAQ,CAACC,0BAAa,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACtH,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGD,cAAQ,CAACC,0BAAa,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClH,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGD,cAAQ,CAAC,IAAI,CAAC,CAAC;AACjD,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,EAAE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAGA,cAAQ,CAAC,CAAC,CAAC,CAAC;AAClE,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC;AAC5E,EAAEE,eAAS,CAAC,MAAM;AAClB,IAAI,QAAQ,CAAC;AACb,MAAMC,eAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;AACnF,MAAMA,eAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3E,KAAK,CAAC,CAAC;AACP,GAAG,EAAE;AACL,IAAI,QAAQ,CAAC,KAAK;AAClB,IAAI,QAAQ,CAAC,OAAO;AACpB,IAAI,QAAQ,CAAC,OAAO;AACpB,IAAI,MAAM,CAAC,KAAK;AAChB,IAAI,MAAM,CAAC,OAAO;AAClB,IAAI,MAAM,CAAC,OAAO;AAClB,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,GAAG,CAAC,CAAC;AACL,EAAED,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,MAAM,KAAK,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AACrD,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACpE,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAChE,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK;AAC1B,IAAI,kBAAkB,KAAK,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;AAC/D,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,OAAO,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE;AACzB,MAAM,OAAO,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,kBAAkB,KAAK,CAAC,EAAE;AACrD,MAAM,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,KAAK,CAAC,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAGE,mCAAiB,CAAC;AAC9C,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK;AACvB,MAAM,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAEC,eAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChG,KAAK;AACL,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE;AAClC,IAAI,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;AACrC,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC;AACrD,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,mBAAmB,GAAGD,mCAAiB,CAAC;AAChD,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK;AACvB,MAAM,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAEC,eAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAClG,KAAK;AACL,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,aAAa,EAAE;AAC9B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,mBAAmB,GAAGD,mCAAiB,CAAC;AAChD,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK;AACvB,MAAM,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAEC,eAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAClG,KAAK;AACL,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,KAAK,IAAI,IAAI,kBAAkB,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACpJ,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,gBAAgB,GAAGC,mCAAiB,CAAC;AAC7C,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK;AACvB,MAAM,IAAI,kBAAkB,KAAK,CAAC,EAAE;AACpC,QAAQ,WAAW,CAAC,GAAG,CAAC,CAAC;AACzB,OAAO,MAAM;AACb,QAAQ,SAAS,CAAC,GAAG,CAAC,CAAC;AACvB,OAAO;AACP,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,kBAAkB,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACtE,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AACzD,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AACvD,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC7B,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AACpB,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;AAClB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC/D,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,mBAAmBC,cAAK,CAAC,aAAa,CAACC,gBAAW,EAAE;AACzI,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI;AACR,GAAG,CAAC,GAAG,IAAI,CAAC;AACZ,EAAE,uBAAuBD,cAAK,CAAC,aAAa,CAACE,iBAAY,EAAE,cAAc,CAAC,cAAc,CAAC;AACzF,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE;AACN,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkBF,cAAK,CAAC,aAAa,CAACG,UAAK,EAAE,cAAc,CAAC;AACxF,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK;AACpB,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;AACnD,KAAK;AACL,IAAI,IAAI;AACR,IAAI,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC;AACnD,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;AAC1E,GAAG,EAAE,IAAI,CAAC,kBAAkBH,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACvD,IAAI,SAAS,EAAE,OAAO,CAAC,YAAY;AACnC,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAACI,mBAAS,EAAE;AACpD,IAAI,GAAG,EAAEC,kBAAY,CAAC,CAAC,IAAI,KAAK;AAChC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACjC,KAAK,EAAE,GAAG,CAAC;AACX,IAAI,KAAK,EAAE,QAAQ,CAAC,KAAK;AACzB,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AACvG,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,IAAI;AACR,IAAI,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE;AAClC,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACtC,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC;AAC3C,GAAG,CAAC,kBAAkBL,cAAK,CAAC,aAAa,CAACI,mBAAS,EAAE;AACrD,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK;AACnB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,KAAK,EAAE,QAAQ,CAAC,OAAO;AAC3B,IAAI,QAAQ,EAAE,mBAAmB;AACjC,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AACzG,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,aAAa,EAAE,WAAW;AAC9B,IAAI,IAAI;AACR,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACxC,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC;AAC3C,GAAG,CAAC,EAAE,WAAW,oBAAoBJ,cAAK,CAAC,aAAa,CAACI,mBAAS,EAAE;AACpE,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK;AACnB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,KAAK,EAAE,QAAQ,CAAC,OAAO;AAC3B,IAAI,QAAQ,EAAE,mBAAmB;AACjC,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AACzG,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,IAAI;AACR,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACxC,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC;AAC3C,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,oBAAoBJ,cAAK,CAAC,aAAa,CAACM,mBAAS,EAAE;AACxE,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK;AACnB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,QAAQ,EAAE,gBAAgB;AAC9B,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK;AACvB,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;AACvB,KAAK;AACL,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC;AAC3C,IAAI,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACrC,IAAI,QAAQ;AACZ,GAAG,CAAC,kBAAkBN,cAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAClD,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,KAAK,EAAE;AACX,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,GAAG,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9I,KAAK;AACL,GAAG,EAAE,cAAc,CAAC,kBAAkBA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjE,IAAI,SAAS,EAAE,OAAO,CAAC,YAAY;AACnC,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAACI,mBAAS,EAAE;AACpD,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK;AACnB,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACjC,KAAK;AACL,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,GAAGN,eAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK;AACrI,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AACvG,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,IAAI;AACR,IAAI,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE;AAClC,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,YAAY,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACpC,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC;AAC3C,GAAG,CAAC,kBAAkBE,cAAK,CAAC,aAAa,CAACI,mBAAS,EAAE;AACrD,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK;AACnB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,KAAK,EAAE,MAAM,CAAC,OAAO;AACzB,IAAI,QAAQ,EAAE,mBAAmB;AACjC,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AACzG,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,aAAa,EAAE,WAAW;AAC9B,IAAI,IAAI;AACR,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACtC,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC;AAC3C,GAAG,CAAC,EAAE,WAAW,oBAAoBJ,cAAK,CAAC,aAAa,CAACI,mBAAS,EAAE;AACpE,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK;AACnB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,KAAK,EAAE,MAAM,CAAC,OAAO;AACzB,IAAI,QAAQ,EAAE,mBAAmB;AACjC,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AACzG,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,IAAI;AACR,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACtC,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC;AAC3C,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,oBAAoBJ,cAAK,CAAC,aAAa,CAACM,mBAAS,EAAE;AACxE,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK;AACnB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,QAAQ,EAAE,gBAAgB;AAC9B,IAAI,QAAQ,EAAE,CAAC,GAAG,KAAK;AACvB,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC;AAC3C,IAAI,YAAY,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACnC,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC,EAAE,IAAI,oBAAoBN,cAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAC5D,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;AACxB,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAClC,GAAG,CAAC,EAAE,IAAI,oBAAoBA,cAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAC3D,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC;AACtB,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAClC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,EAAE;AACH,cAAc,CAAC,WAAW,GAAG,+BAA+B;;;;"}
|