@salutejs/plasma-new-hope 0.337.0-canary.2184.17983182622.0 → 0.337.0-canary.2184.18005913845.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.
Files changed (96) hide show
  1. package/cjs/components/TimePicker/TimePicker.css +11 -9
  2. package/cjs/components/TimePicker/TimePicker.js +108 -96
  3. package/cjs/components/TimePicker/TimePicker.js.map +1 -1
  4. package/cjs/components/TimePicker/TimePicker.styles.js +1 -46
  5. package/cjs/components/TimePicker/TimePicker.styles.js.map +1 -1
  6. package/cjs/components/TimePicker/{TimePicker.styles_1548b5s.css → TimePicker.styles_ar3obv.css} +0 -6
  7. package/cjs/components/TimePicker/TimePicker.tokens.js +2 -2
  8. package/cjs/components/TimePicker/TimePicker.tokens.js.map +1 -1
  9. package/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +7 -13
  10. package/cjs/components/TimePicker/hooks/useKeyboardNavigation.js.map +1 -1
  11. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.css +7 -0
  12. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +65 -0
  13. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +1 -0
  14. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +61 -0
  15. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  16. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +7 -0
  17. package/cjs/components/TimePicker/utils/index.js +40 -42
  18. package/cjs/components/TimePicker/utils/index.js.map +1 -1
  19. package/cjs/index.css +11 -9
  20. package/emotion/cjs/components/TimePicker/TimePicker.js +104 -92
  21. package/emotion/cjs/components/TimePicker/TimePicker.styles.js +7 -52
  22. package/emotion/cjs/components/TimePicker/TimePicker.tokens.js +2 -2
  23. package/emotion/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +7 -15
  24. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +65 -0
  25. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +71 -0
  26. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +4 -0
  27. package/emotion/cjs/components/TimePicker/utils/index.js +40 -42
  28. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  29. package/emotion/cjs/examples/components/TimePicker/TimePicker.config.js +7 -7
  30. package/emotion/es/components/TimePicker/TimePicker.js +106 -94
  31. package/emotion/es/components/TimePicker/TimePicker.styles.js +7 -34
  32. package/emotion/es/components/TimePicker/TimePicker.tokens.js +2 -2
  33. package/emotion/es/components/TimePicker/hooks/useKeyboardNavigation.js +7 -15
  34. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +50 -0
  35. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +33 -0
  36. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +1 -0
  37. package/emotion/es/components/TimePicker/utils/index.js +37 -42
  38. package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
  39. package/emotion/es/examples/components/TimePicker/TimePicker.config.js +7 -7
  40. package/es/components/TimePicker/TimePicker.css +11 -9
  41. package/es/components/TimePicker/TimePicker.js +110 -98
  42. package/es/components/TimePicker/TimePicker.js.map +1 -1
  43. package/es/components/TimePicker/TimePicker.styles.js +2 -41
  44. package/es/components/TimePicker/TimePicker.styles.js.map +1 -1
  45. package/es/components/TimePicker/{TimePicker.styles_1548b5s.css → TimePicker.styles_ar3obv.css} +0 -6
  46. package/es/components/TimePicker/TimePicker.tokens.js +2 -2
  47. package/es/components/TimePicker/TimePicker.tokens.js.map +1 -1
  48. package/es/components/TimePicker/hooks/useKeyboardNavigation.js +7 -13
  49. package/es/components/TimePicker/hooks/useKeyboardNavigation.js.map +1 -1
  50. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.css +7 -0
  51. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +56 -0
  52. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +1 -0
  53. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +51 -0
  54. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  55. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +7 -0
  56. package/es/components/TimePicker/utils/index.js +40 -43
  57. package/es/components/TimePicker/utils/index.js.map +1 -1
  58. package/es/index.css +11 -9
  59. package/package.json +2 -2
  60. package/styled-components/cjs/components/TimePicker/TimePicker.js +104 -92
  61. package/styled-components/cjs/components/TimePicker/TimePicker.styles.js +3 -87
  62. package/styled-components/cjs/components/TimePicker/TimePicker.tokens.js +2 -2
  63. package/styled-components/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +7 -15
  64. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +65 -0
  65. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +112 -0
  66. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +4 -0
  67. package/styled-components/cjs/components/TimePicker/utils/index.js +40 -42
  68. package/styled-components/cjs/examples/components/TimePicker/TimePicker.config.js +29 -11
  69. package/styled-components/es/components/TimePicker/TimePicker.js +106 -94
  70. package/styled-components/es/components/TimePicker/TimePicker.styles.js +3 -69
  71. package/styled-components/es/components/TimePicker/TimePicker.tokens.js +2 -2
  72. package/styled-components/es/components/TimePicker/hooks/useKeyboardNavigation.js +7 -15
  73. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +50 -0
  74. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +74 -0
  75. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +1 -0
  76. package/styled-components/es/components/TimePicker/utils/index.js +37 -42
  77. package/styled-components/es/examples/components/TimePicker/TimePicker.config.js +29 -11
  78. package/types/components/TimePicker/TimePicker.d.ts +2 -2
  79. package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
  80. package/types/components/TimePicker/TimePicker.styles.d.ts +0 -8
  81. package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
  82. package/types/components/TimePicker/TimePicker.tokens.d.ts +2 -2
  83. package/types/components/TimePicker/TimePicker.types.d.ts +1 -1
  84. package/types/components/TimePicker/TimePicker.types.d.ts.map +1 -1
  85. package/types/components/TimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  86. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts +3 -0
  87. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts.map +1 -0
  88. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts +10 -0
  89. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts.map +1 -0
  90. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts +35 -0
  91. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -0
  92. package/types/components/TimePicker/utils/index.d.ts +1 -0
  93. package/types/components/TimePicker/utils/index.d.ts.map +1 -1
  94. package/types/examples/components/TimePicker/TimePicker.config.d.ts.map +1 -1
  95. package/types/examples/components/TimePicker/TimePicker.d.ts +1 -1
  96. package/types/examples/components/TimePicker/TimePicker.d.ts.map +1 -1
@@ -27,6 +27,7 @@ var _base1 = require("./variations/_view/base");
27
27
  var _base2 = require("./variations/_disabled/base");
28
28
  var _base3 = require("./variations/_readonly/base");
29
29
  var _useKeyboardNavigation = require("./hooks/useKeyboardNavigation");
30
+ var _TimeColumn = require("./ui/TimeColumn/TimeColumn");
30
31
  function _array_like_to_array(arr, len) {
31
32
  if (len == null || len > arr.length) len = arr.length;
32
33
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -293,6 +294,7 @@ var timePickerRoot = function(Root) {
293
294
  var hours = (0, _utils1.range)(24);
294
295
  var minutes = (0, _utils1.range)(60);
295
296
  var seconds = (0, _utils1.range)(60);
297
+ var minScrollbarTrackHeight = 20;
296
298
  var calculateScrollbar = (0, _react.useCallback)(function(columnRef) {
297
299
  if (!columnRef.current) return {
298
300
  thumbHeight: 0,
@@ -300,7 +302,7 @@ var timePickerRoot = function(Root) {
300
302
  };
301
303
  var _columnRef_current = columnRef.current, scrollTop = _columnRef_current.scrollTop, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
302
304
  var trackHeight = clientHeight;
303
- var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, 20); // Минимальная высота 20px
305
+ var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, minScrollbarTrackHeight);
304
306
  var maxScroll = scrollHeight - clientHeight;
305
307
  var thumbPosition = maxScroll > 0 ? scrollTop / maxScroll * (trackHeight - thumbHeight) : 0;
306
308
  return {
@@ -404,35 +406,37 @@ var timePickerRoot = function(Root) {
404
406
  };
405
407
  }, []);
406
408
  (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);
409
+ if (!isInnerOpen) {
410
+ return;
415
411
  }
412
+ setTimeout(function() {
413
+ updateScrollbar(hoursColumnRef, setHoursScrollbar);
414
+ updateScrollbar(minutesColumnRef, setMinutesScrollbar);
415
+ if (columnsQuantity === 3) {
416
+ updateScrollbar(secondsColumnRef, setSecondsScrollbar);
417
+ }
418
+ }, 100);
416
419
  }, [
417
420
  isInnerOpen,
418
421
  columnsQuantity,
419
422
  updateScrollbar
420
423
  ]);
421
424
  (0, _react.useEffect)(function() {
422
- if (viewValue) {
423
- var timeString = viewValue;
424
- if (format === 'HH:mm' && viewValue.length > 5) {
425
- timeString = viewValue.substring(0, 5);
426
- }
427
- setInnerTime(viewValue);
428
- var _timeString_split_map = _sliced_to_array(timeString.split(':').map(Number), 3), hh = _timeString_split_map[0], mm = _timeString_split_map[1], ss = _timeString_split_map[2];
429
- setActiveTime({
430
- hours: !Number.isNaN(hh) ? hh : null,
431
- minutes: !Number.isNaN(mm) ? mm : null,
432
- seconds: format === 'HH:mm:ss' && !Number.isNaN(ss) ? ss : null,
433
- currentColumn: null
434
- });
425
+ if (!viewValue) {
426
+ return;
435
427
  }
428
+ var timeString = viewValue;
429
+ if (format === 'HH:mm' && viewValue.length > 5) {
430
+ timeString = viewValue.substring(0, 5);
431
+ }
432
+ setInnerTime(viewValue);
433
+ var _timeString_split_map = _sliced_to_array(timeString.split(_utils1.delimiter).map(Number), 3), hh = _timeString_split_map[0], mm = _timeString_split_map[1], ss = _timeString_split_map[2];
434
+ setActiveTime({
435
+ hours: !Number.isNaN(hh) ? hh : null,
436
+ minutes: !Number.isNaN(mm) ? mm : null,
437
+ seconds: format === 'HH:mm:ss' && !Number.isNaN(ss) ? ss : null,
438
+ currentColumn: null
439
+ });
436
440
  }, [
437
441
  outerValue,
438
442
  format
@@ -467,13 +471,7 @@ var timePickerRoot = function(Root) {
467
471
  var scrollPosition = index * (itemHeight + gap);
468
472
  (0, _utils1.animateScrollTo)(columnRef.current, scrollPosition);
469
473
  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
- }
474
+ updateScrollbar(columnRef, setHoursScrollbar);
477
475
  }, 300);
478
476
  }
479
477
  };
@@ -583,7 +581,7 @@ var timePickerRoot = function(Root) {
583
581
  };
584
582
  var handleTimeItemClick = function(value, column) {
585
583
  var isNextColumn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
586
- var currentTime = innerTime.split(':');
584
+ var currentTime = innerTime.split(_utils1.delimiter);
587
585
  var newTime = [];
588
586
  if (format === 'HH:mm:ss') {
589
587
  newTime = _to_consumable_array(currentTime);
@@ -603,10 +601,8 @@ var timePickerRoot = function(Root) {
603
601
  if (!currentTime[1]) {
604
602
  newTime[1] = '00';
605
603
  }
606
- if (format === 'HH:mm:ss') {
607
- if (!currentTime[2]) {
608
- newTime[2] = '00';
609
- }
604
+ if (format === 'HH:mm:ss' && !currentTime[2]) {
605
+ newTime[2] = '00';
610
606
  }
611
607
  break;
612
608
  case 'minutes':
@@ -614,10 +610,8 @@ var timePickerRoot = function(Root) {
614
610
  if (!currentTime[0]) {
615
611
  newTime[0] = '00';
616
612
  }
617
- if (format === 'HH:mm:ss') {
618
- if (!currentTime[2]) {
619
- newTime[2] = '00';
620
- }
613
+ if (format === 'HH:mm:ss' && !currentTime[2]) {
614
+ newTime[2] = '00';
621
615
  }
622
616
  break;
623
617
  case 'seconds':
@@ -634,7 +628,7 @@ var timePickerRoot = function(Root) {
634
628
  default:
635
629
  break;
636
630
  }
637
- var newTimeString = newTime.join(':');
631
+ var newTimeString = newTime.join(_utils1.delimiter);
638
632
  setInnerTime(newTimeString);
639
633
  var nextColumn = null;
640
634
  if (column === 'hours' && isNextColumn) {
@@ -672,12 +666,14 @@ var timePickerRoot = function(Root) {
672
666
  seconds: values.ss
673
667
  });
674
668
  });
675
- onChange === null || onChange === void 0 ? void 0 : onChange(_object_spread_props(_object_spread({}, event), {
676
- target: _object_spread_props(_object_spread({}, event.target), {
677
- value: innerString,
678
- timeValues: values
679
- })
680
- }));
669
+ if (onChange) {
670
+ onChange(_object_spread_props(_object_spread({}, event), {
671
+ target: _object_spread_props(_object_spread({}, event.target), {
672
+ value: innerString,
673
+ timeValues: values
674
+ })
675
+ }));
676
+ }
681
677
  requestAnimationFrame(function() {
682
678
  if (inputRef.current) {
683
679
  inputRef.current.setSelectionRange(newCursorPosition, newCursorPosition);
@@ -696,9 +692,13 @@ var timePickerRoot = function(Root) {
696
692
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(true);
697
693
  return;
698
694
  }
699
- if (!isInnerOpen) return;
695
+ if (!isInnerOpen) {
696
+ return;
697
+ }
700
698
  var currentColumn = activeTime.currentColumn;
701
- if (!currentColumn) return;
699
+ if (!currentColumn) {
700
+ return;
701
+ }
702
702
  var newIndex = null;
703
703
  var newColumn = currentColumn;
704
704
  if ([
@@ -751,8 +751,11 @@ var timePickerRoot = function(Root) {
751
751
  }
752
752
  break;
753
753
  case 'ArrowLeft':
754
- if (currentColumn === 'minutes') newColumn = 'hours';
755
- else if (currentColumn === 'seconds') newColumn = 'minutes';
754
+ if (currentColumn === 'minutes') {
755
+ newColumn = 'hours';
756
+ } else if (currentColumn === 'seconds') {
757
+ newColumn = 'minutes';
758
+ }
756
759
  var _activeTime_newColumn1;
757
760
  newIndex = (_activeTime_newColumn1 = activeTime[newColumn]) !== null && _activeTime_newColumn1 !== void 0 ? _activeTime_newColumn1 : 0;
758
761
  setActiveTime(_object_spread_props(_object_spread({}, activeTime), _define_property({
@@ -772,11 +775,15 @@ var timePickerRoot = function(Root) {
772
775
  handleTimeItemClick(value, column);
773
776
  }
774
777
  };
778
+ var handleOnKeyDown = function(e) {
779
+ onKeyDownNavigation(e);
780
+ handleKeyDown(e);
781
+ };
775
782
  var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
776
783
  isCalendarOpen: isInnerOpen,
777
784
  format: format,
778
785
  maskWithFormat: true,
779
- delimiter: ':',
786
+ delimiter: _utils1.delimiter,
780
787
  closeOnEsc: closeOnEsc,
781
788
  onToggle: handleToggle
782
789
  }), onKeyDownNavigation = _useKeyNavigation.onKeyDown;
@@ -793,10 +800,7 @@ var timePickerRoot = function(Root) {
793
800
  textAfter: textAfter,
794
801
  onChange: handleInputChange,
795
802
  onFocus: onFocus,
796
- onKeyDown: function(e) {
797
- onKeyDownNavigation(e);
798
- handleKeyDown(e);
799
- },
803
+ onKeyDown: handleOnKeyDown,
800
804
  required: required,
801
805
  requiredPlacement: requiredPlacement,
802
806
  hasRequiredIndicator: hasRequiredIndicator,
@@ -804,43 +808,6 @@ var timePickerRoot = function(Root) {
804
808
  labelPlacement: labelPlacement,
805
809
  keepPlaceholder: keepPlaceholder
806
810
  });
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, {
814
- key: column,
815
- ref: columnRef,
816
- height: dropdownHeight,
817
- className: _TimePickertokens.classes.timeColumn
818
- }, values.map(function(value, index) {
819
- return /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimeItem, {
820
- key: value,
821
- ref: function(el) {
822
- timeItemRefs.current["".concat(column, "-").concat(value)] = el;
823
- },
824
- className: (0, _classnames.default)(_define_property({}, _TimePickertokens.classes.timeItemActive, activeTime[column] === index)),
825
- onClick: function() {
826
- return handleTimeItemClick(value, column);
827
- },
828
- onKeyDown: function(e) {
829
- return handleTimeItemKeyDown(e, column, value);
830
- }
831
- }, value);
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
- }))));
843
- };
844
811
  return /*#__PURE__*/ _react.default.createElement(Root, _object_spread({
845
812
  stretched: stretched,
846
813
  view: view,
@@ -873,7 +840,52 @@ var timePickerRoot = function(Root) {
873
840
  stretched: stretched
874
841
  }, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimePicker, {
875
842
  width: dropdownWidth
876
- }, 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)))));
843
+ }, (0, _TimeColumn.renderTimeColumn)({
844
+ values: hours,
845
+ dropdownHeight: dropdownHeight,
846
+ column: 'hours',
847
+ columnRef: hoursColumnRef,
848
+ scrollbarState: hoursScrollbar,
849
+ setScrollbar: setHoursScrollbar,
850
+ scrollbarRef: hoursScrollbarRef,
851
+ thumbRef: hoursThumbRef,
852
+ timeoutRef: hoursHideTimeoutRef,
853
+ timeItemRefs: timeItemRefs,
854
+ activeTime: activeTime,
855
+ handleTimeItemClick: handleTimeItemClick,
856
+ handleTimeItemKeyDown: handleTimeItemKeyDown,
857
+ createScrollbarDragHandler: createScrollbarDragHandler
858
+ }), (0, _TimeColumn.renderTimeColumn)({
859
+ values: minutes,
860
+ dropdownHeight: dropdownHeight,
861
+ column: 'minutes',
862
+ columnRef: minutesColumnRef,
863
+ scrollbarState: minutesScrollbar,
864
+ setScrollbar: setMinutesScrollbar,
865
+ scrollbarRef: minutesScrollbarRef,
866
+ thumbRef: minutesThumbRef,
867
+ timeoutRef: minutesHideTimeoutRef,
868
+ timeItemRefs: timeItemRefs,
869
+ activeTime: activeTime,
870
+ handleTimeItemClick: handleTimeItemClick,
871
+ handleTimeItemKeyDown: handleTimeItemKeyDown,
872
+ createScrollbarDragHandler: createScrollbarDragHandler
873
+ }), columnsQuantity === 3 && (0, _TimeColumn.renderTimeColumn)({
874
+ values: seconds,
875
+ dropdownHeight: dropdownHeight,
876
+ column: 'seconds',
877
+ columnRef: secondsColumnRef,
878
+ scrollbarState: secondsScrollbar,
879
+ setScrollbar: setSecondsScrollbar,
880
+ scrollbarRef: secondsScrollbarRef,
881
+ thumbRef: secondsThumbRef,
882
+ timeoutRef: secondsHideTimeoutRef,
883
+ timeItemRefs: timeItemRefs,
884
+ activeTime: activeTime,
885
+ handleTimeItemClick: handleTimeItemClick,
886
+ handleTimeItemKeyDown: handleTimeItemKeyDown,
887
+ createScrollbarDragHandler: createScrollbarDragHandler
888
+ })))));
877
889
  });
878
890
  };
879
891
  var timePickerConfig = {
@@ -9,30 +9,12 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- get CustomScrollbar () {
13
- return CustomScrollbar;
14
- },
15
- get ScrollbarThumb () {
16
- return ScrollbarThumb;
17
- },
18
- get ScrollbarTrack () {
19
- return ScrollbarTrack;
20
- },
21
- get StyledEmpty () {
22
- return StyledEmpty;
23
- },
24
12
  get StyledInput () {
25
13
  return StyledInput;
26
14
  },
27
15
  get StyledPopover () {
28
16
  return StyledPopover;
29
17
  },
30
- get StyledTimeColumn () {
31
- return StyledTimeColumn;
32
- },
33
- get StyledTimeItem () {
34
- return StyledTimeItem;
35
- },
36
18
  get StyledTimePicker () {
37
19
  return StyledTimePicker;
38
20
  },
@@ -92,13 +74,13 @@ var mergedPopoverConfig = (0, _engines.mergeConfig)(_Popover.popoverConfig);
92
74
  var Popover = (0, _engines.component)(mergedPopoverConfig);
93
75
  var StyledPopover = (0, _styledcomponents.default)(Popover).withConfig({
94
76
  displayName: "TimePicker.styles__StyledPopover",
95
- componentId: "sc-dcb61f63-0"
77
+ componentId: "sc-8a747fd1-0"
96
78
  })([
97
79
  ""
98
80
  ]);
99
81
  var StyledInput = (0, _styledcomponents.default)(TextField).withConfig({
100
82
  displayName: "TimePicker.styles__StyledInput",
101
- componentId: "sc-dcb61f63-1"
83
+ componentId: "sc-8a747fd1-1"
102
84
  })([
103
85
  "width:100%;",
104
86
  ":var(",
@@ -262,7 +244,7 @@ var base = (0, _styledcomponents.css)([
262
244
  ], _TimePickertokens.tokens.width, _TimePickertokens.tokens.dropdownMarginTop, _Popover.popoverClasses.wrapper, _Popover.popoverClasses.target, _TimePickertokens.classes.timePickerstretched, _Popover.popoverClasses.root, _TimePickertokens.classes.timePickerFullWidth, _TimePickertokens.classes.timePickerPlacementRight);
263
245
  var StyledTimePicker = _styledcomponents.default.div.withConfig({
264
246
  displayName: "TimePicker.styles__StyledTimePicker",
265
- componentId: "sc-dcb61f63-2"
247
+ componentId: "sc-8a747fd1-2"
266
248
  })([
267
249
  "background:var(",
268
250
  ");border-radius:var(",
@@ -274,69 +256,3 @@ var StyledTimePicker = _styledcomponents.default.div.withConfig({
274
256
  var width = param.width;
275
257
  return (width === 'fullWidth' ? "var(".concat(_TimePickertokens.tokens.width, ")") : width) || "var(".concat(_TimePickertokens.tokens.timePickerWidth, ")");
276
258
  }, _TimePickertokens.tokens.timePickerPadding, _TimePickertokens.tokens.scrollbarWidth);
277
- var StyledTimeItem = _styledcomponents.default.div.withConfig({
278
- displayName: "TimePicker.styles__StyledTimeItem",
279
- componentId: "sc-dcb61f63-3"
280
- })([
281
- "height:var(",
282
- ");padding:var(",
283
- ");box-sizing:border-box;display:flex;justify-content:center;align-items:center;transition:0.05s;border-radius:var(",
284
- ");cursor:pointer;flex-shrink:0;overflow:auto;font-family:var(",
285
- ");font-size:var(",
286
- ");font-style:var(",
287
- ");font-weight:var(",
288
- ");letter-spacing:var(",
289
- ");line-height:var(",
290
- ");&:hover{background:var(",
291
- ");}&.",
292
- "{background:var(",
293
- ");}"
294
- ], _TimePickertokens.tokens.itemHeight, _TimePickertokens.tokens.itemPadding, _TimePickertokens.tokens.itemBorderRadius, _TimePickertokens.tokens.itemFontFamily, _TimePickertokens.tokens.itemFontSize, _TimePickertokens.tokens.itemFontStyle, _TimePickertokens.tokens.itemFontWeight, _TimePickertokens.tokens.itemLetterSpacing, _TimePickertokens.tokens.itemLineHeight, _TimePickertokens.tokens.itemHoverBackground, _TimePickertokens.classes.timeItemActive, _TimePickertokens.tokens.itemActiveBackground);
295
- var StyledTimeColumn = _styledcomponents.default.div.withConfig({
296
- displayName: "TimePicker.styles__StyledTimeColumn",
297
- componentId: "sc-dcb61f63-4"
298
- })([
299
- "max-height:",
300
- ";overflow-y:scroll;flex:1;z-index:3;box-sizing:border-box;display:flex;flex-direction:column;gap:var(",
301
- ");width:100%;&.",
302
- "{border:0.125rem solid var(",
303
- ");border-radius:var(",
304
- ");}scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none;width:0;}"
305
- ], function(param) {
306
- var height = param.height;
307
- return height || "var(".concat(_TimePickertokens.tokens.columnHeight, ")");
308
- }, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.classes.timeColumnActive, _TimePickertokens.tokens.itemHoverBackground, _TimePickertokens.tokens.itemBorderRadius);
309
- var CustomScrollbar = _styledcomponents.default.div.withConfig({
310
- displayName: "TimePicker.styles__CustomScrollbar",
311
- componentId: "sc-dcb61f63-5"
312
- })([
313
- "position:absolute;top:var(",
314
- ");right:0;bottom:var(",
315
- ");width:var(",
316
- ");opacity:0;transition:opacity 0.3s ease;pointer-events:none;z-index:10;overflow:hidden;&.",
317
- "{opacity:1;pointer-events:auto;}"
318
- ], _TimePickertokens.tokens.scrollbarMargin, _TimePickertokens.tokens.scrollbarMargin, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.classes.scrollbarVisible);
319
- var ScrollbarTrack = _styledcomponents.default.div.withConfig({
320
- displayName: "TimePicker.styles__ScrollbarTrack",
321
- componentId: "sc-dcb61f63-6"
322
- })([
323
- "position:relative;width:100%;height:100%;background:var(",
324
- ");border-radius:var(",
325
- ");"
326
- ], _TimePickertokens.tokens.scrollbarTrackColor, _TimePickertokens.tokens.scrollbarWidth);
327
- var ScrollbarThumb = _styledcomponents.default.div.withConfig({
328
- displayName: "TimePicker.styles__ScrollbarThumb",
329
- componentId: "sc-dcb61f63-7"
330
- })([
331
- "position:absolute;top:0;left:0;width:100%;background:var(",
332
- ");border-radius:var(",
333
- ");cursor:pointer;transition:background-color 0.2s ease;&:hover{background:var(",
334
- ");}&:active{background:var(",
335
- ");}"
336
- ], _TimePickertokens.tokens.scrollbarColor, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.tokens.scrollbarColor, _TimePickertokens.tokens.scrollbarTrackColor);
337
- var StyledEmpty = _styledcomponents.default.div.withConfig({
338
- displayName: "TimePicker.styles__StyledEmpty",
339
- componentId: "sc-dcb61f63-8"
340
- })([
341
- "width:100%;height:0%.125rem;"
342
- ]);
@@ -127,8 +127,8 @@ var tokens = {
127
127
  itemHeight: '--plasma-time-picker-item-height',
128
128
  itemBorderRadius: '--plasma-time-picker-item-border-radius',
129
129
  itemPadding: '--plasma-time-picker-item-padding',
130
- itemHoverBackground: '--plasma-time-picker-item-hover-background',
131
- itemActiveBackground: '--plasma-time-picker-item-active-background',
130
+ itemBackgroundHover: '--plasma-time-picker-item-hover-background',
131
+ itemBackgroundActive: '--plasma-time-picker-item-active-background',
132
132
  itemFontFamily: '--plasma-time-picker-item-font-family',
133
133
  itemFontStyle: '--plasma-time-picker-item-font-style',
134
134
  itemFontSize: '--plasma-time-picker-item-font-size',
@@ -15,21 +15,13 @@ var useKeyNavigation = function(param) {
15
15
  event.preventDefault();
16
16
  return;
17
17
  }
18
- switch(event.code){
19
- case 'Space':
20
- if (!isCalendarOpen) {
21
- event.preventDefault();
22
- onToggle(true, event);
23
- }
24
- break;
25
- case 'Escape':
26
- if (isCalendarOpen && closeOnEsc) {
27
- event.preventDefault();
28
- onToggle(false, event);
29
- }
30
- break;
31
- default:
32
- break;
18
+ if (event.code === 'Space' && !isCalendarOpen) {
19
+ event.preventDefault();
20
+ onToggle(true, event);
21
+ }
22
+ if (event.code === 'Escape' && isCalendarOpen && closeOnEsc) {
23
+ event.preventDefault();
24
+ onToggle(false, event);
33
25
  }
34
26
  };
35
27
  return {
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "renderTimeColumn", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return renderTimeColumn;
9
+ }
10
+ });
11
+ var _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
+ var _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
13
+ var _TimePickertokens = require("../../TimePicker.tokens");
14
+ var _TimeColumnstyles = require("./TimeColumn.styles");
15
+ function _define_property(obj, key, value) {
16
+ if (key in obj) {
17
+ Object.defineProperty(obj, key, {
18
+ value: value,
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true
22
+ });
23
+ } else {
24
+ obj[key] = value;
25
+ }
26
+ return obj;
27
+ }
28
+ function _interop_require_default(obj) {
29
+ return obj && obj.__esModule ? obj : {
30
+ default: obj
31
+ };
32
+ }
33
+ var renderTimeColumn = function(param) {
34
+ var values = param.values, dropdownHeight = param.dropdownHeight, column = param.column, columnRef = param.columnRef, scrollbarState = param.scrollbarState, setScrollbar = param.setScrollbar, scrollbarRef = param.scrollbarRef, thumbRef = param.thumbRef, timeoutRef = param.timeoutRef, timeItemRefs = param.timeItemRefs, activeTime = param.activeTime, handleTimeItemClick = param.handleTimeItemClick, handleTimeItemKeyDown = param.handleTimeItemKeyDown, createScrollbarDragHandler = param.createScrollbarDragHandler;
35
+ return /*#__PURE__*/ _react.default.createElement(_TimeColumnstyles.StyledRoot, null, /*#__PURE__*/ _react.default.createElement(_TimeColumnstyles.StyledTimeColumn, {
36
+ key: column,
37
+ ref: columnRef,
38
+ height: dropdownHeight,
39
+ className: _TimePickertokens.classes.timeColumn
40
+ }, values.map(function(value, index) {
41
+ return /*#__PURE__*/ _react.default.createElement(_TimeColumnstyles.StyledTimeItem, {
42
+ key: value,
43
+ ref: function(el) {
44
+ timeItemRefs.current["".concat(column, "-").concat(value)] = el;
45
+ },
46
+ className: (0, _classnames.default)(_define_property({}, _TimePickertokens.classes.timeItemActive, activeTime[column] === index)),
47
+ onClick: function() {
48
+ return handleTimeItemClick(value, column);
49
+ },
50
+ onKeyDown: function(e) {
51
+ return handleTimeItemKeyDown(e, column, value);
52
+ }
53
+ }, value);
54
+ }), /*#__PURE__*/ _react.default.createElement(_TimeColumnstyles.StyledEmpty, null)), /*#__PURE__*/ _react.default.createElement(_TimeColumnstyles.CustomScrollbar, {
55
+ ref: scrollbarRef,
56
+ className: (0, _classnames.default)(_define_property({}, _TimePickertokens.classes.scrollbarVisible, scrollbarState.isVisible))
57
+ }, /*#__PURE__*/ _react.default.createElement(_TimeColumnstyles.ScrollbarTrack, null, /*#__PURE__*/ _react.default.createElement(_TimeColumnstyles.ScrollbarThumb, {
58
+ ref: thumbRef,
59
+ style: {
60
+ height: "".concat(scrollbarState.thumbHeight, "px"),
61
+ top: "".concat(scrollbarState.thumbPosition, "px")
62
+ },
63
+ onMouseDown: createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)
64
+ }))));
65
+ };
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get CustomScrollbar () {
13
+ return CustomScrollbar;
14
+ },
15
+ get ScrollbarThumb () {
16
+ return ScrollbarThumb;
17
+ },
18
+ get ScrollbarTrack () {
19
+ return ScrollbarTrack;
20
+ },
21
+ get StyledEmpty () {
22
+ return StyledEmpty;
23
+ },
24
+ get StyledRoot () {
25
+ return StyledRoot;
26
+ },
27
+ get StyledTimeColumn () {
28
+ return StyledTimeColumn;
29
+ },
30
+ get StyledTimeItem () {
31
+ return StyledTimeItem;
32
+ }
33
+ });
34
+ var _styledcomponents = /*#__PURE__*/ _interop_require_default(require("styled-components"));
35
+ var _TimePickertokens = require("../../TimePicker.tokens");
36
+ function _interop_require_default(obj) {
37
+ return obj && obj.__esModule ? obj : {
38
+ default: obj
39
+ };
40
+ }
41
+ var StyledRoot = _styledcomponents.default.div.withConfig({
42
+ displayName: "TimeColumn.styles__StyledRoot",
43
+ componentId: "sc-a5ee4233-0"
44
+ })([
45
+ "position:relative;width:100%;"
46
+ ]);
47
+ var StyledTimeItem = _styledcomponents.default.div.withConfig({
48
+ displayName: "TimeColumn.styles__StyledTimeItem",
49
+ componentId: "sc-a5ee4233-1"
50
+ })([
51
+ "height:var(",
52
+ ");padding:var(",
53
+ ");box-sizing:border-box;display:flex;justify-content:center;align-items:center;transition:0.05s;border-radius:var(",
54
+ ");cursor:pointer;flex-shrink:0;overflow:auto;font-family:var(",
55
+ ");font-size:var(",
56
+ ");font-style:var(",
57
+ ");font-weight:var(",
58
+ ");letter-spacing:var(",
59
+ ");line-height:var(",
60
+ ");&:hover{background:var(",
61
+ ");}&.",
62
+ "{background:var(",
63
+ ");}"
64
+ ], _TimePickertokens.tokens.itemHeight, _TimePickertokens.tokens.itemPadding, _TimePickertokens.tokens.itemBorderRadius, _TimePickertokens.tokens.itemFontFamily, _TimePickertokens.tokens.itemFontSize, _TimePickertokens.tokens.itemFontStyle, _TimePickertokens.tokens.itemFontWeight, _TimePickertokens.tokens.itemLetterSpacing, _TimePickertokens.tokens.itemLineHeight, _TimePickertokens.tokens.itemBackgroundHover, _TimePickertokens.classes.timeItemActive, _TimePickertokens.tokens.itemBackgroundActive);
65
+ var StyledTimeColumn = _styledcomponents.default.div.withConfig({
66
+ displayName: "TimeColumn.styles__StyledTimeColumn",
67
+ componentId: "sc-a5ee4233-2"
68
+ })([
69
+ "max-height:",
70
+ ";overflow-y:scroll;flex:1;z-index:3;box-sizing:border-box;display:flex;flex-direction:column;gap:var(",
71
+ ");width:100%;&.",
72
+ "{border:0.125rem solid var(",
73
+ ");border-radius:var(",
74
+ ");}scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none;width:0;}"
75
+ ], function(param) {
76
+ var height = param.height;
77
+ return height || "var(".concat(_TimePickertokens.tokens.columnHeight, ")");
78
+ }, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.classes.timeColumnActive, _TimePickertokens.tokens.itemBackgroundHover, _TimePickertokens.tokens.itemBorderRadius);
79
+ var CustomScrollbar = _styledcomponents.default.div.withConfig({
80
+ displayName: "TimeColumn.styles__CustomScrollbar",
81
+ componentId: "sc-a5ee4233-3"
82
+ })([
83
+ "position:absolute;top:var(",
84
+ ");right:0;bottom:var(",
85
+ ");width:var(",
86
+ ");opacity:0;transition:opacity 0.3s ease;pointer-events:none;z-index:10;overflow:hidden;&.",
87
+ "{opacity:1;pointer-events:auto;}"
88
+ ], _TimePickertokens.tokens.scrollbarMargin, _TimePickertokens.tokens.scrollbarMargin, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.classes.scrollbarVisible);
89
+ var ScrollbarTrack = _styledcomponents.default.div.withConfig({
90
+ displayName: "TimeColumn.styles__ScrollbarTrack",
91
+ componentId: "sc-a5ee4233-4"
92
+ })([
93
+ "position:relative;width:100%;height:100%;background:var(",
94
+ ");border-radius:var(",
95
+ ");"
96
+ ], _TimePickertokens.tokens.scrollbarTrackColor, _TimePickertokens.tokens.scrollbarWidth);
97
+ var ScrollbarThumb = _styledcomponents.default.div.withConfig({
98
+ displayName: "TimeColumn.styles__ScrollbarThumb",
99
+ componentId: "sc-a5ee4233-5"
100
+ })([
101
+ "position:absolute;top:0;left:0;width:100%;background:var(",
102
+ ");border-radius:var(",
103
+ ");cursor:pointer;transition:background-color 0.2s ease;&:hover{background:var(",
104
+ ");}&:active{background:var(",
105
+ ");}"
106
+ ], _TimePickertokens.tokens.scrollbarColor, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.tokens.scrollbarColor, _TimePickertokens.tokens.scrollbarTrackColor);
107
+ var StyledEmpty = _styledcomponents.default.div.withConfig({
108
+ displayName: "TimeColumn.styles__StyledEmpty",
109
+ componentId: "sc-a5ee4233-6"
110
+ })([
111
+ "width:100%;height:0%.125rem;"
112
+ ]);
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });