@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
|
@@ -251,6 +251,15 @@ var timePickerRoot = function(Root) {
|
|
|
251
251
|
var minutesColumnRef = (0, _react.useRef)(null);
|
|
252
252
|
var secondsColumnRef = (0, _react.useRef)(null);
|
|
253
253
|
var timeItemRefs = (0, _react.useRef)({});
|
|
254
|
+
var hoursScrollbarRef = (0, _react.useRef)(null);
|
|
255
|
+
var minutesScrollbarRef = (0, _react.useRef)(null);
|
|
256
|
+
var secondsScrollbarRef = (0, _react.useRef)(null);
|
|
257
|
+
var hoursThumbRef = (0, _react.useRef)(null);
|
|
258
|
+
var minutesThumbRef = (0, _react.useRef)(null);
|
|
259
|
+
var secondsThumbRef = (0, _react.useRef)(null);
|
|
260
|
+
var hoursHideTimeoutRef = (0, _react.useRef)(null);
|
|
261
|
+
var minutesHideTimeoutRef = (0, _react.useRef)(null);
|
|
262
|
+
var secondsHideTimeoutRef = (0, _react.useRef)(null);
|
|
254
263
|
var _useState = _sliced_to_array((0, _react.useState)(opened), 2), isInnerOpen = _useState[0], setIsInnerOpen = _useState[1];
|
|
255
264
|
var _useState1 = _sliced_to_array((0, _react.useState)(outerValue || ''), 2), innerTime = _useState1[0], setInnerTime = _useState1[1];
|
|
256
265
|
var _useState2 = _sliced_to_array((0, _react.useState)({
|
|
@@ -261,11 +270,154 @@ var timePickerRoot = function(Root) {
|
|
|
261
270
|
}), 2), activeTime = _useState2[0], setActiveTime = _useState2[1];
|
|
262
271
|
var _useState3 = _sliced_to_array((0, _react.useState)(0), 2), itemHeight = _useState3[0], setItemHeight = _useState3[1];
|
|
263
272
|
var _useState4 = _sliced_to_array((0, _react.useState)(0), 2), gap = _useState4[0], setGap = _useState4[1];
|
|
273
|
+
var _useState5 = _sliced_to_array((0, _react.useState)({
|
|
274
|
+
isVisible: false,
|
|
275
|
+
thumbHeight: 0,
|
|
276
|
+
thumbPosition: 0,
|
|
277
|
+
isDragging: false
|
|
278
|
+
}), 2), hoursScrollbar = _useState5[0], setHoursScrollbar = _useState5[1];
|
|
279
|
+
var _useState6 = _sliced_to_array((0, _react.useState)({
|
|
280
|
+
isVisible: false,
|
|
281
|
+
thumbHeight: 0,
|
|
282
|
+
thumbPosition: 0,
|
|
283
|
+
isDragging: false
|
|
284
|
+
}), 2), minutesScrollbar = _useState6[0], setMinutesScrollbar = _useState6[1];
|
|
285
|
+
var _useState7 = _sliced_to_array((0, _react.useState)({
|
|
286
|
+
isVisible: false,
|
|
287
|
+
thumbHeight: 0,
|
|
288
|
+
thumbPosition: 0,
|
|
289
|
+
isDragging: false
|
|
290
|
+
}), 2), secondsScrollbar = _useState7[0], setSecondsScrollbar = _useState7[1];
|
|
264
291
|
var viewValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerTime;
|
|
265
292
|
var format = columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm';
|
|
266
293
|
var hours = (0, _utils1.range)(24);
|
|
267
294
|
var minutes = (0, _utils1.range)(60);
|
|
268
295
|
var seconds = (0, _utils1.range)(60);
|
|
296
|
+
var calculateScrollbar = (0, _react.useCallback)(function(columnRef) {
|
|
297
|
+
if (!columnRef.current) return {
|
|
298
|
+
thumbHeight: 0,
|
|
299
|
+
thumbPosition: 0
|
|
300
|
+
};
|
|
301
|
+
var _columnRef_current = columnRef.current, scrollTop = _columnRef_current.scrollTop, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
|
|
302
|
+
var trackHeight = clientHeight;
|
|
303
|
+
var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, 20); // Минимальная высота 20px
|
|
304
|
+
var maxScroll = scrollHeight - clientHeight;
|
|
305
|
+
var thumbPosition = maxScroll > 0 ? scrollTop / maxScroll * (trackHeight - thumbHeight) : 0;
|
|
306
|
+
return {
|
|
307
|
+
thumbHeight: thumbHeight,
|
|
308
|
+
thumbPosition: thumbPosition
|
|
309
|
+
};
|
|
310
|
+
}, []);
|
|
311
|
+
var showScrollbarWithDelay = (0, _react.useCallback)(function(setScrollbar, timeoutRef, columnRef) {
|
|
312
|
+
if (timeoutRef.current) {
|
|
313
|
+
clearTimeout(timeoutRef.current);
|
|
314
|
+
}
|
|
315
|
+
updateScrollbar(columnRef, setScrollbar, true);
|
|
316
|
+
timeoutRef.current = setTimeout(function() {
|
|
317
|
+
setScrollbar(function(prev) {
|
|
318
|
+
return _object_spread_props(_object_spread({}, prev), {
|
|
319
|
+
isVisible: false
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
timeoutRef.current = null;
|
|
323
|
+
}, 2000);
|
|
324
|
+
}, []);
|
|
325
|
+
var updateScrollbar = (0, _react.useCallback)(function(columnRef, setScrollbar) {
|
|
326
|
+
var show = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
|
|
327
|
+
if (!columnRef.current) return;
|
|
328
|
+
var _calculateScrollbar = calculateScrollbar(columnRef), thumbHeight = _calculateScrollbar.thumbHeight, thumbPosition = _calculateScrollbar.thumbPosition;
|
|
329
|
+
setScrollbar(function(prev) {
|
|
330
|
+
return _object_spread_props(_object_spread({}, prev), {
|
|
331
|
+
thumbHeight: thumbHeight,
|
|
332
|
+
thumbPosition: thumbPosition,
|
|
333
|
+
isVisible: show || prev.isVisible
|
|
334
|
+
});
|
|
335
|
+
});
|
|
336
|
+
}, [
|
|
337
|
+
calculateScrollbar
|
|
338
|
+
]);
|
|
339
|
+
var handleColumnScroll = (0, _react.useCallback)(function(columnRef, setScrollbar, timeoutRef) {
|
|
340
|
+
showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
|
|
341
|
+
}, [
|
|
342
|
+
showScrollbarWithDelay
|
|
343
|
+
]);
|
|
344
|
+
var createScrollbarDragHandler = (0, _react.useCallback)(function(columnRef, setScrollbar, timeoutRef) {
|
|
345
|
+
return function(e) {
|
|
346
|
+
e.preventDefault();
|
|
347
|
+
var thumb = e.currentTarget;
|
|
348
|
+
var track = thumb.parentElement;
|
|
349
|
+
if (!columnRef.current || !track) return;
|
|
350
|
+
if (timeoutRef.current) {
|
|
351
|
+
clearTimeout(timeoutRef.current);
|
|
352
|
+
timeoutRef.current = null;
|
|
353
|
+
}
|
|
354
|
+
var startY = e.clientY;
|
|
355
|
+
var startThumbPosition = parseFloat(thumb.style.top || '0');
|
|
356
|
+
var trackRect = track.getBoundingClientRect();
|
|
357
|
+
var trackHeight = trackRect.height;
|
|
358
|
+
var thumbHeight = thumb.offsetHeight;
|
|
359
|
+
var _columnRef_current = columnRef.current, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
|
|
360
|
+
var maxScroll = scrollHeight - clientHeight;
|
|
361
|
+
var handleMouseMove = function(moveEvent) {
|
|
362
|
+
var deltaY = moveEvent.clientY - startY;
|
|
363
|
+
var newThumbPosition = Math.max(0, Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY));
|
|
364
|
+
var scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);
|
|
365
|
+
var newScrollTop = scrollPercentage * maxScroll;
|
|
366
|
+
if (columnRef.current) {
|
|
367
|
+
columnRef.current.scrollTop = newScrollTop;
|
|
368
|
+
}
|
|
369
|
+
setScrollbar(function(prev) {
|
|
370
|
+
return _object_spread_props(_object_spread({}, prev), {
|
|
371
|
+
thumbPosition: newThumbPosition,
|
|
372
|
+
isDragging: true,
|
|
373
|
+
isVisible: true
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
};
|
|
377
|
+
var handleMouseUp = function() {
|
|
378
|
+
document.removeEventListener('mousemove', handleMouseMove);
|
|
379
|
+
document.removeEventListener('mouseup', handleMouseUp);
|
|
380
|
+
setScrollbar(function(prev) {
|
|
381
|
+
return _object_spread_props(_object_spread({}, prev), {
|
|
382
|
+
isDragging: false
|
|
383
|
+
});
|
|
384
|
+
});
|
|
385
|
+
showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
|
|
386
|
+
};
|
|
387
|
+
document.addEventListener('mousemove', handleMouseMove);
|
|
388
|
+
document.addEventListener('mouseup', handleMouseUp);
|
|
389
|
+
};
|
|
390
|
+
}, [
|
|
391
|
+
showScrollbarWithDelay
|
|
392
|
+
]);
|
|
393
|
+
(0, _react.useEffect)(function() {
|
|
394
|
+
return function() {
|
|
395
|
+
[
|
|
396
|
+
hoursHideTimeoutRef,
|
|
397
|
+
minutesHideTimeoutRef,
|
|
398
|
+
secondsHideTimeoutRef
|
|
399
|
+
].forEach(function(timeoutRef) {
|
|
400
|
+
if (timeoutRef.current) {
|
|
401
|
+
clearTimeout(timeoutRef.current);
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
};
|
|
405
|
+
}, []);
|
|
406
|
+
(0, _react.useEffect)(function() {
|
|
407
|
+
if (isInnerOpen) {
|
|
408
|
+
setTimeout(function() {
|
|
409
|
+
updateScrollbar(hoursColumnRef, setHoursScrollbar);
|
|
410
|
+
updateScrollbar(minutesColumnRef, setMinutesScrollbar);
|
|
411
|
+
if (columnsQuantity === 3) {
|
|
412
|
+
updateScrollbar(secondsColumnRef, setSecondsScrollbar);
|
|
413
|
+
}
|
|
414
|
+
}, 100);
|
|
415
|
+
}
|
|
416
|
+
}, [
|
|
417
|
+
isInnerOpen,
|
|
418
|
+
columnsQuantity,
|
|
419
|
+
updateScrollbar
|
|
420
|
+
]);
|
|
269
421
|
(0, _react.useEffect)(function() {
|
|
270
422
|
if (viewValue) {
|
|
271
423
|
var timeString = viewValue;
|
|
@@ -314,6 +466,15 @@ var timePickerRoot = function(Root) {
|
|
|
314
466
|
if (columnRef.current && index !== null) {
|
|
315
467
|
var scrollPosition = index * (itemHeight + gap);
|
|
316
468
|
(0, _utils1.animateScrollTo)(columnRef.current, scrollPosition);
|
|
469
|
+
setTimeout(function() {
|
|
470
|
+
if (columnRef === hoursColumnRef) {
|
|
471
|
+
updateScrollbar(hoursColumnRef, setHoursScrollbar);
|
|
472
|
+
} else if (columnRef === minutesColumnRef) {
|
|
473
|
+
updateScrollbar(minutesColumnRef, setMinutesScrollbar);
|
|
474
|
+
} else if (columnRef === secondsColumnRef) {
|
|
475
|
+
updateScrollbar(secondsColumnRef, setSecondsScrollbar);
|
|
476
|
+
}
|
|
477
|
+
}, 300);
|
|
317
478
|
}
|
|
318
479
|
};
|
|
319
480
|
scrollToActiveItem(hoursColumnRef, activeTime.hours);
|
|
@@ -322,7 +483,83 @@ var timePickerRoot = function(Root) {
|
|
|
322
483
|
}, [
|
|
323
484
|
activeTime,
|
|
324
485
|
isInnerOpen,
|
|
325
|
-
itemHeight
|
|
486
|
+
itemHeight,
|
|
487
|
+
gap,
|
|
488
|
+
updateScrollbar
|
|
489
|
+
]);
|
|
490
|
+
(0, _react.useEffect)(function() {
|
|
491
|
+
var hoursColumn = hoursColumnRef.current;
|
|
492
|
+
var minutesColumn = minutesColumnRef.current;
|
|
493
|
+
var secondsColumn = secondsColumnRef.current;
|
|
494
|
+
var handleHoursScroll = function() {
|
|
495
|
+
return handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);
|
|
496
|
+
};
|
|
497
|
+
var handleMinutesScroll = function() {
|
|
498
|
+
return handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);
|
|
499
|
+
};
|
|
500
|
+
var handleSecondsScroll = function() {
|
|
501
|
+
return handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);
|
|
502
|
+
};
|
|
503
|
+
if (hoursColumn) {
|
|
504
|
+
hoursColumn.addEventListener('scroll', handleHoursScroll);
|
|
505
|
+
}
|
|
506
|
+
if (minutesColumn) {
|
|
507
|
+
minutesColumn.addEventListener('scroll', handleMinutesScroll);
|
|
508
|
+
}
|
|
509
|
+
if (secondsColumn) {
|
|
510
|
+
secondsColumn.addEventListener('scroll', handleSecondsScroll);
|
|
511
|
+
}
|
|
512
|
+
return function() {
|
|
513
|
+
if (hoursColumn) {
|
|
514
|
+
hoursColumn.removeEventListener('scroll', handleHoursScroll);
|
|
515
|
+
}
|
|
516
|
+
if (minutesColumn) {
|
|
517
|
+
minutesColumn.removeEventListener('scroll', handleMinutesScroll);
|
|
518
|
+
}
|
|
519
|
+
if (secondsColumn) {
|
|
520
|
+
secondsColumn.removeEventListener('scroll', handleSecondsScroll);
|
|
521
|
+
}
|
|
522
|
+
};
|
|
523
|
+
}, [
|
|
524
|
+
isInnerOpen,
|
|
525
|
+
handleColumnScroll
|
|
526
|
+
]);
|
|
527
|
+
(0, _react.useEffect)(function() {
|
|
528
|
+
var hoursColumn = hoursColumnRef.current;
|
|
529
|
+
var minutesColumn = minutesColumnRef.current;
|
|
530
|
+
var secondsColumn = secondsColumnRef.current;
|
|
531
|
+
var handleHoursMouseEnter = function() {
|
|
532
|
+
return showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);
|
|
533
|
+
};
|
|
534
|
+
var handleMinutesMouseEnter = function() {
|
|
535
|
+
return showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);
|
|
536
|
+
};
|
|
537
|
+
var handleSecondsMouseEnter = function() {
|
|
538
|
+
return showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);
|
|
539
|
+
};
|
|
540
|
+
if (hoursColumn) {
|
|
541
|
+
hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);
|
|
542
|
+
}
|
|
543
|
+
if (minutesColumn) {
|
|
544
|
+
minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);
|
|
545
|
+
}
|
|
546
|
+
if (secondsColumn) {
|
|
547
|
+
secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);
|
|
548
|
+
}
|
|
549
|
+
return function() {
|
|
550
|
+
if (hoursColumn) {
|
|
551
|
+
hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);
|
|
552
|
+
}
|
|
553
|
+
if (minutesColumn) {
|
|
554
|
+
minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);
|
|
555
|
+
}
|
|
556
|
+
if (secondsColumn) {
|
|
557
|
+
secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);
|
|
558
|
+
}
|
|
559
|
+
};
|
|
560
|
+
}, [
|
|
561
|
+
isInnerOpen,
|
|
562
|
+
showScrollbarWithDelay
|
|
326
563
|
]);
|
|
327
564
|
var handleToggle = function() {
|
|
328
565
|
if (disabled || readonly) return;
|
|
@@ -567,11 +804,17 @@ var timePickerRoot = function(Root) {
|
|
|
567
804
|
labelPlacement: labelPlacement,
|
|
568
805
|
keepPlaceholder: keepPlaceholder
|
|
569
806
|
});
|
|
570
|
-
var renderTimeColumn = function(values, column, columnRef) {
|
|
571
|
-
return /*#__PURE__*/ _react.default.createElement(
|
|
807
|
+
var renderTimeColumn = function(values, column, columnRef, scrollbarState, setScrollbar, scrollbarRef, thumbRef, timeoutRef) {
|
|
808
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
809
|
+
style: {
|
|
810
|
+
position: 'relative',
|
|
811
|
+
width: '100%'
|
|
812
|
+
}
|
|
813
|
+
}, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimeColumn, {
|
|
572
814
|
key: column,
|
|
573
815
|
ref: columnRef,
|
|
574
|
-
height: dropdownHeight
|
|
816
|
+
height: dropdownHeight,
|
|
817
|
+
className: _TimePickertokens.classes.timeColumn
|
|
575
818
|
}, values.map(function(value, index) {
|
|
576
819
|
return /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimeItem, {
|
|
577
820
|
key: value,
|
|
@@ -586,7 +829,17 @@ var timePickerRoot = function(Root) {
|
|
|
586
829
|
return handleTimeItemKeyDown(e, column, value);
|
|
587
830
|
}
|
|
588
831
|
}, value);
|
|
589
|
-
}))
|
|
832
|
+
}), /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledEmpty, null)), /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.CustomScrollbar, {
|
|
833
|
+
ref: scrollbarRef,
|
|
834
|
+
className: (0, _classnames.default)(_define_property({}, _TimePickertokens.classes.scrollbarVisible, scrollbarState.isVisible))
|
|
835
|
+
}, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.ScrollbarTrack, null, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.ScrollbarThumb, {
|
|
836
|
+
ref: thumbRef,
|
|
837
|
+
style: {
|
|
838
|
+
height: "".concat(scrollbarState.thumbHeight, "px"),
|
|
839
|
+
top: "".concat(scrollbarState.thumbPosition, "px")
|
|
840
|
+
},
|
|
841
|
+
onMouseDown: createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)
|
|
842
|
+
}))));
|
|
590
843
|
};
|
|
591
844
|
return /*#__PURE__*/ _react.default.createElement(Root, _object_spread({
|
|
592
845
|
stretched: stretched,
|
|
@@ -619,7 +872,7 @@ var timePickerRoot = function(Root) {
|
|
|
619
872
|
stretched: stretched
|
|
620
873
|
}, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimePicker, {
|
|
621
874
|
width: dropdownWidth
|
|
622
|
-
}, renderTimeColumn(hours, 'hours', hoursColumnRef), renderTimeColumn(minutes, 'minutes', minutesColumnRef), columnsQuantity === 3 && renderTimeColumn(seconds, 'seconds', secondsColumnRef)))));
|
|
875
|
+
}, 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)))));
|
|
623
876
|
});
|
|
624
877
|
};
|
|
625
878
|
var timePickerConfig = {
|