@salutejs/plasma-new-hope 0.337.0-canary.2184.17942080334.0 → 0.337.0-canary.2184.17969522274.0
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/Autocomplete/Autocomplete.css +2 -2
- package/cjs/components/Combobox/ComboboxNew/Combobox.css +2 -2
- package/cjs/components/DatePicker/RangeDate/RangeDate.css +2 -2
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
- package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -2
- package/cjs/components/InformationWrapper/InformationWrapper.css +2 -2
- package/cjs/components/InformationWrapper/ui/Label/Label.css +2 -2
- package/cjs/components/Note/Note.css +1 -1
- package/cjs/components/Note/Note.js +1 -1
- package/cjs/components/Note/Note.js.map +1 -1
- package/cjs/components/Note/variations/_size/base.js +1 -1
- package/cjs/components/Note/variations/_size/base.js.map +1 -1
- package/cjs/components/Note/variations/_size/{base_111wwzs.css → base_12cn7f7.css} +1 -1
- package/cjs/components/Pagination/Pagination.css +2 -2
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
- package/cjs/components/Range/Range.css +2 -2
- package/cjs/components/Select/Select.css +2 -2
- package/cjs/components/Select/ui/Target/Target.css +2 -2
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +2 -2
- package/cjs/components/Slider/Slider.css +2 -2
- package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +2 -2
- package/cjs/components/Table/Table.css +2 -2
- package/cjs/components/Table/ui/Cell/Cell.css +2 -2
- package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
- package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
- package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
- package/cjs/components/TextArea/ui/Hint/Hint.css +2 -2
- package/cjs/components/TextField/ui/Hint/Hint.css +2 -2
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +2 -2
- package/cjs/components/TimePicker/TimePicker.css +11 -7
- package/cjs/components/TimePicker/TimePicker.js +254 -6
- package/cjs/components/TimePicker/TimePicker.js.map +1 -1
- package/cjs/components/TimePicker/TimePicker.styles.js +29 -5
- package/cjs/components/TimePicker/TimePicker.styles.js.map +1 -1
- package/{es/components/TimePicker/TimePicker.styles_thn2wn.css → cjs/components/TimePicker/TimePicker.styles_dk6774.css} +8 -4
- package/cjs/components/TimePicker/TimePicker.tokens.js +5 -1
- package/cjs/components/TimePicker/TimePicker.tokens.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +5 -5
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles_uldg0s.css +2 -0
- package/cjs/index.css +12 -8
- package/emotion/cjs/components/Note/Note.js +1 -1
- package/emotion/cjs/components/Note/variations/_size/base.js +1 -1
- package/emotion/cjs/components/TimePicker/TimePicker.js +259 -6
- package/emotion/cjs/components/TimePicker/TimePicker.styles.js +39 -11
- package/emotion/cjs/components/TimePicker/TimePicker.tokens.js +5 -1
- package/emotion/cjs/components/Tooltip/Tooltip.styles.js +5 -5
- package/emotion/es/components/Note/Note.js +1 -1
- package/emotion/es/components/Note/variations/_size/base.js +1 -1
- package/emotion/es/components/TimePicker/TimePicker.js +261 -8
- package/emotion/es/components/TimePicker/TimePicker.styles.js +27 -11
- package/emotion/es/components/TimePicker/TimePicker.tokens.js +5 -1
- package/emotion/es/components/Tooltip/Tooltip.styles.js +5 -5
- package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
- package/es/components/Autocomplete/Autocomplete.css +2 -2
- package/es/components/Combobox/ComboboxNew/Combobox.css +2 -2
- package/es/components/DatePicker/RangeDate/RangeDate.css +2 -2
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
- package/es/components/DatePicker/SingleDate/SingleDate.css +2 -2
- package/es/components/InformationWrapper/InformationWrapper.css +2 -2
- package/es/components/InformationWrapper/ui/Label/Label.css +2 -2
- package/es/components/Note/Note.css +1 -1
- package/es/components/Note/Note.js +1 -1
- package/es/components/Note/Note.js.map +1 -1
- package/es/components/Note/variations/_size/base.js +1 -1
- package/es/components/Note/variations/_size/base.js.map +1 -1
- package/es/components/Note/variations/_size/{base_111wwzs.css → base_12cn7f7.css} +1 -1
- package/es/components/Pagination/Pagination.css +2 -2
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
- package/es/components/Range/Range.css +2 -2
- package/es/components/Select/Select.css +2 -2
- package/es/components/Select/ui/Target/Target.css +2 -2
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +2 -2
- package/es/components/Slider/Slider.css +2 -2
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +2 -2
- package/es/components/Table/Table.css +2 -2
- package/es/components/Table/ui/Cell/Cell.css +2 -2
- package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
- package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
- package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
- package/es/components/TextArea/ui/Hint/Hint.css +2 -2
- package/es/components/TextField/ui/Hint/Hint.css +2 -2
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +2 -2
- package/es/components/TimePicker/TimePicker.css +11 -7
- package/es/components/TimePicker/TimePicker.js +257 -9
- package/es/components/TimePicker/TimePicker.js.map +1 -1
- package/es/components/TimePicker/TimePicker.styles.js +26 -6
- package/es/components/TimePicker/TimePicker.styles.js.map +1 -1
- package/{cjs/components/TimePicker/TimePicker.styles_thn2wn.css → es/components/TimePicker/TimePicker.styles_dk6774.css} +8 -4
- package/es/components/TimePicker/TimePicker.tokens.js +5 -1
- package/es/components/TimePicker/TimePicker.tokens.js.map +1 -1
- package/es/components/Tooltip/Tooltip.styles.js +5 -5
- package/es/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/es/components/Tooltip/Tooltip.styles_uldg0s.css +2 -0
- package/es/index.css +12 -8
- package/package.json +2 -2
- package/styled-components/cjs/components/Note/Note.js +1 -1
- package/styled-components/cjs/components/Note/variations/_size/base.js +1 -1
- package/styled-components/cjs/components/TimePicker/TimePicker.js +259 -6
- package/styled-components/cjs/components/TimePicker/TimePicker.styles.js +60 -21
- package/styled-components/cjs/components/TimePicker/TimePicker.tokens.js +5 -1
- package/styled-components/cjs/components/Tooltip/Tooltip.styles.js +9 -9
- package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/styled-components/es/components/Note/Note.js +1 -1
- package/styled-components/es/components/Note/variations/_size/base.js +1 -1
- package/styled-components/es/components/TimePicker/TimePicker.js +261 -8
- package/styled-components/es/components/TimePicker/TimePicker.styles.js +48 -21
- package/styled-components/es/components/TimePicker/TimePicker.tokens.js +5 -1
- package/styled-components/es/components/Tooltip/Tooltip.styles.js +9 -9
- package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
- package/types/components/Note/Note.d.ts +4 -4
- package/types/components/Note/Note.d.ts.map +1 -1
- package/types/components/Note/Note.types.d.ts +2 -2
- package/types/components/Note/Note.types.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.styles.d.ts +5 -4
- package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.tokens.d.ts +4 -0
- package/types/components/TimePicker/TimePicker.tokens.d.ts.map +1 -1
- package/types/components/Tooltip/Tooltip.styles.d.ts.map +1 -1
- package/types/examples/components/Note/Note.d.ts +2 -2
- package/cjs/components/Tooltip/Tooltip.styles_1bh0sd0.css +0 -2
- package/es/components/Tooltip/Tooltip.styles_1bh0sd0.css +0 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray,
|
|
2
|
-
import React, { forwardRef, useRef, useState, useEffect } from 'react';
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, extends as _extends, defineProperty as _defineProperty, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { forwardRef, useRef, useState, useCallback, useEffect } from 'react';
|
|
3
3
|
import cls from 'classnames';
|
|
4
4
|
import { range, animateScrollTo, processTimeInput } from './utils/index.js';
|
|
5
|
-
import { StyledPopover, StyledTimePicker, base, StyledInput, StyledTimeColumn, StyledTimeItem } from './TimePicker.styles.js';
|
|
5
|
+
import { StyledPopover, StyledTimePicker, base, StyledInput, StyledTimeColumn, StyledTimeItem, StyledEmpty, CustomScrollbar, ScrollbarTrack, ScrollbarThumb } from './TimePicker.styles.js';
|
|
6
6
|
import { classes } from './TimePicker.tokens.js';
|
|
7
7
|
import { base as base$2 } from './variations/_size/base.js';
|
|
8
8
|
import { base as base$1 } from './variations/_view/base.js';
|
|
@@ -11,6 +11,7 @@ import { base as base$4 } from './variations/_readonly/base.js';
|
|
|
11
11
|
import { useKeyNavigation } from './hooks/useKeyboardNavigation.js';
|
|
12
12
|
import { getPlacements } from '../../utils/getPopoverPlacement.js';
|
|
13
13
|
|
|
14
|
+
var _StyledEmpty;
|
|
14
15
|
var _excluded = ["className", "opened", "value", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "hasRequiredIndicator", "placeholder", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "disabled", "readonly", "frame", "usePortal", "closeOnOverlayClick", "closeOnEsc", "offset", "stretched", "dropdownAlign", "dropdownWidth", "dropdownHeight", "columnsQuantity", "onToggle", "onFocus", "onChange"];
|
|
15
16
|
var timePickerRoot = function timePickerRoot(Root) {
|
|
16
17
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
@@ -65,6 +66,15 @@ var timePickerRoot = function timePickerRoot(Root) {
|
|
|
65
66
|
var minutesColumnRef = useRef(null);
|
|
66
67
|
var secondsColumnRef = useRef(null);
|
|
67
68
|
var timeItemRefs = useRef({});
|
|
69
|
+
var hoursScrollbarRef = useRef(null);
|
|
70
|
+
var minutesScrollbarRef = useRef(null);
|
|
71
|
+
var secondsScrollbarRef = useRef(null);
|
|
72
|
+
var hoursThumbRef = useRef(null);
|
|
73
|
+
var minutesThumbRef = useRef(null);
|
|
74
|
+
var secondsThumbRef = useRef(null);
|
|
75
|
+
var hoursHideTimeoutRef = useRef(null);
|
|
76
|
+
var minutesHideTimeoutRef = useRef(null);
|
|
77
|
+
var secondsHideTimeoutRef = useRef(null);
|
|
68
78
|
var _useState = useState(opened),
|
|
69
79
|
_useState2 = _slicedToArray(_useState, 2),
|
|
70
80
|
isInnerOpen = _useState2[0],
|
|
@@ -90,11 +100,156 @@ var timePickerRoot = function timePickerRoot(Root) {
|
|
|
90
100
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
91
101
|
gap = _useState10[0],
|
|
92
102
|
setGap = _useState10[1];
|
|
103
|
+
var _useState11 = useState({
|
|
104
|
+
isVisible: false,
|
|
105
|
+
thumbHeight: 0,
|
|
106
|
+
thumbPosition: 0,
|
|
107
|
+
isDragging: false
|
|
108
|
+
}),
|
|
109
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
110
|
+
hoursScrollbar = _useState12[0],
|
|
111
|
+
setHoursScrollbar = _useState12[1];
|
|
112
|
+
var _useState13 = useState({
|
|
113
|
+
isVisible: false,
|
|
114
|
+
thumbHeight: 0,
|
|
115
|
+
thumbPosition: 0,
|
|
116
|
+
isDragging: false
|
|
117
|
+
}),
|
|
118
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
119
|
+
minutesScrollbar = _useState14[0],
|
|
120
|
+
setMinutesScrollbar = _useState14[1];
|
|
121
|
+
var _useState15 = useState({
|
|
122
|
+
isVisible: false,
|
|
123
|
+
thumbHeight: 0,
|
|
124
|
+
thumbPosition: 0,
|
|
125
|
+
isDragging: false
|
|
126
|
+
}),
|
|
127
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
128
|
+
secondsScrollbar = _useState16[0],
|
|
129
|
+
setSecondsScrollbar = _useState16[1];
|
|
93
130
|
var viewValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerTime;
|
|
94
131
|
var format = columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm';
|
|
95
132
|
var hours = range(24);
|
|
96
133
|
var minutes = range(60);
|
|
97
134
|
var seconds = range(60);
|
|
135
|
+
var calculateScrollbar = useCallback(function (columnRef) {
|
|
136
|
+
if (!columnRef.current) return {
|
|
137
|
+
thumbHeight: 0,
|
|
138
|
+
thumbPosition: 0
|
|
139
|
+
};
|
|
140
|
+
var _columnRef$current = columnRef.current,
|
|
141
|
+
scrollTop = _columnRef$current.scrollTop,
|
|
142
|
+
scrollHeight = _columnRef$current.scrollHeight,
|
|
143
|
+
clientHeight = _columnRef$current.clientHeight;
|
|
144
|
+
var trackHeight = clientHeight;
|
|
145
|
+
var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, 20); // Минимальная высота 20px
|
|
146
|
+
var maxScroll = scrollHeight - clientHeight;
|
|
147
|
+
var thumbPosition = maxScroll > 0 ? scrollTop / maxScroll * (trackHeight - thumbHeight) : 0;
|
|
148
|
+
return {
|
|
149
|
+
thumbHeight: thumbHeight,
|
|
150
|
+
thumbPosition: thumbPosition
|
|
151
|
+
};
|
|
152
|
+
}, []);
|
|
153
|
+
var showScrollbarWithDelay = useCallback(function (setScrollbar, timeoutRef, columnRef) {
|
|
154
|
+
if (timeoutRef.current) {
|
|
155
|
+
clearTimeout(timeoutRef.current);
|
|
156
|
+
}
|
|
157
|
+
updateScrollbar(columnRef, setScrollbar, true);
|
|
158
|
+
timeoutRef.current = setTimeout(function () {
|
|
159
|
+
setScrollbar(function (prev) {
|
|
160
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
161
|
+
isVisible: false
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
timeoutRef.current = null;
|
|
165
|
+
}, 2000);
|
|
166
|
+
}, []);
|
|
167
|
+
var updateScrollbar = useCallback(function (columnRef, setScrollbar) {
|
|
168
|
+
var show = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
169
|
+
if (!columnRef.current) return;
|
|
170
|
+
var _calculateScrollbar = calculateScrollbar(columnRef),
|
|
171
|
+
thumbHeight = _calculateScrollbar.thumbHeight,
|
|
172
|
+
thumbPosition = _calculateScrollbar.thumbPosition;
|
|
173
|
+
setScrollbar(function (prev) {
|
|
174
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
175
|
+
thumbHeight: thumbHeight,
|
|
176
|
+
thumbPosition: thumbPosition,
|
|
177
|
+
isVisible: show || prev.isVisible
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}, [calculateScrollbar]);
|
|
181
|
+
var handleColumnScroll = useCallback(function (columnRef, setScrollbar, timeoutRef) {
|
|
182
|
+
showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
|
|
183
|
+
}, [showScrollbarWithDelay]);
|
|
184
|
+
var createScrollbarDragHandler = useCallback(function (columnRef, setScrollbar, timeoutRef) {
|
|
185
|
+
return function (e) {
|
|
186
|
+
e.preventDefault();
|
|
187
|
+
var thumb = e.currentTarget;
|
|
188
|
+
var track = thumb.parentElement;
|
|
189
|
+
if (!columnRef.current || !track) return;
|
|
190
|
+
if (timeoutRef.current) {
|
|
191
|
+
clearTimeout(timeoutRef.current);
|
|
192
|
+
timeoutRef.current = null;
|
|
193
|
+
}
|
|
194
|
+
var startY = e.clientY;
|
|
195
|
+
var startThumbPosition = parseFloat(thumb.style.top || '0');
|
|
196
|
+
var trackRect = track.getBoundingClientRect();
|
|
197
|
+
var trackHeight = trackRect.height;
|
|
198
|
+
var thumbHeight = thumb.offsetHeight;
|
|
199
|
+
var _columnRef$current2 = columnRef.current,
|
|
200
|
+
scrollHeight = _columnRef$current2.scrollHeight,
|
|
201
|
+
clientHeight = _columnRef$current2.clientHeight;
|
|
202
|
+
var maxScroll = scrollHeight - clientHeight;
|
|
203
|
+
var handleMouseMove = function handleMouseMove(moveEvent) {
|
|
204
|
+
var deltaY = moveEvent.clientY - startY;
|
|
205
|
+
var newThumbPosition = Math.max(0, Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY));
|
|
206
|
+
var scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);
|
|
207
|
+
var newScrollTop = scrollPercentage * maxScroll;
|
|
208
|
+
if (columnRef.current) {
|
|
209
|
+
columnRef.current.scrollTop = newScrollTop;
|
|
210
|
+
}
|
|
211
|
+
setScrollbar(function (prev) {
|
|
212
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
213
|
+
thumbPosition: newThumbPosition,
|
|
214
|
+
isDragging: true,
|
|
215
|
+
isVisible: true
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
var handleMouseUp = function handleMouseUp() {
|
|
220
|
+
document.removeEventListener('mousemove', handleMouseMove);
|
|
221
|
+
document.removeEventListener('mouseup', handleMouseUp);
|
|
222
|
+
setScrollbar(function (prev) {
|
|
223
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
224
|
+
isDragging: false
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
|
|
228
|
+
};
|
|
229
|
+
document.addEventListener('mousemove', handleMouseMove);
|
|
230
|
+
document.addEventListener('mouseup', handleMouseUp);
|
|
231
|
+
};
|
|
232
|
+
}, [showScrollbarWithDelay]);
|
|
233
|
+
useEffect(function () {
|
|
234
|
+
return function () {
|
|
235
|
+
[hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach(function (timeoutRef) {
|
|
236
|
+
if (timeoutRef.current) {
|
|
237
|
+
clearTimeout(timeoutRef.current);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
};
|
|
241
|
+
}, []);
|
|
242
|
+
useEffect(function () {
|
|
243
|
+
if (isInnerOpen) {
|
|
244
|
+
setTimeout(function () {
|
|
245
|
+
updateScrollbar(hoursColumnRef, setHoursScrollbar);
|
|
246
|
+
updateScrollbar(minutesColumnRef, setMinutesScrollbar);
|
|
247
|
+
if (columnsQuantity === 3) {
|
|
248
|
+
updateScrollbar(secondsColumnRef, setSecondsScrollbar);
|
|
249
|
+
}
|
|
250
|
+
}, 100);
|
|
251
|
+
}
|
|
252
|
+
}, [isInnerOpen, columnsQuantity, updateScrollbar]);
|
|
98
253
|
useEffect(function () {
|
|
99
254
|
if (viewValue) {
|
|
100
255
|
var timeString = viewValue;
|
|
@@ -139,12 +294,89 @@ var timePickerRoot = function timePickerRoot(Root) {
|
|
|
139
294
|
if (columnRef.current && index !== null) {
|
|
140
295
|
var scrollPosition = index * (itemHeight + gap);
|
|
141
296
|
animateScrollTo(columnRef.current, scrollPosition);
|
|
297
|
+
setTimeout(function () {
|
|
298
|
+
if (columnRef === hoursColumnRef) {
|
|
299
|
+
updateScrollbar(hoursColumnRef, setHoursScrollbar);
|
|
300
|
+
} else if (columnRef === minutesColumnRef) {
|
|
301
|
+
updateScrollbar(minutesColumnRef, setMinutesScrollbar);
|
|
302
|
+
} else if (columnRef === secondsColumnRef) {
|
|
303
|
+
updateScrollbar(secondsColumnRef, setSecondsScrollbar);
|
|
304
|
+
}
|
|
305
|
+
}, 300);
|
|
142
306
|
}
|
|
143
307
|
};
|
|
144
308
|
scrollToActiveItem(hoursColumnRef, activeTime.hours);
|
|
145
309
|
scrollToActiveItem(minutesColumnRef, activeTime.minutes);
|
|
146
310
|
scrollToActiveItem(secondsColumnRef, activeTime.seconds);
|
|
147
|
-
}, [activeTime, isInnerOpen, itemHeight]);
|
|
311
|
+
}, [activeTime, isInnerOpen, itemHeight, gap, updateScrollbar]);
|
|
312
|
+
useEffect(function () {
|
|
313
|
+
var hoursColumn = hoursColumnRef.current;
|
|
314
|
+
var minutesColumn = minutesColumnRef.current;
|
|
315
|
+
var secondsColumn = secondsColumnRef.current;
|
|
316
|
+
var handleHoursScroll = function handleHoursScroll() {
|
|
317
|
+
return handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);
|
|
318
|
+
};
|
|
319
|
+
var handleMinutesScroll = function handleMinutesScroll() {
|
|
320
|
+
return handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);
|
|
321
|
+
};
|
|
322
|
+
var handleSecondsScroll = function handleSecondsScroll() {
|
|
323
|
+
return handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);
|
|
324
|
+
};
|
|
325
|
+
if (hoursColumn) {
|
|
326
|
+
hoursColumn.addEventListener('scroll', handleHoursScroll);
|
|
327
|
+
}
|
|
328
|
+
if (minutesColumn) {
|
|
329
|
+
minutesColumn.addEventListener('scroll', handleMinutesScroll);
|
|
330
|
+
}
|
|
331
|
+
if (secondsColumn) {
|
|
332
|
+
secondsColumn.addEventListener('scroll', handleSecondsScroll);
|
|
333
|
+
}
|
|
334
|
+
return function () {
|
|
335
|
+
if (hoursColumn) {
|
|
336
|
+
hoursColumn.removeEventListener('scroll', handleHoursScroll);
|
|
337
|
+
}
|
|
338
|
+
if (minutesColumn) {
|
|
339
|
+
minutesColumn.removeEventListener('scroll', handleMinutesScroll);
|
|
340
|
+
}
|
|
341
|
+
if (secondsColumn) {
|
|
342
|
+
secondsColumn.removeEventListener('scroll', handleSecondsScroll);
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
}, [isInnerOpen, handleColumnScroll]);
|
|
346
|
+
useEffect(function () {
|
|
347
|
+
var hoursColumn = hoursColumnRef.current;
|
|
348
|
+
var minutesColumn = minutesColumnRef.current;
|
|
349
|
+
var secondsColumn = secondsColumnRef.current;
|
|
350
|
+
var handleHoursMouseEnter = function handleHoursMouseEnter() {
|
|
351
|
+
return showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);
|
|
352
|
+
};
|
|
353
|
+
var handleMinutesMouseEnter = function handleMinutesMouseEnter() {
|
|
354
|
+
return showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);
|
|
355
|
+
};
|
|
356
|
+
var handleSecondsMouseEnter = function handleSecondsMouseEnter() {
|
|
357
|
+
return showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);
|
|
358
|
+
};
|
|
359
|
+
if (hoursColumn) {
|
|
360
|
+
hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);
|
|
361
|
+
}
|
|
362
|
+
if (minutesColumn) {
|
|
363
|
+
minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);
|
|
364
|
+
}
|
|
365
|
+
if (secondsColumn) {
|
|
366
|
+
secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);
|
|
367
|
+
}
|
|
368
|
+
return function () {
|
|
369
|
+
if (hoursColumn) {
|
|
370
|
+
hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);
|
|
371
|
+
}
|
|
372
|
+
if (minutesColumn) {
|
|
373
|
+
minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);
|
|
374
|
+
}
|
|
375
|
+
if (secondsColumn) {
|
|
376
|
+
secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
}, [isInnerOpen, showScrollbarWithDelay]);
|
|
148
380
|
var handleToggle = function handleToggle() {
|
|
149
381
|
if (disabled || readonly) return;
|
|
150
382
|
var newState = !isInnerOpen;
|
|
@@ -375,11 +607,17 @@ var timePickerRoot = function timePickerRoot(Root) {
|
|
|
375
607
|
labelPlacement: labelPlacement,
|
|
376
608
|
keepPlaceholder: keepPlaceholder
|
|
377
609
|
});
|
|
378
|
-
var renderTimeColumn = function renderTimeColumn(values, column, columnRef) {
|
|
379
|
-
return /*#__PURE__*/React.createElement(
|
|
610
|
+
var renderTimeColumn = function renderTimeColumn(values, column, columnRef, scrollbarState, setScrollbar, scrollbarRef, thumbRef, timeoutRef) {
|
|
611
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
612
|
+
style: {
|
|
613
|
+
position: 'relative',
|
|
614
|
+
width: '100%'
|
|
615
|
+
}
|
|
616
|
+
}, /*#__PURE__*/React.createElement(StyledTimeColumn, {
|
|
380
617
|
key: column,
|
|
381
618
|
ref: columnRef,
|
|
382
|
-
height: dropdownHeight
|
|
619
|
+
height: dropdownHeight,
|
|
620
|
+
className: classes.timeColumn
|
|
383
621
|
}, values.map(function (value, index) {
|
|
384
622
|
return /*#__PURE__*/React.createElement(StyledTimeItem, {
|
|
385
623
|
key: value,
|
|
@@ -394,7 +632,17 @@ var timePickerRoot = function timePickerRoot(Root) {
|
|
|
394
632
|
return handleTimeItemKeyDown(e, column, value);
|
|
395
633
|
}
|
|
396
634
|
}, value);
|
|
397
|
-
}))
|
|
635
|
+
}), _StyledEmpty || (_StyledEmpty = /*#__PURE__*/React.createElement(StyledEmpty, null))), /*#__PURE__*/React.createElement(CustomScrollbar, {
|
|
636
|
+
ref: scrollbarRef,
|
|
637
|
+
className: cls(_defineProperty({}, classes.scrollbarVisible, scrollbarState.isVisible))
|
|
638
|
+
}, /*#__PURE__*/React.createElement(ScrollbarTrack, null, /*#__PURE__*/React.createElement(ScrollbarThumb, {
|
|
639
|
+
ref: thumbRef,
|
|
640
|
+
style: {
|
|
641
|
+
height: "".concat(scrollbarState.thumbHeight, "px"),
|
|
642
|
+
top: "".concat(scrollbarState.thumbPosition, "px")
|
|
643
|
+
},
|
|
644
|
+
onMouseDown: createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)
|
|
645
|
+
}))));
|
|
398
646
|
};
|
|
399
647
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
|
400
648
|
stretched: stretched,
|
|
@@ -427,7 +675,7 @@ var timePickerRoot = function timePickerRoot(Root) {
|
|
|
427
675
|
stretched: stretched
|
|
428
676
|
}, /*#__PURE__*/React.createElement(StyledTimePicker, {
|
|
429
677
|
width: dropdownWidth
|
|
430
|
-
}, renderTimeColumn(hours, 'hours', hoursColumnRef), renderTimeColumn(minutes, 'minutes', minutesColumnRef), columnsQuantity === 3 && renderTimeColumn(seconds, 'seconds', secondsColumnRef)))));
|
|
678
|
+
}, renderTimeColumn(hours, 'hours', hoursColumnRef, hoursScrollbar, setHoursScrollbar, hoursScrollbarRef, hoursThumbRef, hoursHideTimeoutRef), renderTimeColumn(minutes, 'minutes', minutesColumnRef, minutesScrollbar, setMinutesScrollbar, minutesScrollbarRef, minutesThumbRef, minutesHideTimeoutRef), columnsQuantity === 3 && renderTimeColumn(seconds, 'seconds', secondsColumnRef, secondsScrollbar, setSecondsScrollbar, secondsScrollbarRef, secondsThumbRef, secondsHideTimeoutRef)))));
|
|
431
679
|
});
|
|
432
680
|
};
|
|
433
681
|
var timePickerConfig = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect } from 'react';\nimport cls from 'classnames';\nimport type { ChangeEvent, MouseEvent, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\nimport { getPlacements } from 'src/utils';\n\nimport { range, processTimeInput, animateScrollTo } from './utils';\nimport { TimePickerProps } from './TimePicker.types';\nimport {\n base,\n StyledInput,\n StyledPopover,\n StyledTimeColumn,\n StyledTimeItem,\n StyledTimePicker,\n} from './TimePicker.styles';\nimport { classes } from './TimePicker.tokens';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readonlyCSS } from './variations/_readonly/base';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\ninterface ActiveTime {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n currentColumn: 'hours' | 'minutes' | 'seconds' | null;\n}\n\nexport const timePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerProps, 'opened' | 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLInputElement, TimePickerProps>(\n (\n {\n className,\n opened = false,\n value: outerValue,\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n disabled = false,\n readonly = false,\n frame = 'document',\n usePortal = false,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n stretched,\n dropdownAlign = 'left',\n dropdownWidth,\n dropdownHeight,\n columnsQuantity = 2,\n onToggle,\n onFocus,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const timeSelectRootRef = useRef<HTMLDivElement | null>(null);\n const hoursColumnRef = useRef<HTMLDivElement>(null);\n const minutesColumnRef = useRef<HTMLDivElement>(null);\n const secondsColumnRef = useRef<HTMLDivElement>(null);\n const timeItemRefs = useRef<Record<string, HTMLDivElement | null>>({});\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [activeTime, setActiveTime] = useState<ActiveTime>({\n hours: null,\n minutes: null,\n seconds: null,\n currentColumn: null,\n });\n const [itemHeight, setItemHeight] = useState(0);\n const [gap, setGap] = useState(0);\n\n const viewValue = outerValue ?? innerTime;\n\n const format = columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm';\n const hours = range(24);\n const minutes = range(60);\n const seconds = range(60);\n\n useEffect(() => {\n if (viewValue) {\n let timeString = viewValue;\n if (format === 'HH:mm' && viewValue.length > 5) {\n timeString = viewValue.substring(0, 5);\n }\n setInnerTime(viewValue);\n const [hh, mm, ss] = timeString.split(':').map(Number);\n setActiveTime({\n hours: !Number.isNaN(hh) ? hh : null,\n minutes: !Number.isNaN(mm) ? mm : null,\n seconds: format === 'HH:mm:ss' && !Number.isNaN(ss) ? ss : null,\n currentColumn: null,\n });\n }\n }, [outerValue, format]);\n\n useEffect(() => {\n if (isInnerOpen && (disabled || readonly)) {\n setIsInnerOpen(false);\n }\n }, [disabled, readonly]);\n\n useEffect(() => {\n if (isInnerOpen && Object.keys(timeItemRefs.current).length > 0) {\n const firstItem = Object.values(timeItemRefs.current)[0];\n\n if (firstItem) {\n setItemHeight(firstItem.offsetHeight);\n }\n }\n if (isInnerOpen && hoursColumnRef.current) {\n const computedStyle = getComputedStyle(hoursColumnRef.current);\n const gapValue = parseFloat(computedStyle.gap || '0');\n setGap(gapValue);\n }\n }, [isInnerOpen]);\n\n useEffect(() => {\n if (!isInnerOpen || itemHeight === 0) return;\n\n const scrollToActiveItem = (columnRef: React.RefObject<HTMLDivElement>, index: number | null) => {\n if (columnRef.current && index !== null) {\n const scrollPosition = index * (itemHeight + gap);\n animateScrollTo(columnRef.current, scrollPosition);\n }\n };\n\n scrollToActiveItem(hoursColumnRef, activeTime.hours);\n scrollToActiveItem(minutesColumnRef, activeTime.minutes);\n scrollToActiveItem(secondsColumnRef, activeTime.seconds);\n }, [activeTime, isInnerOpen, itemHeight]);\n\n const handleToggle = () => {\n if (disabled || readonly) return;\n const newState = !isInnerOpen;\n setIsInnerOpen(newState);\n\n if (newState) {\n setActiveTime((prev) => ({\n ...prev,\n currentColumn: 'hours',\n }));\n }\n\n onToggle?.(newState);\n };\n\n const handleCalendarRootClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readonly) return;\n if (isInnerOpen && stretched && event.target === timeSelectRootRef?.current) {\n setIsInnerOpen(false);\n onToggle?.(false);\n }\n };\n\n const handleTimeItemClick = (\n value: string,\n column: 'hours' | 'minutes' | 'seconds',\n isNextColumn = true,\n ) => {\n const currentTime = innerTime.split(':');\n let newTime = [];\n if (format === 'HH:mm:ss') {\n newTime = [...currentTime];\n while (newTime.length < 3) {\n newTime.push('00');\n }\n } else {\n newTime = [...currentTime];\n while (newTime.length < 2) {\n newTime.push('00');\n }\n newTime = newTime.slice(0, 2);\n }\n\n switch (column) {\n case 'hours':\n newTime[0] = value;\n\n if (!currentTime[1]) {\n newTime[1] = '00';\n }\n if (format === 'HH:mm:ss') {\n if (!currentTime[2]) {\n newTime[2] = '00';\n }\n }\n break;\n case 'minutes':\n newTime[1] = value;\n\n if (!currentTime[0]) {\n newTime[0] = '00';\n }\n\n if (format === 'HH:mm:ss') {\n if (!currentTime[2]) {\n newTime[2] = '00';\n }\n }\n break;\n case 'seconds':\n if (format === 'HH:mm:ss') {\n newTime[2] = value;\n\n if (!currentTime[0]) {\n newTime[0] = '00';\n }\n if (!currentTime[1]) {\n newTime[1] = '00';\n }\n }\n break;\n default:\n break;\n }\n\n const newTimeString = newTime.join(':');\n setInnerTime(newTimeString);\n\n let nextColumn: 'hours' | 'minutes' | 'seconds' | null = null;\n if (column === 'hours' && isNextColumn) {\n nextColumn = 'minutes';\n } else if (column === 'minutes' && isNextColumn) {\n nextColumn = format === 'HH:mm:ss' ? 'seconds' : null;\n } else {\n nextColumn = activeTime.currentColumn;\n }\n\n const newActiveTime: ActiveTime = {\n hours: column === 'hours' ? parseInt(value, 10) : activeTime.hours,\n minutes: column === 'minutes' ? parseInt(value, 10) : activeTime.minutes,\n seconds: column === 'seconds' ? parseInt(value, 10) : activeTime.seconds,\n currentColumn: nextColumn,\n };\n setActiveTime(newActiveTime);\n\n onChange?.(({\n value: newTimeString,\n timeValues: {\n hh: parseInt(newTime[0], 10),\n mm: parseInt(newTime[1], 10),\n ss: format === 'HH:mm:ss' ? parseInt(newTime[2] || '0', 10) : null,\n },\n } as unknown) as ChangeEvent<HTMLInputElement>);\n };\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const input = event.target.value;\n const cursorPos = event.target.selectionStart;\n\n const { innerString, values, newCursorPosition } = processTimeInput(input, format, cursorPos);\n\n setInnerTime(innerString);\n setActiveTime((prev) => ({\n ...prev,\n hours: values.hh,\n minutes: values.mm,\n seconds: values.ss,\n }));\n\n onChange?.(({\n ...event,\n target: {\n ...event.target,\n value: innerString,\n timeValues: values,\n },\n } as unknown) as ChangeEvent<HTMLInputElement>);\n\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.setSelectionRange(newCursorPosition, newCursorPosition);\n }\n });\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' && !isInnerOpen) {\n event.preventDefault();\n setIsInnerOpen(true);\n setActiveTime((prev) => ({ ...prev, currentColumn: 'hours' }));\n onToggle?.(true);\n return;\n }\n\n if (!isInnerOpen) return;\n\n const { currentColumn } = activeTime;\n if (!currentColumn) return;\n\n let newIndex: number | null = null;\n let newColumn = currentColumn;\n\n if (['ArrowUp', 'ArrowDown', 'Enter'].includes(event.key)) {\n event.preventDefault();\n }\n\n if (['ArrowRight'].includes(event.key) && currentColumn !== 'seconds') {\n event.preventDefault();\n }\n\n if (['ArrowLeft'].includes(event.key) && currentColumn !== 'hours') {\n event.preventDefault();\n }\n\n switch (event.key) {\n case 'ArrowUp':\n newIndex = Math.max(0, (activeTime[currentColumn] ?? 0) - 1);\n if (newIndex !== null) {\n const value = newIndex.toString().padStart(2, '0');\n handleTimeItemClick(value, currentColumn, false);\n }\n break;\n case 'ArrowDown':\n case 'Tab':\n event.preventDefault();\n newIndex = Math.min(currentColumn === 'hours' ? 23 : 59, (activeTime[currentColumn] ?? 0) + 1);\n if (newIndex !== null) {\n const value = newIndex.toString().padStart(2, '0');\n handleTimeItemClick(value, currentColumn, false);\n }\n break;\n case 'ArrowRight':\n case 'Enter':\n if (currentColumn === 'hours') newColumn = 'minutes';\n else if (currentColumn === 'minutes' && format === 'HH:mm:ss') newColumn = 'seconds';\n newIndex = activeTime[newColumn] ?? 0;\n setActiveTime({\n ...activeTime,\n currentColumn: newColumn,\n [newColumn]: newIndex,\n });\n\n if (\n (currentColumn === 'seconds' && format === 'HH:mm:ss') ||\n (currentColumn === 'minutes' && format === 'HH:mm')\n ) {\n setIsInnerOpen(false);\n }\n break;\n case 'ArrowLeft':\n if (currentColumn === 'minutes') newColumn = 'hours';\n else if (currentColumn === 'seconds') newColumn = 'minutes';\n newIndex = activeTime[newColumn] ?? 0;\n setActiveTime({\n ...activeTime,\n currentColumn: newColumn,\n [newColumn]: newIndex,\n });\n if (currentColumn === 'hours') {\n setIsInnerOpen(false);\n }\n break;\n // eslint-disable-next-line no-fallthrough\n default:\n }\n };\n\n const handleTimeItemKeyDown = (\n event: KeyboardEvent<HTMLDivElement>,\n column: 'hours' | 'minutes' | 'seconds',\n value: string,\n ) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n handleTimeItemClick(value, column);\n }\n };\n\n const { onKeyDown: onKeyDownNavigation } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat: true,\n delimiter: ':',\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const TimePickerInput = (\n <StyledInput\n ref={inputRef}\n value={viewValue}\n size={size}\n disabled={disabled}\n readOnly={readonly}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleInputChange}\n onFocus={onFocus}\n onKeyDown={(e) => {\n onKeyDownNavigation(e);\n handleKeyDown(e);\n }}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n />\n );\n\n const renderTimeColumn = (\n values: string[],\n column: 'hours' | 'minutes' | 'seconds',\n columnRef: React.RefObject<HTMLDivElement>,\n ) => (\n <StyledTimeColumn key={column} ref={columnRef} height={dropdownHeight}>\n {values.map((value, index) => (\n <StyledTimeItem\n key={value}\n ref={(el) => {\n timeItemRefs.current[`${column}-${value}`] = el;\n }}\n className={cls({\n [classes.timeItemActive]: activeTime[column] === index,\n })}\n onClick={() => handleTimeItemClick(value, column)}\n onKeyDown={(e) => handleTimeItemKeyDown(e, column, value)}\n >\n {value}\n </StyledTimeItem>\n ))}\n </StyledTimeColumn>\n );\n\n return (\n <Root\n stretched={stretched}\n view={view}\n size={size}\n className={cls(classes.timePickerRoot, className, {\n [classes.timePickerstretched]: stretched,\n })}\n disabled={disabled}\n readonly={readonly}\n ref={ref}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(dropdownAlign === 'left' ? 'bottom-start' : 'bottom-end', false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={TimePickerInput}\n preventOverflow={false}\n align={dropdownAlign}\n >\n <Root\n ref={timeSelectRootRef}\n view={view}\n size={size}\n disabled={disabled}\n readonly={readonly}\n onClick={handleCalendarRootClick}\n stretched={stretched}\n >\n <StyledTimePicker width={dropdownWidth}>\n {renderTimeColumn(hours, 'hours', hoursColumnRef)}\n {renderTimeColumn(minutes, 'minutes', minutesColumnRef)}\n {columnsQuantity === 3 && renderTimeColumn(seconds, 'seconds', secondsColumnRef)}\n </StyledTimePicker>\n </Root>\n </StyledPopover>\n </Root>\n );\n },\n );\n\nexport const timePickerConfig = {\n name: 'TimePicker',\n tag: 'div',\n layout: timePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readonly: {\n css: readonlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","outerValue","value","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$disabled","disabled","_ref$readonly","readonly","_ref$frame","frame","_ref$usePortal","usePortal","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","stretched","_ref$dropdownAlign","dropdownAlign","dropdownWidth","dropdownHeight","_ref$columnsQuantity","columnsQuantity","onToggle","onFocus","onChange","rest","_objectWithoutProperties","_excluded","inputRef","useRef","timeSelectRootRef","hoursColumnRef","minutesColumnRef","secondsColumnRef","timeItemRefs","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","_useState4","innerTime","setInnerTime","_useState5","hours","minutes","seconds","currentColumn","_useState6","activeTime","setActiveTime","_useState7","_useState8","itemHeight","setItemHeight","_useState9","_useState10","gap","setGap","viewValue","format","range","useEffect","timeString","length","substring","_timeString$split$map","split","map","Number","_timeString$split$map2","hh","mm","ss","isNaN","Object","keys","current","firstItem","values","offsetHeight","computedStyle","getComputedStyle","gapValue","parseFloat","scrollToActiveItem","columnRef","index","scrollPosition","animateScrollTo","handleToggle","newState","prev","_objectSpread","handleCalendarRootClick","event","target","handleTimeItemClick","column","isNextColumn","arguments","undefined","currentTime","newTime","_toConsumableArray","push","slice","newTimeString","join","nextColumn","newActiveTime","parseInt","timeValues","handleInputChange","input","cursorPos","selectionStart","_processTimeInput","processTimeInput","innerString","newCursorPosition","requestAnimationFrame","setSelectionRange","handleKeyDown","_activeTime$currentCo","_activeTime$currentCo2","_activeTime$newColumn","_activeTime$newColumn2","key","preventDefault","newIndex","newColumn","includes","Math","max","toString","padStart","min","_defineProperty","handleTimeItemKeyDown","_useKeyNavigation","useKeyNavigation","isCalendarOpen","maskWithFormat","delimiter","onKeyDownNavigation","onKeyDown","TimePickerInput","React","createElement","StyledInput","readOnly","e","renderTimeColumn","StyledTimeColumn","height","StyledTimeItem","el","concat","cls","classes","timeItemActive","onClick","_extends","timePickerstretched","StyledPopover","placement","getPlacements","trigger","isFocusTrapped","preventOverflow","align","StyledTimePicker","width","timePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readonlyCSS","defaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimePicker.js","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useState, useEffect, useCallback } from 'react';\nimport cls from 'classnames';\nimport type { ChangeEvent, MouseEvent, KeyboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\nimport { getPlacements } from 'src/utils';\n\nimport { range, processTimeInput, animateScrollTo } from './utils';\nimport { TimePickerProps } from './TimePicker.types';\nimport {\n base,\n StyledInput,\n StyledPopover,\n StyledTimeColumn,\n StyledTimeItem,\n StyledTimePicker,\n CustomScrollbar,\n ScrollbarTrack,\n ScrollbarThumb,\n StyledEmpty,\n} from './TimePicker.styles';\nimport { classes } from './TimePicker.tokens';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readonlyCSS } from './variations/_readonly/base';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\ninterface ActiveTime {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n currentColumn: 'hours' | 'minutes' | 'seconds' | null;\n}\n\ninterface ScrollbarState {\n isVisible: boolean;\n thumbHeight: number;\n thumbPosition: number;\n isDragging: boolean;\n}\n\nexport const timePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<TimePickerProps, 'opened' | 'defaultValue' | 'onChange'>>,\n) =>\n forwardRef<HTMLInputElement, TimePickerProps>(\n (\n {\n className,\n opened = false,\n value: outerValue,\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n disabled = false,\n readonly = false,\n frame = 'document',\n usePortal = false,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n stretched,\n dropdownAlign = 'left',\n dropdownWidth,\n dropdownHeight,\n columnsQuantity = 2,\n onToggle,\n onFocus,\n onChange,\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const timeSelectRootRef = useRef<HTMLDivElement | null>(null);\n const hoursColumnRef = useRef<HTMLDivElement>(null);\n const minutesColumnRef = useRef<HTMLDivElement>(null);\n const secondsColumnRef = useRef<HTMLDivElement>(null);\n const timeItemRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const hoursScrollbarRef = useRef<HTMLDivElement>(null);\n const minutesScrollbarRef = useRef<HTMLDivElement>(null);\n const secondsScrollbarRef = useRef<HTMLDivElement>(null);\n const hoursThumbRef = useRef<HTMLDivElement>(null);\n const minutesThumbRef = useRef<HTMLDivElement>(null);\n const secondsThumbRef = useRef<HTMLDivElement>(null);\n\n const hoursHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const minutesHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const secondsHideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const [innerTime, setInnerTime] = useState(outerValue || '');\n const [activeTime, setActiveTime] = useState<ActiveTime>({\n hours: null,\n minutes: null,\n seconds: null,\n currentColumn: null,\n });\n const [itemHeight, setItemHeight] = useState(0);\n const [gap, setGap] = useState(0);\n\n const [hoursScrollbar, setHoursScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [minutesScrollbar, setMinutesScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n const [secondsScrollbar, setSecondsScrollbar] = useState<ScrollbarState>({\n isVisible: false,\n thumbHeight: 0,\n thumbPosition: 0,\n isDragging: false,\n });\n\n const viewValue = outerValue ?? innerTime;\n\n const format = columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm';\n const hours = range(24);\n const minutes = range(60);\n const seconds = range(60);\n\n const calculateScrollbar = useCallback((columnRef: React.RefObject<HTMLDivElement>) => {\n if (!columnRef.current) return { thumbHeight: 0, thumbPosition: 0 };\n\n const { scrollTop, scrollHeight, clientHeight } = columnRef.current;\n const trackHeight = clientHeight;\n const thumbHeight = Math.max((trackHeight / scrollHeight) * trackHeight, 20); // Минимальная высота 20px\n const maxScroll = scrollHeight - clientHeight;\n const thumbPosition = maxScroll > 0 ? (scrollTop / maxScroll) * (trackHeight - thumbHeight) : 0;\n\n return { thumbHeight, thumbPosition };\n }, []);\n\n const showScrollbarWithDelay = useCallback(\n (\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n columnRef: React.RefObject<HTMLDivElement>,\n ) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n updateScrollbar(columnRef, setScrollbar, true);\n\n timeoutRef.current = (setTimeout(() => {\n setScrollbar((prev) => ({ ...prev, isVisible: false }));\n timeoutRef.current = null;\n }, 2000) as unknown) as NodeJS.Timeout;\n },\n [],\n );\n\n const updateScrollbar = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n show = false,\n ) => {\n if (!columnRef.current) return;\n\n const { thumbHeight, thumbPosition } = calculateScrollbar(columnRef);\n setScrollbar((prev) => ({\n ...prev,\n thumbHeight,\n thumbPosition,\n isVisible: show || prev.isVisible,\n }));\n },\n [calculateScrollbar],\n );\n\n const handleColumnScroll = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => {\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n },\n [showScrollbarWithDelay],\n );\n\n const createScrollbarDragHandler = useCallback(\n (\n columnRef: React.RefObject<HTMLDivElement>,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const thumb = e.currentTarget as HTMLDivElement;\n const track = thumb.parentElement as HTMLDivElement;\n if (!columnRef.current || !track) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n const startY = e.clientY;\n const startThumbPosition = parseFloat(thumb.style.top || '0');\n const trackRect = track.getBoundingClientRect();\n const trackHeight = trackRect.height;\n const thumbHeight = thumb.offsetHeight;\n\n const { scrollHeight, clientHeight } = columnRef.current;\n const maxScroll = scrollHeight - clientHeight;\n\n const handleMouseMove = (moveEvent: MouseEvent) => {\n const deltaY = moveEvent.clientY - startY;\n const newThumbPosition = Math.max(\n 0,\n Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY),\n );\n\n const scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);\n const newScrollTop = scrollPercentage * maxScroll;\n\n if (columnRef.current) {\n columnRef.current.scrollTop = newScrollTop;\n }\n\n setScrollbar((prev) => ({\n ...prev,\n thumbPosition: newThumbPosition,\n isDragging: true,\n isVisible: true,\n }));\n };\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove as any);\n document.removeEventListener('mouseup', handleMouseUp);\n\n setScrollbar((prev) => ({\n ...prev,\n isDragging: false,\n }));\n\n showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);\n };\n\n document.addEventListener('mousemove', handleMouseMove as any);\n document.addEventListener('mouseup', handleMouseUp);\n },\n [showScrollbarWithDelay],\n );\n\n useEffect(() => {\n return () => {\n [hoursHideTimeoutRef, minutesHideTimeoutRef, secondsHideTimeoutRef].forEach((timeoutRef) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n });\n };\n }, []);\n\n useEffect(() => {\n if (isInnerOpen) {\n setTimeout(() => {\n updateScrollbar(hoursColumnRef, setHoursScrollbar);\n updateScrollbar(minutesColumnRef, setMinutesScrollbar);\n if (columnsQuantity === 3) {\n updateScrollbar(secondsColumnRef, setSecondsScrollbar);\n }\n }, 100);\n }\n }, [isInnerOpen, columnsQuantity, updateScrollbar]);\n\n useEffect(() => {\n if (viewValue) {\n let timeString = viewValue;\n if (format === 'HH:mm' && viewValue.length > 5) {\n timeString = viewValue.substring(0, 5);\n }\n setInnerTime(viewValue);\n const [hh, mm, ss] = timeString.split(':').map(Number);\n setActiveTime({\n hours: !Number.isNaN(hh) ? hh : null,\n minutes: !Number.isNaN(mm) ? mm : null,\n seconds: format === 'HH:mm:ss' && !Number.isNaN(ss) ? ss : null,\n currentColumn: null,\n });\n }\n }, [outerValue, format]);\n\n useEffect(() => {\n if (isInnerOpen && (disabled || readonly)) {\n setIsInnerOpen(false);\n }\n }, [disabled, readonly]);\n\n useEffect(() => {\n if (isInnerOpen && Object.keys(timeItemRefs.current).length > 0) {\n const firstItem = Object.values(timeItemRefs.current)[0];\n\n if (firstItem) {\n setItemHeight(firstItem.offsetHeight);\n }\n }\n if (isInnerOpen && hoursColumnRef.current) {\n const computedStyle = getComputedStyle(hoursColumnRef.current);\n const gapValue = parseFloat(computedStyle.gap || '0');\n setGap(gapValue);\n }\n }, [isInnerOpen]);\n\n useEffect(() => {\n if (!isInnerOpen || itemHeight === 0) return;\n\n const scrollToActiveItem = (columnRef: React.RefObject<HTMLDivElement>, index: number | null) => {\n if (columnRef.current && index !== null) {\n const scrollPosition = index * (itemHeight + gap);\n animateScrollTo(columnRef.current, scrollPosition);\n setTimeout(() => {\n if (columnRef === hoursColumnRef) {\n updateScrollbar(hoursColumnRef, setHoursScrollbar);\n } else if (columnRef === minutesColumnRef) {\n updateScrollbar(minutesColumnRef, setMinutesScrollbar);\n } else if (columnRef === secondsColumnRef) {\n updateScrollbar(secondsColumnRef, setSecondsScrollbar);\n }\n }, 300);\n }\n };\n\n scrollToActiveItem(hoursColumnRef, activeTime.hours);\n scrollToActiveItem(minutesColumnRef, activeTime.minutes);\n scrollToActiveItem(secondsColumnRef, activeTime.seconds);\n }, [activeTime, isInnerOpen, itemHeight, gap, updateScrollbar]);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursScroll = () =>\n handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);\n const handleMinutesScroll = () =>\n handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);\n const handleSecondsScroll = () =>\n handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('scroll', handleSecondsScroll);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('scroll', handleHoursScroll);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('scroll', handleMinutesScroll);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('scroll', handleSecondsScroll);\n }\n };\n }, [isInnerOpen, handleColumnScroll]);\n\n useEffect(() => {\n const hoursColumn = hoursColumnRef.current;\n const minutesColumn = minutesColumnRef.current;\n const secondsColumn = secondsColumnRef.current;\n\n const handleHoursMouseEnter = () =>\n showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);\n const handleMinutesMouseEnter = () =>\n showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);\n const handleSecondsMouseEnter = () =>\n showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);\n\n if (hoursColumn) {\n hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);\n }\n\n return () => {\n if (hoursColumn) {\n hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);\n }\n if (minutesColumn) {\n minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);\n }\n if (secondsColumn) {\n secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);\n }\n };\n }, [isInnerOpen, showScrollbarWithDelay]);\n\n const handleToggle = () => {\n if (disabled || readonly) return;\n const newState = !isInnerOpen;\n setIsInnerOpen(newState);\n\n if (newState) {\n setActiveTime((prev) => ({\n ...prev,\n currentColumn: 'hours',\n }));\n }\n\n onToggle?.(newState);\n };\n\n const handleCalendarRootClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readonly) return;\n if (isInnerOpen && stretched && event.target === timeSelectRootRef?.current) {\n setIsInnerOpen(false);\n onToggle?.(false);\n }\n };\n\n const handleTimeItemClick = (\n value: string,\n column: 'hours' | 'minutes' | 'seconds',\n isNextColumn = true,\n ) => {\n const currentTime = innerTime.split(':');\n let newTime = [];\n if (format === 'HH:mm:ss') {\n newTime = [...currentTime];\n while (newTime.length < 3) {\n newTime.push('00');\n }\n } else {\n newTime = [...currentTime];\n while (newTime.length < 2) {\n newTime.push('00');\n }\n newTime = newTime.slice(0, 2);\n }\n\n switch (column) {\n case 'hours':\n newTime[0] = value;\n\n if (!currentTime[1]) {\n newTime[1] = '00';\n }\n if (format === 'HH:mm:ss') {\n if (!currentTime[2]) {\n newTime[2] = '00';\n }\n }\n break;\n case 'minutes':\n newTime[1] = value;\n\n if (!currentTime[0]) {\n newTime[0] = '00';\n }\n\n if (format === 'HH:mm:ss') {\n if (!currentTime[2]) {\n newTime[2] = '00';\n }\n }\n break;\n case 'seconds':\n if (format === 'HH:mm:ss') {\n newTime[2] = value;\n\n if (!currentTime[0]) {\n newTime[0] = '00';\n }\n if (!currentTime[1]) {\n newTime[1] = '00';\n }\n }\n break;\n default:\n break;\n }\n\n const newTimeString = newTime.join(':');\n setInnerTime(newTimeString);\n\n let nextColumn: 'hours' | 'minutes' | 'seconds' | null = null;\n if (column === 'hours' && isNextColumn) {\n nextColumn = 'minutes';\n } else if (column === 'minutes' && isNextColumn) {\n nextColumn = format === 'HH:mm:ss' ? 'seconds' : null;\n } else {\n nextColumn = activeTime.currentColumn;\n }\n\n const newActiveTime: ActiveTime = {\n hours: column === 'hours' ? parseInt(value, 10) : activeTime.hours,\n minutes: column === 'minutes' ? parseInt(value, 10) : activeTime.minutes,\n seconds: column === 'seconds' ? parseInt(value, 10) : activeTime.seconds,\n currentColumn: nextColumn,\n };\n setActiveTime(newActiveTime);\n\n onChange?.(({\n value: newTimeString,\n timeValues: {\n hh: parseInt(newTime[0], 10),\n mm: parseInt(newTime[1], 10),\n ss: format === 'HH:mm:ss' ? parseInt(newTime[2] || '0', 10) : null,\n },\n } as unknown) as ChangeEvent<HTMLInputElement>);\n };\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const input = event.target.value;\n const cursorPos = event.target.selectionStart;\n\n const { innerString, values, newCursorPosition } = processTimeInput(input, format, cursorPos);\n\n setInnerTime(innerString);\n setActiveTime((prev) => ({\n ...prev,\n hours: values.hh,\n minutes: values.mm,\n seconds: values.ss,\n }));\n\n onChange?.(({\n ...event,\n target: {\n ...event.target,\n value: innerString,\n timeValues: values,\n },\n } as unknown) as ChangeEvent<HTMLInputElement>);\n\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.setSelectionRange(newCursorPosition, newCursorPosition);\n }\n });\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' && !isInnerOpen) {\n event.preventDefault();\n setIsInnerOpen(true);\n setActiveTime((prev) => ({ ...prev, currentColumn: 'hours' }));\n onToggle?.(true);\n return;\n }\n\n if (!isInnerOpen) return;\n\n const { currentColumn } = activeTime;\n if (!currentColumn) return;\n\n let newIndex: number | null = null;\n let newColumn = currentColumn;\n\n if (['ArrowUp', 'ArrowDown', 'Enter'].includes(event.key)) {\n event.preventDefault();\n }\n\n if (['ArrowRight'].includes(event.key) && currentColumn !== 'seconds') {\n event.preventDefault();\n }\n\n if (['ArrowLeft'].includes(event.key) && currentColumn !== 'hours') {\n event.preventDefault();\n }\n\n switch (event.key) {\n case 'ArrowUp':\n newIndex = Math.max(0, (activeTime[currentColumn] ?? 0) - 1);\n if (newIndex !== null) {\n const value = newIndex.toString().padStart(2, '0');\n handleTimeItemClick(value, currentColumn, false);\n }\n break;\n case 'ArrowDown':\n case 'Tab':\n event.preventDefault();\n newIndex = Math.min(currentColumn === 'hours' ? 23 : 59, (activeTime[currentColumn] ?? 0) + 1);\n if (newIndex !== null) {\n const value = newIndex.toString().padStart(2, '0');\n handleTimeItemClick(value, currentColumn, false);\n }\n break;\n case 'ArrowRight':\n case 'Enter':\n if (currentColumn === 'hours') newColumn = 'minutes';\n else if (currentColumn === 'minutes' && format === 'HH:mm:ss') newColumn = 'seconds';\n newIndex = activeTime[newColumn] ?? 0;\n setActiveTime({\n ...activeTime,\n currentColumn: newColumn,\n [newColumn]: newIndex,\n });\n\n if (\n (currentColumn === 'seconds' && format === 'HH:mm:ss') ||\n (currentColumn === 'minutes' && format === 'HH:mm')\n ) {\n setIsInnerOpen(false);\n }\n break;\n case 'ArrowLeft':\n if (currentColumn === 'minutes') newColumn = 'hours';\n else if (currentColumn === 'seconds') newColumn = 'minutes';\n newIndex = activeTime[newColumn] ?? 0;\n setActiveTime({\n ...activeTime,\n currentColumn: newColumn,\n [newColumn]: newIndex,\n });\n if (currentColumn === 'hours') {\n setIsInnerOpen(false);\n }\n break;\n // eslint-disable-next-line no-fallthrough\n default:\n }\n };\n\n const handleTimeItemKeyDown = (\n event: KeyboardEvent<HTMLDivElement>,\n column: 'hours' | 'minutes' | 'seconds',\n value: string,\n ) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n handleTimeItemClick(value, column);\n }\n };\n\n const { onKeyDown: onKeyDownNavigation } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat: true,\n delimiter: ':',\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const TimePickerInput = (\n <StyledInput\n ref={inputRef}\n value={viewValue}\n size={size}\n disabled={disabled}\n readOnly={readonly}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleInputChange}\n onFocus={onFocus}\n onKeyDown={(e) => {\n onKeyDownNavigation(e);\n handleKeyDown(e);\n }}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n />\n );\n\n const renderTimeColumn = (\n values: string[],\n column: 'hours' | 'minutes' | 'seconds',\n columnRef: React.RefObject<HTMLDivElement>,\n scrollbarState: ScrollbarState,\n setScrollbar: React.Dispatch<React.SetStateAction<ScrollbarState>>,\n scrollbarRef: React.RefObject<HTMLDivElement>,\n thumbRef: React.RefObject<HTMLDivElement>,\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>,\n ) => (\n <div style={{ position: 'relative', width: '100%' }}>\n <StyledTimeColumn\n key={column}\n ref={columnRef}\n height={dropdownHeight}\n className={classes.timeColumn}\n >\n {values.map((value, index) => (\n <StyledTimeItem\n key={value}\n ref={(el) => {\n timeItemRefs.current[`${column}-${value}`] = el;\n }}\n className={cls({\n [classes.timeItemActive]: activeTime[column] === index,\n })}\n onClick={() => handleTimeItemClick(value, column)}\n onKeyDown={(e) => handleTimeItemKeyDown(e, column, value)}\n >\n {value}\n </StyledTimeItem>\n ))}\n <StyledEmpty />\n </StyledTimeColumn>\n\n <CustomScrollbar\n ref={scrollbarRef}\n className={cls({\n [classes.scrollbarVisible]: scrollbarState.isVisible,\n })}\n >\n <ScrollbarTrack>\n <ScrollbarThumb\n ref={thumbRef}\n style={{\n height: `${scrollbarState.thumbHeight}px`,\n top: `${scrollbarState.thumbPosition}px`,\n }}\n onMouseDown={createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)}\n />\n </ScrollbarTrack>\n </CustomScrollbar>\n </div>\n );\n\n return (\n <Root\n stretched={stretched}\n view={view}\n size={size}\n className={cls(classes.timePickerRoot, className, {\n [classes.timePickerstretched]: stretched,\n })}\n disabled={disabled}\n readonly={readonly}\n ref={ref}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(dropdownAlign === 'left' ? 'bottom-start' : 'bottom-end', false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={TimePickerInput}\n preventOverflow={false}\n align={dropdownAlign}\n >\n <Root\n ref={timeSelectRootRef}\n view={view}\n size={size}\n disabled={disabled}\n readonly={readonly}\n onClick={handleCalendarRootClick}\n stretched={stretched}\n >\n <StyledTimePicker width={dropdownWidth}>\n {renderTimeColumn(\n hours,\n 'hours',\n hoursColumnRef,\n hoursScrollbar,\n setHoursScrollbar,\n hoursScrollbarRef,\n hoursThumbRef,\n hoursHideTimeoutRef,\n )}\n {renderTimeColumn(\n minutes,\n 'minutes',\n minutesColumnRef,\n minutesScrollbar,\n setMinutesScrollbar,\n minutesScrollbarRef,\n minutesThumbRef,\n minutesHideTimeoutRef,\n )}\n {columnsQuantity === 3 &&\n renderTimeColumn(\n seconds,\n 'seconds',\n secondsColumnRef,\n secondsScrollbar,\n setSecondsScrollbar,\n secondsScrollbarRef,\n secondsThumbRef,\n secondsHideTimeoutRef,\n )}\n </StyledTimePicker>\n </Root>\n </StyledPopover>\n </Root>\n );\n },\n );\n\nexport const timePickerConfig = {\n name: 'TimePicker',\n tag: 'div',\n layout: timePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readonly: {\n css: readonlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["timePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","outerValue","value","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$disabled","disabled","_ref$readonly","readonly","_ref$frame","frame","_ref$usePortal","usePortal","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","stretched","_ref$dropdownAlign","dropdownAlign","dropdownWidth","dropdownHeight","_ref$columnsQuantity","columnsQuantity","onToggle","onFocus","onChange","rest","_objectWithoutProperties","_excluded","inputRef","useRef","timeSelectRootRef","hoursColumnRef","minutesColumnRef","secondsColumnRef","timeItemRefs","hoursScrollbarRef","minutesScrollbarRef","secondsScrollbarRef","hoursThumbRef","minutesThumbRef","secondsThumbRef","hoursHideTimeoutRef","minutesHideTimeoutRef","secondsHideTimeoutRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","_useState4","innerTime","setInnerTime","_useState5","hours","minutes","seconds","currentColumn","_useState6","activeTime","setActiveTime","_useState7","_useState8","itemHeight","setItemHeight","_useState9","_useState10","gap","setGap","_useState11","isVisible","thumbHeight","thumbPosition","isDragging","_useState12","hoursScrollbar","setHoursScrollbar","_useState13","_useState14","minutesScrollbar","setMinutesScrollbar","_useState15","_useState16","secondsScrollbar","setSecondsScrollbar","viewValue","format","range","calculateScrollbar","useCallback","columnRef","current","_columnRef$current","scrollTop","scrollHeight","clientHeight","trackHeight","Math","max","maxScroll","showScrollbarWithDelay","setScrollbar","timeoutRef","clearTimeout","updateScrollbar","setTimeout","prev","_objectSpread","show","arguments","length","undefined","_calculateScrollbar","handleColumnScroll","createScrollbarDragHandler","e","preventDefault","thumb","currentTarget","track","parentElement","startY","clientY","startThumbPosition","parseFloat","style","top","trackRect","getBoundingClientRect","height","offsetHeight","_columnRef$current2","handleMouseMove","moveEvent","deltaY","newThumbPosition","min","scrollPercentage","newScrollTop","handleMouseUp","document","removeEventListener","addEventListener","useEffect","forEach","timeString","substring","_timeString$split$map","split","map","Number","_timeString$split$map2","hh","mm","ss","isNaN","Object","keys","firstItem","values","computedStyle","getComputedStyle","gapValue","scrollToActiveItem","index","scrollPosition","animateScrollTo","hoursColumn","minutesColumn","secondsColumn","handleHoursScroll","handleMinutesScroll","handleSecondsScroll","handleHoursMouseEnter","handleMinutesMouseEnter","handleSecondsMouseEnter","handleToggle","newState","handleCalendarRootClick","event","target","handleTimeItemClick","column","isNextColumn","currentTime","newTime","_toConsumableArray","push","slice","newTimeString","join","nextColumn","newActiveTime","parseInt","timeValues","handleInputChange","input","cursorPos","selectionStart","_processTimeInput","processTimeInput","innerString","newCursorPosition","requestAnimationFrame","setSelectionRange","handleKeyDown","_activeTime$currentCo","_activeTime$currentCo2","_activeTime$newColumn","_activeTime$newColumn2","key","newIndex","newColumn","includes","toString","padStart","_defineProperty","handleTimeItemKeyDown","_useKeyNavigation","useKeyNavigation","isCalendarOpen","maskWithFormat","delimiter","onKeyDownNavigation","onKeyDown","TimePickerInput","React","createElement","StyledInput","readOnly","renderTimeColumn","scrollbarState","scrollbarRef","thumbRef","position","width","StyledTimeColumn","classes","timeColumn","StyledTimeItem","el","concat","cls","timeItemActive","onClick","_StyledEmpty","StyledEmpty","CustomScrollbar","scrollbarVisible","ScrollbarTrack","ScrollbarThumb","onMouseDown","_extends","timePickerstretched","StyledPopover","placement","getPlacements","trigger","isFocusTrapped","preventOverflow","align","StyledTimePicker","timePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readonlyCSS","defaults"],"mappings":"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"}
|