@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
@@ -12,6 +12,9 @@ _export(exports, {
12
12
  get animateScrollTo () {
13
13
  return animateScrollTo;
14
14
  },
15
+ get delimiter () {
16
+ return delimiter;
17
+ },
15
18
  get normalizeTimeSegment () {
16
19
  return normalizeTimeSegment;
17
20
  },
@@ -22,6 +25,7 @@ _export(exports, {
22
25
  return range;
23
26
  }
24
27
  });
28
+ var delimiter = ':';
25
29
  var range = function(number) {
26
30
  var padLength = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2;
27
31
  return Array.from({
@@ -33,43 +37,46 @@ var range = function(number) {
33
37
  var normalizeTimeSegment = function(type, input) {
34
38
  var max = type === 'HH' ? 23 : 59;
35
39
  var digits = input.replace(/\D/g, '');
36
- if (!digits) return {
37
- text: '',
38
- value: null,
39
- carryover: ''
40
- };
40
+ var num = parseInt(digits, 10);
41
+ if (!digits) {
42
+ return {
43
+ text: '',
44
+ value: null,
45
+ carryover: ''
46
+ };
47
+ }
48
+ if (Math.floor(max / 10) < num && digits.length === 1) {
49
+ return {
50
+ text: num.toString().padStart(2, '0'),
51
+ value: num,
52
+ carryover: ''
53
+ };
54
+ }
55
+ if (num <= max && digits.length === 1) {
56
+ return {
57
+ text: digits,
58
+ value: num,
59
+ carryover: ''
60
+ };
61
+ }
41
62
  if (digits.length === 1) {
42
- var num = parseInt(digits, 10);
43
- if (Math.floor(max / 10) < num) {
44
- return {
45
- text: num.toString().padStart(2, '0'),
46
- value: num,
47
- carryover: ''
48
- };
49
- }
50
- if (num <= max) {
51
- return {
52
- text: digits,
53
- value: num,
54
- carryover: ''
55
- };
56
- }
57
63
  return {
58
64
  text: max.toString().padStart(2, '0'),
59
65
  value: max,
60
66
  carryover: ''
61
67
  };
62
68
  }
63
- var number = parseInt(digits, 10);
64
- if (Number.isNaN(number)) return {
65
- text: '',
66
- value: null,
67
- carryover: ''
68
- };
69
- if (number <= max) {
69
+ if (Number.isNaN(num)) {
70
+ return {
71
+ text: '',
72
+ value: null,
73
+ carryover: ''
74
+ };
75
+ }
76
+ if (num <= max) {
70
77
  return {
71
78
  text: digits.padStart(2, '0'),
72
- value: number,
79
+ value: num,
73
80
  carryover: ''
74
81
  };
75
82
  }
@@ -91,7 +98,7 @@ var normalizeTimeSegment = function(type, input) {
91
98
  var processTimeInput = function(input) {
92
99
  var format = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 'HH:mm:ss', cursorPosition = arguments.length > 2 ? arguments[2] : void 0;
93
100
  var digits = input.replace(/\D/g, '');
94
- var tokens = format.split(':');
101
+ var tokens = format.split(delimiter);
95
102
  var values = {
96
103
  hh: null,
97
104
  mm: null,
@@ -99,22 +106,13 @@ var processTimeInput = function(input) {
99
106
  };
100
107
  var segments = [];
101
108
  var digitIndex = 0;
102
- var carryover = '';
103
109
  var newCursorPosition = cursorPosition !== null && cursorPosition !== void 0 ? cursorPosition : 0;
104
- tokens.forEach(function(token, index) {
110
+ tokens.forEach(function(token) {
105
111
  var segmentDigits = digits.slice(digitIndex, digitIndex + 2);
106
112
  digitIndex += segmentDigits.length;
107
- if (carryover) {
108
- segmentDigits = carryover + segmentDigits;
109
- carryover = '';
110
- }
111
- var normalized = normalizeTimeSegment(token, segmentDigits);
112
- carryover = normalized.carryover;
113
- values[token.toLowerCase()] = normalized.value;
114
- segments.push(normalized.text);
115
- if (carryover && index === tokens.length - 1) {
116
- carryover = '';
117
- }
113
+ var _normalizeTimeSegment = normalizeTimeSegment(token, segmentDigits), text = _normalizeTimeSegment.text, value = _normalizeTimeSegment.value;
114
+ values[token.toLowerCase()] = value;
115
+ segments.push(text);
118
116
  });
119
117
  var innerString = segments[0];
120
118
  if (segments.length > 1 && segments[1]) {
@@ -26,12 +26,6 @@ var config = {
26
26
  ":var(--text-primary);",
27
27
  ":var(--text-secondary);",
28
28
  ":var(--text-accent);",
29
- ":var(--plasma-typo-body-xs-font-family);",
30
- ":var(--plasma-typo-body-xs-font-size);",
31
- ":var(--plasma-typo-body-xs-font-style);",
32
- ":var(--plasma-typo-body-xs-font-weight);",
33
- ":var(--plasma-typo-body-xs-letter-spacing);",
34
- ":var(--plasma-typo-body-xs-line-height);",
35
29
  ":var(--surface-negative);",
36
30
  ":var(--surface-transparent-primary);",
37
31
  ":var(--surface-transparent-secondary);",
@@ -47,7 +41,7 @@ var config = {
47
41
  ":var(--surface-transparent-secondary);",
48
42
  ":var(--surface-transparent-tertiary);",
49
43
  ":var(--surface-transparent-primary);"
50
- ], _TimePicker.timePickerTokens.background, _TimePicker.timePickerTokens.backgroundError, _TimePicker.timePickerTokens.backgroundSuccess, _TimePicker.timePickerTokens.labelColor, _TimePicker.timePickerTokens.textFieldColor, _TimePicker.timePickerTokens.textFieldPlaceholderColor, _TimePicker.timePickerTokens.textFieldCaretColor, _TimePicker.timePickerTokens.labelInnerFontFamily, _TimePicker.timePickerTokens.labelInnerFontSize, _TimePicker.timePickerTokens.labelInnerFontStyle, _TimePicker.timePickerTokens.labelInnerFontWeight, _TimePicker.timePickerTokens.labelInnerLetterSpacing, _TimePicker.timePickerTokens.labelInnerLineHeight, _TimePicker.timePickerTokens.indicatorColor, _TimePicker.timePickerTokens.textFieldBackgroundColor, _TimePicker.timePickerTokens.textFieldBackgroundColorFocus, _TimePicker.timePickerTokens.textFieldBackgroundErrorColor, _TimePicker.timePickerTokens.textFieldBackgroundErrorColorFocus, _TimePicker.timePickerTokens.textFieldBackgroundSuccessColor, _TimePicker.timePickerTokens.textFieldBackgroundSuccessColorFocus, _TimePicker.timePickerTokens.textFieldTextBeforeColor, _TimePicker.timePickerTokens.textFieldTextAfterColor, _TimePicker.timePickerTokens.textFieldPlaceholderColorFocus, _TimePicker.timePickerTokens.timePickerBackground, _TimePicker.timePickerTokens.itemHoverBackground, _TimePicker.timePickerTokens.itemActiveBackground, _TimePicker.timePickerTokens.scrollbarColor, _TimePicker.timePickerTokens.scrollbarTrackColor)
44
+ ], _TimePicker.timePickerTokens.background, _TimePicker.timePickerTokens.backgroundError, _TimePicker.timePickerTokens.backgroundSuccess, _TimePicker.timePickerTokens.labelColor, _TimePicker.timePickerTokens.textFieldColor, _TimePicker.timePickerTokens.textFieldPlaceholderColor, _TimePicker.timePickerTokens.textFieldCaretColor, _TimePicker.timePickerTokens.indicatorColor, _TimePicker.timePickerTokens.textFieldBackgroundColor, _TimePicker.timePickerTokens.textFieldBackgroundColorFocus, _TimePicker.timePickerTokens.textFieldBackgroundErrorColor, _TimePicker.timePickerTokens.textFieldBackgroundErrorColorFocus, _TimePicker.timePickerTokens.textFieldBackgroundSuccessColor, _TimePicker.timePickerTokens.textFieldBackgroundSuccessColorFocus, _TimePicker.timePickerTokens.textFieldTextBeforeColor, _TimePicker.timePickerTokens.textFieldTextAfterColor, _TimePicker.timePickerTokens.textFieldPlaceholderColorFocus, _TimePicker.timePickerTokens.timePickerBackground, _TimePicker.timePickerTokens.itemBackgroundHover, _TimePicker.timePickerTokens.itemBackgroundActive, _TimePicker.timePickerTokens.scrollbarColor, _TimePicker.timePickerTokens.scrollbarTrackColor)
51
45
  },
52
46
  size: {
53
47
  l: (0, _styledcomponents.css)([
@@ -97,9 +91,15 @@ var config = {
97
91
  ":3.5rem;",
98
92
  ":0.75rem;",
99
93
  ":0rem;",
94
+ ":var(--plasma-typo-body-xs-font-family);",
95
+ ":var(--plasma-typo-body-xs-font-size);",
96
+ ":var(--plasma-typo-body-xs-font-style);",
97
+ ":var(--plasma-typo-body-xs-font-weight);",
98
+ ":var(--plasma-typo-body-xs-letter-spacing);",
99
+ ":var(--plasma-typo-body-xs-line-height);",
100
100
  ":0.125rem;",
101
101
  ":0.5rem;"
102
- ], _TimePicker.timePickerTokens.width, _TimePicker.timePickerTokens.borderRadius, _TimePicker.timePickerTokens.leftContentMargin, _TimePicker.timePickerTokens.rightContentMargin, _TimePicker.timePickerTokens.labelOffset, _TimePicker.timePickerTokens.labelInnerPadding, _TimePicker.timePickerTokens.contentLabelInnerPadding, _TimePicker.timePickerTokens.labelFontFamily, _TimePicker.timePickerTokens.labelFontStyle, _TimePicker.timePickerTokens.labelFontSize, _TimePicker.timePickerTokens.labelFontWeight, _TimePicker.timePickerTokens.labelLetterSpacing, _TimePicker.timePickerTokens.labelLineHeight, _TimePicker.timePickerTokens.indicatorSize, _TimePicker.timePickerTokens.indicatorSizeOuter, _TimePicker.timePickerTokens.indicatorPlacement, _TimePicker.timePickerTokens.indicatorOuterPlacement, _TimePicker.timePickerTokens.indicatorPlacementRight, _TimePicker.timePickerTokens.indicatorOuterPlacementRight, _TimePicker.timePickerTokens.textFieldHeight, _TimePicker.timePickerTokens.textFieldBorderRadius, _TimePicker.timePickerTokens.textFieldPadding, _TimePicker.timePickerTokens.textFieldFontFamily, _TimePicker.timePickerTokens.textFieldFontStyle, _TimePicker.timePickerTokens.textFieldFontSize, _TimePicker.timePickerTokens.textFieldFontWeight, _TimePicker.timePickerTokens.textFieldLetterSpacing, _TimePicker.timePickerTokens.textFieldLineHeight, _TimePicker.timePickerTokens.textFieldLeftContentMargin, _TimePicker.timePickerTokens.textFieldRightContentMargin, _TimePicker.timePickerTokens.textFieldTextBeforeMargin, _TimePicker.timePickerTokens.textFieldTextAfterMargin, _TimePicker.timePickerTokens.timePickerBorderRadius, _TimePicker.timePickerTokens.timePickerWidth, _TimePicker.timePickerTokens.timePickerPadding, _TimePicker.timePickerTokens.columnHeight, _TimePicker.timePickerTokens.itemFontFamily, _TimePicker.timePickerTokens.itemFontSize, _TimePicker.timePickerTokens.itemFontStyle, _TimePicker.timePickerTokens.itemFontWeight, _TimePicker.timePickerTokens.itemLetterSpacing, _TimePicker.timePickerTokens.itemLineHeight, _TimePicker.timePickerTokens.itemHeight, _TimePicker.timePickerTokens.itemBorderRadius, _TimePicker.timePickerTokens.itemPadding, _TimePicker.timePickerTokens.scrollbarWidth, _TimePicker.timePickerTokens.scrollbarMargin),
102
+ ], _TimePicker.timePickerTokens.width, _TimePicker.timePickerTokens.borderRadius, _TimePicker.timePickerTokens.leftContentMargin, _TimePicker.timePickerTokens.rightContentMargin, _TimePicker.timePickerTokens.labelOffset, _TimePicker.timePickerTokens.labelInnerPadding, _TimePicker.timePickerTokens.contentLabelInnerPadding, _TimePicker.timePickerTokens.labelFontFamily, _TimePicker.timePickerTokens.labelFontStyle, _TimePicker.timePickerTokens.labelFontSize, _TimePicker.timePickerTokens.labelFontWeight, _TimePicker.timePickerTokens.labelLetterSpacing, _TimePicker.timePickerTokens.labelLineHeight, _TimePicker.timePickerTokens.indicatorSize, _TimePicker.timePickerTokens.indicatorSizeOuter, _TimePicker.timePickerTokens.indicatorPlacement, _TimePicker.timePickerTokens.indicatorOuterPlacement, _TimePicker.timePickerTokens.indicatorPlacementRight, _TimePicker.timePickerTokens.indicatorOuterPlacementRight, _TimePicker.timePickerTokens.textFieldHeight, _TimePicker.timePickerTokens.textFieldBorderRadius, _TimePicker.timePickerTokens.textFieldPadding, _TimePicker.timePickerTokens.textFieldFontFamily, _TimePicker.timePickerTokens.textFieldFontStyle, _TimePicker.timePickerTokens.textFieldFontSize, _TimePicker.timePickerTokens.textFieldFontWeight, _TimePicker.timePickerTokens.textFieldLetterSpacing, _TimePicker.timePickerTokens.textFieldLineHeight, _TimePicker.timePickerTokens.textFieldLeftContentMargin, _TimePicker.timePickerTokens.textFieldRightContentMargin, _TimePicker.timePickerTokens.textFieldTextBeforeMargin, _TimePicker.timePickerTokens.textFieldTextAfterMargin, _TimePicker.timePickerTokens.timePickerBorderRadius, _TimePicker.timePickerTokens.timePickerWidth, _TimePicker.timePickerTokens.timePickerPadding, _TimePicker.timePickerTokens.columnHeight, _TimePicker.timePickerTokens.itemFontFamily, _TimePicker.timePickerTokens.itemFontSize, _TimePicker.timePickerTokens.itemFontStyle, _TimePicker.timePickerTokens.itemFontWeight, _TimePicker.timePickerTokens.itemLetterSpacing, _TimePicker.timePickerTokens.itemLineHeight, _TimePicker.timePickerTokens.itemHeight, _TimePicker.timePickerTokens.itemBorderRadius, _TimePicker.timePickerTokens.itemPadding, _TimePicker.timePickerTokens.labelInnerFontFamily, _TimePicker.timePickerTokens.labelInnerFontSize, _TimePicker.timePickerTokens.labelInnerFontStyle, _TimePicker.timePickerTokens.labelInnerFontWeight, _TimePicker.timePickerTokens.labelInnerLetterSpacing, _TimePicker.timePickerTokens.labelInnerLineHeight, _TimePicker.timePickerTokens.scrollbarWidth, _TimePicker.timePickerTokens.scrollbarMargin),
103
103
  m: (0, _styledcomponents.css)([
104
104
  "",
105
105
  ":20rem;",
@@ -147,9 +147,15 @@ var config = {
147
147
  ":3rem;",
148
148
  ":0.625rem;",
149
149
  ":0rem;",
150
+ ":var(--plasma-typo-body-xs-font-family);",
151
+ ":var(--plasma-typo-body-xs-font-size);",
152
+ ":var(--plasma-typo-body-xs-font-style);",
153
+ ":var(--plasma-typo-body-xs-font-weight);",
154
+ ":var(--plasma-typo-body-xs-letter-spacing);",
155
+ ":var(--plasma-typo-body-xs-line-height);",
150
156
  ":0.125rem;",
151
157
  ":0.375rem;"
152
- ], _TimePicker.timePickerTokens.width, _TimePicker.timePickerTokens.borderRadius, _TimePicker.timePickerTokens.leftContentMargin, _TimePicker.timePickerTokens.rightContentMargin, _TimePicker.timePickerTokens.labelOffset, _TimePicker.timePickerTokens.labelInnerPadding, _TimePicker.timePickerTokens.contentLabelInnerPadding, _TimePicker.timePickerTokens.labelFontFamily, _TimePicker.timePickerTokens.labelFontStyle, _TimePicker.timePickerTokens.labelFontSize, _TimePicker.timePickerTokens.labelFontWeight, _TimePicker.timePickerTokens.labelLetterSpacing, _TimePicker.timePickerTokens.labelLineHeight, _TimePicker.timePickerTokens.indicatorSize, _TimePicker.timePickerTokens.indicatorSizeOuter, _TimePicker.timePickerTokens.indicatorPlacement, _TimePicker.timePickerTokens.indicatorOuterPlacement, _TimePicker.timePickerTokens.indicatorPlacementRight, _TimePicker.timePickerTokens.indicatorOuterPlacementRight, _TimePicker.timePickerTokens.textFieldHeight, _TimePicker.timePickerTokens.textFieldBorderRadius, _TimePicker.timePickerTokens.textFieldPadding, _TimePicker.timePickerTokens.textFieldFontFamily, _TimePicker.timePickerTokens.textFieldFontStyle, _TimePicker.timePickerTokens.textFieldFontSize, _TimePicker.timePickerTokens.textFieldFontWeight, _TimePicker.timePickerTokens.textFieldLetterSpacing, _TimePicker.timePickerTokens.textFieldLineHeight, _TimePicker.timePickerTokens.textFieldLeftContentMargin, _TimePicker.timePickerTokens.textFieldRightContentMargin, _TimePicker.timePickerTokens.textFieldTextBeforeMargin, _TimePicker.timePickerTokens.textFieldTextAfterMargin, _TimePicker.timePickerTokens.timePickerBorderRadius, _TimePicker.timePickerTokens.timePickerWidth, _TimePicker.timePickerTokens.timePickerPadding, _TimePicker.timePickerTokens.columnHeight, _TimePicker.timePickerTokens.itemFontFamily, _TimePicker.timePickerTokens.itemFontSize, _TimePicker.timePickerTokens.itemFontStyle, _TimePicker.timePickerTokens.itemFontWeight, _TimePicker.timePickerTokens.itemLetterSpacing, _TimePicker.timePickerTokens.itemLineHeight, _TimePicker.timePickerTokens.itemHeight, _TimePicker.timePickerTokens.itemBorderRadius, _TimePicker.timePickerTokens.itemPadding, _TimePicker.timePickerTokens.scrollbarWidth, _TimePicker.timePickerTokens.scrollbarMargin),
158
+ ], _TimePicker.timePickerTokens.width, _TimePicker.timePickerTokens.borderRadius, _TimePicker.timePickerTokens.leftContentMargin, _TimePicker.timePickerTokens.rightContentMargin, _TimePicker.timePickerTokens.labelOffset, _TimePicker.timePickerTokens.labelInnerPadding, _TimePicker.timePickerTokens.contentLabelInnerPadding, _TimePicker.timePickerTokens.labelFontFamily, _TimePicker.timePickerTokens.labelFontStyle, _TimePicker.timePickerTokens.labelFontSize, _TimePicker.timePickerTokens.labelFontWeight, _TimePicker.timePickerTokens.labelLetterSpacing, _TimePicker.timePickerTokens.labelLineHeight, _TimePicker.timePickerTokens.indicatorSize, _TimePicker.timePickerTokens.indicatorSizeOuter, _TimePicker.timePickerTokens.indicatorPlacement, _TimePicker.timePickerTokens.indicatorOuterPlacement, _TimePicker.timePickerTokens.indicatorPlacementRight, _TimePicker.timePickerTokens.indicatorOuterPlacementRight, _TimePicker.timePickerTokens.textFieldHeight, _TimePicker.timePickerTokens.textFieldBorderRadius, _TimePicker.timePickerTokens.textFieldPadding, _TimePicker.timePickerTokens.textFieldFontFamily, _TimePicker.timePickerTokens.textFieldFontStyle, _TimePicker.timePickerTokens.textFieldFontSize, _TimePicker.timePickerTokens.textFieldFontWeight, _TimePicker.timePickerTokens.textFieldLetterSpacing, _TimePicker.timePickerTokens.textFieldLineHeight, _TimePicker.timePickerTokens.textFieldLeftContentMargin, _TimePicker.timePickerTokens.textFieldRightContentMargin, _TimePicker.timePickerTokens.textFieldTextBeforeMargin, _TimePicker.timePickerTokens.textFieldTextAfterMargin, _TimePicker.timePickerTokens.timePickerBorderRadius, _TimePicker.timePickerTokens.timePickerWidth, _TimePicker.timePickerTokens.timePickerPadding, _TimePicker.timePickerTokens.columnHeight, _TimePicker.timePickerTokens.itemFontFamily, _TimePicker.timePickerTokens.itemFontSize, _TimePicker.timePickerTokens.itemFontStyle, _TimePicker.timePickerTokens.itemFontWeight, _TimePicker.timePickerTokens.itemLetterSpacing, _TimePicker.timePickerTokens.itemLineHeight, _TimePicker.timePickerTokens.itemHeight, _TimePicker.timePickerTokens.itemBorderRadius, _TimePicker.timePickerTokens.itemPadding, _TimePicker.timePickerTokens.labelInnerFontFamily, _TimePicker.timePickerTokens.labelInnerFontSize, _TimePicker.timePickerTokens.labelInnerFontStyle, _TimePicker.timePickerTokens.labelInnerFontWeight, _TimePicker.timePickerTokens.labelInnerLetterSpacing, _TimePicker.timePickerTokens.labelInnerLineHeight, _TimePicker.timePickerTokens.scrollbarWidth, _TimePicker.timePickerTokens.scrollbarMargin),
153
159
  s: (0, _styledcomponents.css)([
154
160
  "",
155
161
  ":20rem;",
@@ -197,9 +203,15 @@ var config = {
197
203
  ":2.5rem;",
198
204
  ":0.5rem;",
199
205
  ":0rem;",
206
+ ":var(--plasma-typo-body-xs-font-family);",
207
+ ":var(--plasma-typo-body-xs-font-size);",
208
+ ":var(--plasma-typo-body-xs-font-style);",
209
+ ":var(--plasma-typo-body-xs-font-weight);",
210
+ ":var(--plasma-typo-body-xs-letter-spacing);",
211
+ ":var(--plasma-typo-body-xs-line-height);",
200
212
  ":0.125rem;",
201
213
  ":0.25rem;"
202
- ], _TimePicker.timePickerTokens.width, _TimePicker.timePickerTokens.borderRadius, _TimePicker.timePickerTokens.leftContentMargin, _TimePicker.timePickerTokens.rightContentMargin, _TimePicker.timePickerTokens.labelOffset, _TimePicker.timePickerTokens.labelInnerPadding, _TimePicker.timePickerTokens.contentLabelInnerPadding, _TimePicker.timePickerTokens.labelFontFamily, _TimePicker.timePickerTokens.labelFontStyle, _TimePicker.timePickerTokens.labelFontSize, _TimePicker.timePickerTokens.labelFontWeight, _TimePicker.timePickerTokens.labelLetterSpacing, _TimePicker.timePickerTokens.labelLineHeight, _TimePicker.timePickerTokens.indicatorSize, _TimePicker.timePickerTokens.indicatorSizeOuter, _TimePicker.timePickerTokens.indicatorPlacement, _TimePicker.timePickerTokens.indicatorOuterPlacement, _TimePicker.timePickerTokens.indicatorPlacementRight, _TimePicker.timePickerTokens.indicatorOuterPlacementRight, _TimePicker.timePickerTokens.textFieldHeight, _TimePicker.timePickerTokens.textFieldBorderRadius, _TimePicker.timePickerTokens.textFieldPadding, _TimePicker.timePickerTokens.textFieldFontFamily, _TimePicker.timePickerTokens.textFieldFontStyle, _TimePicker.timePickerTokens.textFieldFontSize, _TimePicker.timePickerTokens.textFieldFontWeight, _TimePicker.timePickerTokens.textFieldLetterSpacing, _TimePicker.timePickerTokens.textFieldLineHeight, _TimePicker.timePickerTokens.textFieldLeftContentMargin, _TimePicker.timePickerTokens.textFieldRightContentMargin, _TimePicker.timePickerTokens.textFieldTextBeforeMargin, _TimePicker.timePickerTokens.textFieldTextAfterMargin, _TimePicker.timePickerTokens.timePickerBorderRadius, _TimePicker.timePickerTokens.timePickerWidth, _TimePicker.timePickerTokens.timePickerPadding, _TimePicker.timePickerTokens.columnHeight, _TimePicker.timePickerTokens.itemFontFamily, _TimePicker.timePickerTokens.itemFontSize, _TimePicker.timePickerTokens.itemFontStyle, _TimePicker.timePickerTokens.itemFontWeight, _TimePicker.timePickerTokens.itemLetterSpacing, _TimePicker.timePickerTokens.itemLineHeight, _TimePicker.timePickerTokens.itemHeight, _TimePicker.timePickerTokens.itemBorderRadius, _TimePicker.timePickerTokens.itemPadding, _TimePicker.timePickerTokens.scrollbarWidth, _TimePicker.timePickerTokens.scrollbarMargin),
214
+ ], _TimePicker.timePickerTokens.width, _TimePicker.timePickerTokens.borderRadius, _TimePicker.timePickerTokens.leftContentMargin, _TimePicker.timePickerTokens.rightContentMargin, _TimePicker.timePickerTokens.labelOffset, _TimePicker.timePickerTokens.labelInnerPadding, _TimePicker.timePickerTokens.contentLabelInnerPadding, _TimePicker.timePickerTokens.labelFontFamily, _TimePicker.timePickerTokens.labelFontStyle, _TimePicker.timePickerTokens.labelFontSize, _TimePicker.timePickerTokens.labelFontWeight, _TimePicker.timePickerTokens.labelLetterSpacing, _TimePicker.timePickerTokens.labelLineHeight, _TimePicker.timePickerTokens.indicatorSize, _TimePicker.timePickerTokens.indicatorSizeOuter, _TimePicker.timePickerTokens.indicatorPlacement, _TimePicker.timePickerTokens.indicatorOuterPlacement, _TimePicker.timePickerTokens.indicatorPlacementRight, _TimePicker.timePickerTokens.indicatorOuterPlacementRight, _TimePicker.timePickerTokens.textFieldHeight, _TimePicker.timePickerTokens.textFieldBorderRadius, _TimePicker.timePickerTokens.textFieldPadding, _TimePicker.timePickerTokens.textFieldFontFamily, _TimePicker.timePickerTokens.textFieldFontStyle, _TimePicker.timePickerTokens.textFieldFontSize, _TimePicker.timePickerTokens.textFieldFontWeight, _TimePicker.timePickerTokens.textFieldLetterSpacing, _TimePicker.timePickerTokens.textFieldLineHeight, _TimePicker.timePickerTokens.textFieldLeftContentMargin, _TimePicker.timePickerTokens.textFieldRightContentMargin, _TimePicker.timePickerTokens.textFieldTextBeforeMargin, _TimePicker.timePickerTokens.textFieldTextAfterMargin, _TimePicker.timePickerTokens.timePickerBorderRadius, _TimePicker.timePickerTokens.timePickerWidth, _TimePicker.timePickerTokens.timePickerPadding, _TimePicker.timePickerTokens.columnHeight, _TimePicker.timePickerTokens.itemFontFamily, _TimePicker.timePickerTokens.itemFontSize, _TimePicker.timePickerTokens.itemFontStyle, _TimePicker.timePickerTokens.itemFontWeight, _TimePicker.timePickerTokens.itemLetterSpacing, _TimePicker.timePickerTokens.itemLineHeight, _TimePicker.timePickerTokens.itemHeight, _TimePicker.timePickerTokens.itemBorderRadius, _TimePicker.timePickerTokens.itemPadding, _TimePicker.timePickerTokens.labelInnerFontFamily, _TimePicker.timePickerTokens.labelInnerFontSize, _TimePicker.timePickerTokens.labelInnerFontStyle, _TimePicker.timePickerTokens.labelInnerFontWeight, _TimePicker.timePickerTokens.labelInnerLetterSpacing, _TimePicker.timePickerTokens.labelInnerLineHeight, _TimePicker.timePickerTokens.scrollbarWidth, _TimePicker.timePickerTokens.scrollbarMargin),
203
215
  xs: (0, _styledcomponents.css)([
204
216
  "",
205
217
  ":20rem;",
@@ -247,9 +259,15 @@ var config = {
247
259
  ":2rem;",
248
260
  ":0.375rem;",
249
261
  ":0rem;",
262
+ ":var(--plasma-typo-body-xs-font-family);",
263
+ ":var(--plasma-typo-body-xs-font-size);",
264
+ ":var(--plasma-typo-body-xs-font-style);",
265
+ ":var(--plasma-typo-body-xs-font-weight);",
266
+ ":var(--plasma-typo-body-xs-letter-spacing);",
267
+ ":var(--plasma-typo-body-xs-line-height);",
250
268
  ":0.125rem;",
251
269
  ":0.25rem;"
252
- ], _TimePicker.timePickerTokens.width, _TimePicker.timePickerTokens.borderRadius, _TimePicker.timePickerTokens.leftContentMargin, _TimePicker.timePickerTokens.rightContentMargin, _TimePicker.timePickerTokens.labelOffset, _TimePicker.timePickerTokens.labelInnerPadding, _TimePicker.timePickerTokens.contentLabelInnerPadding, _TimePicker.timePickerTokens.labelFontFamily, _TimePicker.timePickerTokens.labelFontStyle, _TimePicker.timePickerTokens.labelFontSize, _TimePicker.timePickerTokens.labelFontWeight, _TimePicker.timePickerTokens.labelLetterSpacing, _TimePicker.timePickerTokens.labelLineHeight, _TimePicker.timePickerTokens.indicatorSize, _TimePicker.timePickerTokens.indicatorSizeOuter, _TimePicker.timePickerTokens.indicatorPlacement, _TimePicker.timePickerTokens.indicatorOuterPlacement, _TimePicker.timePickerTokens.indicatorPlacementRight, _TimePicker.timePickerTokens.indicatorOuterPlacementRight, _TimePicker.timePickerTokens.textFieldHeight, _TimePicker.timePickerTokens.textFieldBorderRadius, _TimePicker.timePickerTokens.textFieldPadding, _TimePicker.timePickerTokens.textFieldFontFamily, _TimePicker.timePickerTokens.textFieldFontStyle, _TimePicker.timePickerTokens.textFieldFontSize, _TimePicker.timePickerTokens.textFieldFontWeight, _TimePicker.timePickerTokens.textFieldLetterSpacing, _TimePicker.timePickerTokens.textFieldLineHeight, _TimePicker.timePickerTokens.textFieldLeftContentMargin, _TimePicker.timePickerTokens.textFieldRightContentMargin, _TimePicker.timePickerTokens.textFieldTextBeforeMargin, _TimePicker.timePickerTokens.textFieldTextAfterMargin, _TimePicker.timePickerTokens.timePickerBorderRadius, _TimePicker.timePickerTokens.timePickerWidth, _TimePicker.timePickerTokens.timePickerPadding, _TimePicker.timePickerTokens.columnHeight, _TimePicker.timePickerTokens.itemFontFamily, _TimePicker.timePickerTokens.itemFontSize, _TimePicker.timePickerTokens.itemFontStyle, _TimePicker.timePickerTokens.itemFontWeight, _TimePicker.timePickerTokens.itemLetterSpacing, _TimePicker.timePickerTokens.itemLineHeight, _TimePicker.timePickerTokens.itemHeight, _TimePicker.timePickerTokens.itemBorderRadius, _TimePicker.timePickerTokens.itemPadding, _TimePicker.timePickerTokens.scrollbarWidth, _TimePicker.timePickerTokens.scrollbarMargin)
270
+ ], _TimePicker.timePickerTokens.width, _TimePicker.timePickerTokens.borderRadius, _TimePicker.timePickerTokens.leftContentMargin, _TimePicker.timePickerTokens.rightContentMargin, _TimePicker.timePickerTokens.labelOffset, _TimePicker.timePickerTokens.labelInnerPadding, _TimePicker.timePickerTokens.contentLabelInnerPadding, _TimePicker.timePickerTokens.labelFontFamily, _TimePicker.timePickerTokens.labelFontStyle, _TimePicker.timePickerTokens.labelFontSize, _TimePicker.timePickerTokens.labelFontWeight, _TimePicker.timePickerTokens.labelLetterSpacing, _TimePicker.timePickerTokens.labelLineHeight, _TimePicker.timePickerTokens.indicatorSize, _TimePicker.timePickerTokens.indicatorSizeOuter, _TimePicker.timePickerTokens.indicatorPlacement, _TimePicker.timePickerTokens.indicatorOuterPlacement, _TimePicker.timePickerTokens.indicatorPlacementRight, _TimePicker.timePickerTokens.indicatorOuterPlacementRight, _TimePicker.timePickerTokens.textFieldHeight, _TimePicker.timePickerTokens.textFieldBorderRadius, _TimePicker.timePickerTokens.textFieldPadding, _TimePicker.timePickerTokens.textFieldFontFamily, _TimePicker.timePickerTokens.textFieldFontStyle, _TimePicker.timePickerTokens.textFieldFontSize, _TimePicker.timePickerTokens.textFieldFontWeight, _TimePicker.timePickerTokens.textFieldLetterSpacing, _TimePicker.timePickerTokens.textFieldLineHeight, _TimePicker.timePickerTokens.textFieldLeftContentMargin, _TimePicker.timePickerTokens.textFieldRightContentMargin, _TimePicker.timePickerTokens.textFieldTextBeforeMargin, _TimePicker.timePickerTokens.textFieldTextAfterMargin, _TimePicker.timePickerTokens.timePickerBorderRadius, _TimePicker.timePickerTokens.timePickerWidth, _TimePicker.timePickerTokens.timePickerPadding, _TimePicker.timePickerTokens.columnHeight, _TimePicker.timePickerTokens.itemFontFamily, _TimePicker.timePickerTokens.itemFontSize, _TimePicker.timePickerTokens.itemFontStyle, _TimePicker.timePickerTokens.itemFontWeight, _TimePicker.timePickerTokens.itemLetterSpacing, _TimePicker.timePickerTokens.itemLineHeight, _TimePicker.timePickerTokens.itemHeight, _TimePicker.timePickerTokens.itemBorderRadius, _TimePicker.timePickerTokens.itemPadding, _TimePicker.timePickerTokens.labelInnerFontFamily, _TimePicker.timePickerTokens.labelInnerFontSize, _TimePicker.timePickerTokens.labelInnerFontStyle, _TimePicker.timePickerTokens.labelInnerFontWeight, _TimePicker.timePickerTokens.labelInnerLetterSpacing, _TimePicker.timePickerTokens.labelInnerLineHeight, _TimePicker.timePickerTokens.scrollbarWidth, _TimePicker.timePickerTokens.scrollbarMargin)
253
271
  },
254
272
  disabled: {
255
273
  true: (0, _styledcomponents.css)([
@@ -138,14 +138,15 @@ function _unsupported_iterable_to_array(o, minLen) {
138
138
  import React, { forwardRef, useRef, useState, useEffect, useCallback } from "react";
139
139
  import cls from "classnames";
140
140
  import { getPlacements } from "../../utils";
141
- import { range, processTimeInput, animateScrollTo } from "./utils";
142
- import { base, StyledInput, StyledPopover, StyledTimeColumn, StyledTimeItem, StyledTimePicker, CustomScrollbar, ScrollbarTrack, ScrollbarThumb, StyledEmpty } from "./TimePicker.styles";
141
+ import { range, processTimeInput, animateScrollTo, delimiter } from "./utils";
142
+ import { base, StyledInput, StyledPopover, StyledTimePicker } from "./TimePicker.styles";
143
143
  import { classes } from "./TimePicker.tokens";
144
144
  import { base as sizeCSS } from "./variations/_size/base";
145
145
  import { base as viewCSS } from "./variations/_view/base";
146
146
  import { base as disabledCSS } from "./variations/_disabled/base";
147
147
  import { base as readonlyCSS } from "./variations/_readonly/base";
148
148
  import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
149
+ import { renderTimeColumn } from "./ui/TimeColumn/TimeColumn";
149
150
  export var timePickerRoot = function(Root) {
150
151
  return /*#__PURE__*/ forwardRef(function(_param, ref) {
151
152
  var className = _param.className, _param_opened = _param.opened, opened = _param_opened === void 0 ? false : _param_opened, outerValue = _param.value, label = _param.label, _param_labelPlacement = _param.labelPlacement, labelPlacement = _param_labelPlacement === void 0 ? 'outer' : _param_labelPlacement, keepPlaceholder = _param.keepPlaceholder, _param_required = _param.required, required = _param_required === void 0 ? false : _param_required, _param_requiredPlacement = _param.requiredPlacement, requiredPlacement = _param_requiredPlacement === void 0 ? 'right' : _param_requiredPlacement, _param_hasRequiredIndicator = _param.hasRequiredIndicator, hasRequiredIndicator = _param_hasRequiredIndicator === void 0 ? true : _param_hasRequiredIndicator, placeholder = _param.placeholder, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, view = _param.view, size = _param.size, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, _param_readonly = _param.readonly, readonly = _param_readonly === void 0 ? false : _param_readonly, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, offset = _param.offset, stretched = _param.stretched, _param_dropdownAlign = _param.dropdownAlign, dropdownAlign = _param_dropdownAlign === void 0 ? 'left' : _param_dropdownAlign, dropdownWidth = _param.dropdownWidth, dropdownHeight = _param.dropdownHeight, _param_columnsQuantity = _param.columnsQuantity, columnsQuantity = _param_columnsQuantity === void 0 ? 2 : _param_columnsQuantity, onToggle = _param.onToggle, onFocus = _param.onFocus, onChange = _param.onChange, rest = _object_without_properties(_param, [
@@ -229,6 +230,7 @@ export var timePickerRoot = function(Root) {
229
230
  var hours = range(24);
230
231
  var minutes = range(60);
231
232
  var seconds = range(60);
233
+ var minScrollbarTrackHeight = 20;
232
234
  var calculateScrollbar = useCallback(function(columnRef) {
233
235
  if (!columnRef.current) return {
234
236
  thumbHeight: 0,
@@ -236,7 +238,7 @@ export var timePickerRoot = function(Root) {
236
238
  };
237
239
  var _columnRef_current = columnRef.current, scrollTop = _columnRef_current.scrollTop, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
238
240
  var trackHeight = clientHeight;
239
- var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, 20); // Минимальная высота 20px
241
+ var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, minScrollbarTrackHeight);
240
242
  var maxScroll = scrollHeight - clientHeight;
241
243
  var thumbPosition = maxScroll > 0 ? scrollTop / maxScroll * (trackHeight - thumbHeight) : 0;
242
244
  return {
@@ -340,35 +342,37 @@ export var timePickerRoot = function(Root) {
340
342
  };
341
343
  }, []);
342
344
  useEffect(function() {
343
- if (isInnerOpen) {
344
- setTimeout(function() {
345
- updateScrollbar(hoursColumnRef, setHoursScrollbar);
346
- updateScrollbar(minutesColumnRef, setMinutesScrollbar);
347
- if (columnsQuantity === 3) {
348
- updateScrollbar(secondsColumnRef, setSecondsScrollbar);
349
- }
350
- }, 100);
345
+ if (!isInnerOpen) {
346
+ return;
351
347
  }
348
+ setTimeout(function() {
349
+ updateScrollbar(hoursColumnRef, setHoursScrollbar);
350
+ updateScrollbar(minutesColumnRef, setMinutesScrollbar);
351
+ if (columnsQuantity === 3) {
352
+ updateScrollbar(secondsColumnRef, setSecondsScrollbar);
353
+ }
354
+ }, 100);
352
355
  }, [
353
356
  isInnerOpen,
354
357
  columnsQuantity,
355
358
  updateScrollbar
356
359
  ]);
357
360
  useEffect(function() {
358
- if (viewValue) {
359
- var timeString = viewValue;
360
- if (format === 'HH:mm' && viewValue.length > 5) {
361
- timeString = viewValue.substring(0, 5);
362
- }
363
- setInnerTime(viewValue);
364
- 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];
365
- setActiveTime({
366
- hours: !Number.isNaN(hh) ? hh : null,
367
- minutes: !Number.isNaN(mm) ? mm : null,
368
- seconds: format === 'HH:mm:ss' && !Number.isNaN(ss) ? ss : null,
369
- currentColumn: null
370
- });
361
+ if (!viewValue) {
362
+ return;
371
363
  }
364
+ var timeString = viewValue;
365
+ if (format === 'HH:mm' && viewValue.length > 5) {
366
+ timeString = viewValue.substring(0, 5);
367
+ }
368
+ setInnerTime(viewValue);
369
+ var _timeString_split_map = _sliced_to_array(timeString.split(delimiter).map(Number), 3), hh = _timeString_split_map[0], mm = _timeString_split_map[1], ss = _timeString_split_map[2];
370
+ setActiveTime({
371
+ hours: !Number.isNaN(hh) ? hh : null,
372
+ minutes: !Number.isNaN(mm) ? mm : null,
373
+ seconds: format === 'HH:mm:ss' && !Number.isNaN(ss) ? ss : null,
374
+ currentColumn: null
375
+ });
372
376
  }, [
373
377
  outerValue,
374
378
  format
@@ -403,13 +407,7 @@ export var timePickerRoot = function(Root) {
403
407
  var scrollPosition = index * (itemHeight + gap);
404
408
  animateScrollTo(columnRef.current, scrollPosition);
405
409
  setTimeout(function() {
406
- if (columnRef === hoursColumnRef) {
407
- updateScrollbar(hoursColumnRef, setHoursScrollbar);
408
- } else if (columnRef === minutesColumnRef) {
409
- updateScrollbar(minutesColumnRef, setMinutesScrollbar);
410
- } else if (columnRef === secondsColumnRef) {
411
- updateScrollbar(secondsColumnRef, setSecondsScrollbar);
412
- }
410
+ updateScrollbar(columnRef, setHoursScrollbar);
413
411
  }, 300);
414
412
  }
415
413
  };
@@ -519,7 +517,7 @@ export var timePickerRoot = function(Root) {
519
517
  };
520
518
  var handleTimeItemClick = function(value, column) {
521
519
  var isNextColumn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
522
- var currentTime = innerTime.split(':');
520
+ var currentTime = innerTime.split(delimiter);
523
521
  var newTime = [];
524
522
  if (format === 'HH:mm:ss') {
525
523
  newTime = _to_consumable_array(currentTime);
@@ -539,10 +537,8 @@ export var timePickerRoot = function(Root) {
539
537
  if (!currentTime[1]) {
540
538
  newTime[1] = '00';
541
539
  }
542
- if (format === 'HH:mm:ss') {
543
- if (!currentTime[2]) {
544
- newTime[2] = '00';
545
- }
540
+ if (format === 'HH:mm:ss' && !currentTime[2]) {
541
+ newTime[2] = '00';
546
542
  }
547
543
  break;
548
544
  case 'minutes':
@@ -550,10 +546,8 @@ export var timePickerRoot = function(Root) {
550
546
  if (!currentTime[0]) {
551
547
  newTime[0] = '00';
552
548
  }
553
- if (format === 'HH:mm:ss') {
554
- if (!currentTime[2]) {
555
- newTime[2] = '00';
556
- }
549
+ if (format === 'HH:mm:ss' && !currentTime[2]) {
550
+ newTime[2] = '00';
557
551
  }
558
552
  break;
559
553
  case 'seconds':
@@ -570,7 +564,7 @@ export var timePickerRoot = function(Root) {
570
564
  default:
571
565
  break;
572
566
  }
573
- var newTimeString = newTime.join(':');
567
+ var newTimeString = newTime.join(delimiter);
574
568
  setInnerTime(newTimeString);
575
569
  var nextColumn = null;
576
570
  if (column === 'hours' && isNextColumn) {
@@ -608,12 +602,14 @@ export var timePickerRoot = function(Root) {
608
602
  seconds: values.ss
609
603
  });
610
604
  });
611
- onChange === null || onChange === void 0 ? void 0 : onChange(_object_spread_props(_object_spread({}, event), {
612
- target: _object_spread_props(_object_spread({}, event.target), {
613
- value: innerString,
614
- timeValues: values
615
- })
616
- }));
605
+ if (onChange) {
606
+ onChange(_object_spread_props(_object_spread({}, event), {
607
+ target: _object_spread_props(_object_spread({}, event.target), {
608
+ value: innerString,
609
+ timeValues: values
610
+ })
611
+ }));
612
+ }
617
613
  requestAnimationFrame(function() {
618
614
  if (inputRef.current) {
619
615
  inputRef.current.setSelectionRange(newCursorPosition, newCursorPosition);
@@ -632,9 +628,13 @@ export var timePickerRoot = function(Root) {
632
628
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(true);
633
629
  return;
634
630
  }
635
- if (!isInnerOpen) return;
631
+ if (!isInnerOpen) {
632
+ return;
633
+ }
636
634
  var currentColumn = activeTime.currentColumn;
637
- if (!currentColumn) return;
635
+ if (!currentColumn) {
636
+ return;
637
+ }
638
638
  var newIndex = null;
639
639
  var newColumn = currentColumn;
640
640
  if ([
@@ -687,8 +687,11 @@ export var timePickerRoot = function(Root) {
687
687
  }
688
688
  break;
689
689
  case 'ArrowLeft':
690
- if (currentColumn === 'minutes') newColumn = 'hours';
691
- else if (currentColumn === 'seconds') newColumn = 'minutes';
690
+ if (currentColumn === 'minutes') {
691
+ newColumn = 'hours';
692
+ } else if (currentColumn === 'seconds') {
693
+ newColumn = 'minutes';
694
+ }
692
695
  var _activeTime_newColumn1;
693
696
  newIndex = (_activeTime_newColumn1 = activeTime[newColumn]) !== null && _activeTime_newColumn1 !== void 0 ? _activeTime_newColumn1 : 0;
694
697
  setActiveTime(_object_spread_props(_object_spread({}, activeTime), _define_property({
@@ -708,11 +711,15 @@ export var timePickerRoot = function(Root) {
708
711
  handleTimeItemClick(value, column);
709
712
  }
710
713
  };
714
+ var handleOnKeyDown = function(e) {
715
+ onKeyDownNavigation(e);
716
+ handleKeyDown(e);
717
+ };
711
718
  var _useKeyNavigation = useKeyNavigation({
712
719
  isCalendarOpen: isInnerOpen,
713
720
  format: format,
714
721
  maskWithFormat: true,
715
- delimiter: ':',
722
+ delimiter: delimiter,
716
723
  closeOnEsc: closeOnEsc,
717
724
  onToggle: handleToggle
718
725
  }), onKeyDownNavigation = _useKeyNavigation.onKeyDown;
@@ -729,10 +736,7 @@ export var timePickerRoot = function(Root) {
729
736
  textAfter: textAfter,
730
737
  onChange: handleInputChange,
731
738
  onFocus: onFocus,
732
- onKeyDown: function(e) {
733
- onKeyDownNavigation(e);
734
- handleKeyDown(e);
735
- },
739
+ onKeyDown: handleOnKeyDown,
736
740
  required: required,
737
741
  requiredPlacement: requiredPlacement,
738
742
  hasRequiredIndicator: hasRequiredIndicator,
@@ -740,43 +744,6 @@ export var timePickerRoot = function(Root) {
740
744
  labelPlacement: labelPlacement,
741
745
  keepPlaceholder: keepPlaceholder
742
746
  });
743
- var renderTimeColumn = function(values, column, columnRef, scrollbarState, setScrollbar, scrollbarRef, thumbRef, timeoutRef) {
744
- return /*#__PURE__*/ React.createElement("div", {
745
- style: {
746
- position: 'relative',
747
- width: '100%'
748
- }
749
- }, /*#__PURE__*/ React.createElement(StyledTimeColumn, {
750
- key: column,
751
- ref: columnRef,
752
- height: dropdownHeight,
753
- className: classes.timeColumn
754
- }, values.map(function(value, index) {
755
- return /*#__PURE__*/ React.createElement(StyledTimeItem, {
756
- key: value,
757
- ref: function(el) {
758
- timeItemRefs.current["".concat(column, "-").concat(value)] = el;
759
- },
760
- className: cls(_define_property({}, classes.timeItemActive, activeTime[column] === index)),
761
- onClick: function() {
762
- return handleTimeItemClick(value, column);
763
- },
764
- onKeyDown: function(e) {
765
- return handleTimeItemKeyDown(e, column, value);
766
- }
767
- }, value);
768
- }), /*#__PURE__*/ React.createElement(StyledEmpty, null)), /*#__PURE__*/ React.createElement(CustomScrollbar, {
769
- ref: scrollbarRef,
770
- className: cls(_define_property({}, classes.scrollbarVisible, scrollbarState.isVisible))
771
- }, /*#__PURE__*/ React.createElement(ScrollbarTrack, null, /*#__PURE__*/ React.createElement(ScrollbarThumb, {
772
- ref: thumbRef,
773
- style: {
774
- height: "".concat(scrollbarState.thumbHeight, "px"),
775
- top: "".concat(scrollbarState.thumbPosition, "px")
776
- },
777
- onMouseDown: createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)
778
- }))));
779
- };
780
747
  return /*#__PURE__*/ React.createElement(Root, _object_spread({
781
748
  stretched: stretched,
782
749
  view: view,
@@ -809,7 +776,52 @@ export var timePickerRoot = function(Root) {
809
776
  stretched: stretched
810
777
  }, /*#__PURE__*/ React.createElement(StyledTimePicker, {
811
778
  width: dropdownWidth
812
- }, 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)))));
779
+ }, renderTimeColumn({
780
+ values: hours,
781
+ dropdownHeight: dropdownHeight,
782
+ column: 'hours',
783
+ columnRef: hoursColumnRef,
784
+ scrollbarState: hoursScrollbar,
785
+ setScrollbar: setHoursScrollbar,
786
+ scrollbarRef: hoursScrollbarRef,
787
+ thumbRef: hoursThumbRef,
788
+ timeoutRef: hoursHideTimeoutRef,
789
+ timeItemRefs: timeItemRefs,
790
+ activeTime: activeTime,
791
+ handleTimeItemClick: handleTimeItemClick,
792
+ handleTimeItemKeyDown: handleTimeItemKeyDown,
793
+ createScrollbarDragHandler: createScrollbarDragHandler
794
+ }), renderTimeColumn({
795
+ values: minutes,
796
+ dropdownHeight: dropdownHeight,
797
+ column: 'minutes',
798
+ columnRef: minutesColumnRef,
799
+ scrollbarState: minutesScrollbar,
800
+ setScrollbar: setMinutesScrollbar,
801
+ scrollbarRef: minutesScrollbarRef,
802
+ thumbRef: minutesThumbRef,
803
+ timeoutRef: minutesHideTimeoutRef,
804
+ timeItemRefs: timeItemRefs,
805
+ activeTime: activeTime,
806
+ handleTimeItemClick: handleTimeItemClick,
807
+ handleTimeItemKeyDown: handleTimeItemKeyDown,
808
+ createScrollbarDragHandler: createScrollbarDragHandler
809
+ }), columnsQuantity === 3 && renderTimeColumn({
810
+ values: seconds,
811
+ dropdownHeight: dropdownHeight,
812
+ column: 'seconds',
813
+ columnRef: secondsColumnRef,
814
+ scrollbarState: secondsScrollbar,
815
+ setScrollbar: setSecondsScrollbar,
816
+ scrollbarRef: secondsScrollbarRef,
817
+ thumbRef: secondsThumbRef,
818
+ timeoutRef: secondsHideTimeoutRef,
819
+ timeItemRefs: timeItemRefs,
820
+ activeTime: activeTime,
821
+ handleTimeItemClick: handleTimeItemClick,
822
+ handleTimeItemKeyDown: handleTimeItemKeyDown,
823
+ createScrollbarDragHandler: createScrollbarDragHandler
824
+ })))));
813
825
  });
814
826
  };
815
827
  export var timePickerConfig = {