@salutejs/plasma-new-hope 0.337.0-canary.2255.18028844305.0 → 0.337.0-canary.2255.18035010233.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 (185) hide show
  1. package/cjs/components/TimePicker/TimePicker.css +93 -0
  2. package/cjs/components/TimePicker/TimePicker.js +732 -0
  3. package/cjs/components/TimePicker/TimePicker.js.map +1 -0
  4. package/cjs/components/TimePicker/TimePicker.styles.js +54 -0
  5. package/cjs/components/TimePicker/TimePicker.styles.js.map +1 -0
  6. package/cjs/components/TimePicker/TimePicker.styles_ar3obv.css +4 -0
  7. package/cjs/components/TimePicker/TimePicker.tokens.js +133 -0
  8. package/cjs/components/TimePicker/TimePicker.tokens.js.map +1 -0
  9. package/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +32 -0
  10. package/cjs/components/TimePicker/hooks/useKeyboardNavigation.js.map +1 -0
  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 +139 -0
  18. package/cjs/components/TimePicker/utils/index.js.map +1 -0
  19. package/cjs/components/TimePicker/variations/_disabled/base.js +9 -0
  20. package/cjs/components/TimePicker/variations/_disabled/base.js.map +1 -0
  21. package/cjs/components/TimePicker/variations/_disabled/base_nyid0i.css +1 -0
  22. package/cjs/components/TimePicker/variations/_readonly/base.js +9 -0
  23. package/cjs/components/TimePicker/variations/_readonly/base.js.map +1 -0
  24. package/cjs/components/TimePicker/variations/_readonly/base_zalfas.css +1 -0
  25. package/cjs/components/TimePicker/variations/_size/base.js +9 -0
  26. package/cjs/components/TimePicker/variations/_size/base.js.map +1 -0
  27. package/cjs/components/TimePicker/variations/_size/base_x642ct.css +1 -0
  28. package/cjs/components/TimePicker/variations/_view/base.js +9 -0
  29. package/cjs/components/TimePicker/variations/_view/base.js.map +1 -0
  30. package/cjs/components/TimePicker/variations/_view/base_x642ct.css +1 -0
  31. package/cjs/index.css +17 -0
  32. package/cjs/index.js +6 -0
  33. package/cjs/index.js.map +1 -1
  34. package/emotion/cjs/components/TimePicker/TimePicker.js +916 -0
  35. package/emotion/cjs/components/TimePicker/TimePicker.styles.js +55 -0
  36. package/emotion/cjs/components/TimePicker/TimePicker.tokens.js +142 -0
  37. package/emotion/cjs/components/TimePicker/TimePicker.types.js +4 -0
  38. package/emotion/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +30 -0
  39. package/emotion/cjs/components/TimePicker/index.js +26 -0
  40. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +65 -0
  41. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +71 -0
  42. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +4 -0
  43. package/emotion/cjs/components/TimePicker/utils/index.js +152 -0
  44. package/emotion/cjs/components/TimePicker/variations/_disabled/base.js +13 -0
  45. package/emotion/cjs/components/TimePicker/variations/_readonly/base.js +12 -0
  46. package/emotion/cjs/components/TimePicker/variations/_size/base.js +12 -0
  47. package/emotion/cjs/components/TimePicker/variations/_view/base.js +12 -0
  48. package/emotion/cjs/examples/components/Chip/Chip.js +7 -7
  49. package/emotion/cjs/examples/components/Chip/Chip.transparent.config.js +45 -0
  50. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  51. package/emotion/cjs/examples/components/TimePicker/TimePicker.config.js +35 -0
  52. package/emotion/cjs/examples/components/TimePicker/TimePicker.js +15 -0
  53. package/emotion/cjs/index.js +1 -0
  54. package/emotion/es/components/TimePicker/TimePicker.js +852 -0
  55. package/emotion/es/components/TimePicker/TimePicker.styles.js +27 -0
  56. package/emotion/es/components/TimePicker/TimePicker.tokens.js +124 -0
  57. package/emotion/es/components/TimePicker/TimePicker.types.js +1 -0
  58. package/emotion/es/components/TimePicker/hooks/useKeyboardNavigation.js +20 -0
  59. package/emotion/es/components/TimePicker/index.js +2 -0
  60. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +50 -0
  61. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +33 -0
  62. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +1 -0
  63. package/emotion/es/components/TimePicker/utils/index.js +125 -0
  64. package/emotion/es/components/TimePicker/variations/_disabled/base.js +3 -0
  65. package/emotion/es/components/TimePicker/variations/_readonly/base.js +2 -0
  66. package/emotion/es/components/TimePicker/variations/_size/base.js +2 -0
  67. package/emotion/es/components/TimePicker/variations/_view/base.js +2 -0
  68. package/emotion/es/examples/components/Chip/Chip.js +4 -4
  69. package/emotion/es/examples/components/Chip/Chip.transparent.config.js +35 -0
  70. package/emotion/es/examples/components/TimePicker/TimePicker.config.js +25 -0
  71. package/emotion/es/examples/components/TimePicker/TimePicker.js +5 -0
  72. package/emotion/es/index.js +1 -0
  73. package/es/components/TimePicker/TimePicker.css +93 -0
  74. package/es/components/TimePicker/TimePicker.js +722 -0
  75. package/es/components/TimePicker/TimePicker.js.map +1 -0
  76. package/es/components/TimePicker/TimePicker.styles.js +47 -0
  77. package/es/components/TimePicker/TimePicker.styles.js.map +1 -0
  78. package/es/components/TimePicker/TimePicker.styles_ar3obv.css +4 -0
  79. package/es/components/TimePicker/TimePicker.tokens.js +128 -0
  80. package/es/components/TimePicker/TimePicker.tokens.js.map +1 -0
  81. package/es/components/TimePicker/hooks/useKeyboardNavigation.js +28 -0
  82. package/es/components/TimePicker/hooks/useKeyboardNavigation.js.map +1 -0
  83. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.css +7 -0
  84. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +56 -0
  85. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +1 -0
  86. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +51 -0
  87. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  88. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +7 -0
  89. package/es/components/TimePicker/utils/index.js +131 -0
  90. package/es/components/TimePicker/utils/index.js.map +1 -0
  91. package/es/components/TimePicker/variations/_disabled/base.js +5 -0
  92. package/es/components/TimePicker/variations/_disabled/base.js.map +1 -0
  93. package/es/components/TimePicker/variations/_disabled/base_nyid0i.css +1 -0
  94. package/es/components/TimePicker/variations/_readonly/base.js +5 -0
  95. package/es/components/TimePicker/variations/_readonly/base.js.map +1 -0
  96. package/es/components/TimePicker/variations/_readonly/base_zalfas.css +1 -0
  97. package/es/components/TimePicker/variations/_size/base.js +5 -0
  98. package/es/components/TimePicker/variations/_size/base.js.map +1 -0
  99. package/es/components/TimePicker/variations/_size/base_x642ct.css +1 -0
  100. package/es/components/TimePicker/variations/_view/base.js +5 -0
  101. package/es/components/TimePicker/variations/_view/base.js.map +1 -0
  102. package/es/components/TimePicker/variations/_view/base_x642ct.css +1 -0
  103. package/es/index.css +17 -0
  104. package/es/index.js +2 -0
  105. package/es/index.js.map +1 -1
  106. package/package.json +2 -2
  107. package/styled-components/cjs/components/TimePicker/TimePicker.js +916 -0
  108. package/styled-components/cjs/components/TimePicker/TimePicker.styles.js +258 -0
  109. package/styled-components/cjs/components/TimePicker/TimePicker.tokens.js +142 -0
  110. package/styled-components/cjs/components/TimePicker/TimePicker.types.js +4 -0
  111. package/styled-components/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +30 -0
  112. package/styled-components/cjs/components/TimePicker/index.js +26 -0
  113. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +65 -0
  114. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +112 -0
  115. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +4 -0
  116. package/styled-components/cjs/components/TimePicker/utils/index.js +152 -0
  117. package/styled-components/cjs/components/TimePicker/variations/_disabled/base.js +16 -0
  118. package/styled-components/cjs/components/TimePicker/variations/_readonly/base.js +14 -0
  119. package/styled-components/cjs/components/TimePicker/variations/_size/base.js +14 -0
  120. package/styled-components/cjs/components/TimePicker/variations/_view/base.js +14 -0
  121. package/styled-components/cjs/examples/components/Chip/Chip.js +7 -7
  122. package/styled-components/cjs/examples/components/TimePicker/TimePicker.config.js +289 -0
  123. package/styled-components/cjs/examples/components/TimePicker/TimePicker.js +15 -0
  124. package/styled-components/cjs/index.js +1 -0
  125. package/styled-components/es/components/TimePicker/TimePicker.js +852 -0
  126. package/styled-components/es/components/TimePicker/TimePicker.styles.js +195 -0
  127. package/styled-components/es/components/TimePicker/TimePicker.tokens.js +124 -0
  128. package/styled-components/es/components/TimePicker/TimePicker.types.js +1 -0
  129. package/styled-components/es/components/TimePicker/hooks/useKeyboardNavigation.js +20 -0
  130. package/styled-components/es/components/TimePicker/index.js +2 -0
  131. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +50 -0
  132. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +74 -0
  133. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +1 -0
  134. package/styled-components/es/components/TimePicker/utils/index.js +125 -0
  135. package/styled-components/es/components/TimePicker/variations/_disabled/base.js +6 -0
  136. package/styled-components/es/components/TimePicker/variations/_readonly/base.js +4 -0
  137. package/styled-components/es/components/TimePicker/variations/_size/base.js +4 -0
  138. package/styled-components/es/components/TimePicker/variations/_view/base.js +4 -0
  139. package/styled-components/es/examples/components/Chip/Chip.js +4 -4
  140. package/styled-components/es/examples/components/TimePicker/TimePicker.config.js +279 -0
  141. package/styled-components/es/examples/components/TimePicker/TimePicker.js +5 -0
  142. package/styled-components/es/index.js +1 -0
  143. package/types/components/TimePicker/TimePicker.d.ts +81 -0
  144. package/types/components/TimePicker/TimePicker.d.ts.map +1 -0
  145. package/types/components/TimePicker/TimePicker.styles.d.ts +303 -0
  146. package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -0
  147. package/types/components/TimePicker/TimePicker.tokens.d.ts +126 -0
  148. package/types/components/TimePicker/TimePicker.tokens.d.ts.map +1 -0
  149. package/types/components/TimePicker/TimePicker.types.d.ts +139 -0
  150. package/types/components/TimePicker/TimePicker.types.d.ts.map +1 -0
  151. package/types/components/TimePicker/hooks/useKeyboardNavigation.d.ts +14 -0
  152. package/types/components/TimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -0
  153. package/types/components/TimePicker/index.d.ts +4 -0
  154. package/types/components/TimePicker/index.d.ts.map +1 -0
  155. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts +3 -0
  156. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts.map +1 -0
  157. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts +10 -0
  158. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts.map +1 -0
  159. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts +35 -0
  160. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -0
  161. package/types/components/TimePicker/utils/index.d.ts +20 -0
  162. package/types/components/TimePicker/utils/index.d.ts.map +1 -0
  163. package/types/components/TimePicker/variations/_disabled/base.d.ts +2 -0
  164. package/types/components/TimePicker/variations/_disabled/base.d.ts.map +1 -0
  165. package/types/components/TimePicker/variations/_readonly/base.d.ts +2 -0
  166. package/types/components/TimePicker/variations/_readonly/base.d.ts.map +1 -0
  167. package/types/components/TimePicker/variations/_size/base.d.ts +2 -0
  168. package/types/components/TimePicker/variations/_size/base.d.ts.map +1 -0
  169. package/types/components/TimePicker/variations/_view/base.d.ts +2 -0
  170. package/types/components/TimePicker/variations/_view/base.d.ts.map +1 -0
  171. package/types/examples/components/Chip/Chip.d.ts +2 -2
  172. package/types/examples/components/Chip/Chip.d.ts.map +1 -1
  173. package/types/examples/components/Chip/{Chip.clear.config.d.ts → Chip.transparent.config.d.ts} +1 -1
  174. package/types/examples/components/Chip/Chip.transparent.config.d.ts.map +1 -0
  175. package/types/examples/components/TimePicker/TimePicker.config.d.ts +24 -0
  176. package/types/examples/components/TimePicker/TimePicker.config.d.ts.map +1 -0
  177. package/types/examples/components/TimePicker/TimePicker.d.ts +43 -0
  178. package/types/examples/components/TimePicker/TimePicker.d.ts.map +1 -0
  179. package/types/index.d.ts +1 -0
  180. package/types/index.d.ts.map +1 -1
  181. package/emotion/cjs/examples/components/Chip/Chip.clear.config.js +0 -45
  182. package/emotion/es/examples/components/Chip/Chip.clear.config.js +0 -35
  183. package/types/examples/components/Chip/Chip.clear.config.d.ts.map +0 -1
  184. /package/styled-components/cjs/examples/components/Chip/{Chip.clear.config.js → Chip.transparent.config.js} +0 -0
  185. /package/styled-components/es/examples/components/Chip/{Chip.clear.config.js → Chip.transparent.config.js} +0 -0
@@ -0,0 +1,852 @@
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_with_holes(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _array_without_holes(arr) {
10
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
11
+ }
12
+ function _define_property(obj, key, value) {
13
+ if (key in obj) {
14
+ Object.defineProperty(obj, key, {
15
+ value: value,
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true
19
+ });
20
+ } else {
21
+ obj[key] = value;
22
+ }
23
+ return obj;
24
+ }
25
+ function _iterable_to_array(iter) {
26
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
27
+ }
28
+ function _iterable_to_array_limit(arr, i) {
29
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
30
+ if (_i == null) return;
31
+ var _arr = [];
32
+ var _n = true;
33
+ var _d = false;
34
+ var _s, _e;
35
+ try {
36
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
37
+ _arr.push(_s.value);
38
+ if (i && _arr.length === i) break;
39
+ }
40
+ } catch (err) {
41
+ _d = true;
42
+ _e = err;
43
+ } finally{
44
+ try {
45
+ if (!_n && _i["return"] != null) _i["return"]();
46
+ } finally{
47
+ if (_d) throw _e;
48
+ }
49
+ }
50
+ return _arr;
51
+ }
52
+ function _non_iterable_rest() {
53
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
54
+ }
55
+ function _non_iterable_spread() {
56
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
57
+ }
58
+ function _object_spread(target) {
59
+ for(var i = 1; i < arguments.length; i++){
60
+ var source = arguments[i] != null ? arguments[i] : {};
61
+ var ownKeys = Object.keys(source);
62
+ if (typeof Object.getOwnPropertySymbols === "function") {
63
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
64
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
65
+ }));
66
+ }
67
+ ownKeys.forEach(function(key) {
68
+ _define_property(target, key, source[key]);
69
+ });
70
+ }
71
+ return target;
72
+ }
73
+ function ownKeys(object, enumerableOnly) {
74
+ var keys = Object.keys(object);
75
+ if (Object.getOwnPropertySymbols) {
76
+ var symbols = Object.getOwnPropertySymbols(object);
77
+ if (enumerableOnly) {
78
+ symbols = symbols.filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
80
+ });
81
+ }
82
+ keys.push.apply(keys, symbols);
83
+ }
84
+ return keys;
85
+ }
86
+ function _object_spread_props(target, source) {
87
+ source = source != null ? source : {};
88
+ if (Object.getOwnPropertyDescriptors) {
89
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
90
+ } else {
91
+ ownKeys(Object(source)).forEach(function(key) {
92
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
93
+ });
94
+ }
95
+ return target;
96
+ }
97
+ function _object_without_properties(source, excluded) {
98
+ if (source == null) return {};
99
+ var target = _object_without_properties_loose(source, excluded);
100
+ var key, i;
101
+ if (Object.getOwnPropertySymbols) {
102
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
103
+ for(i = 0; i < sourceSymbolKeys.length; i++){
104
+ key = sourceSymbolKeys[i];
105
+ if (excluded.indexOf(key) >= 0) continue;
106
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
107
+ target[key] = source[key];
108
+ }
109
+ }
110
+ return target;
111
+ }
112
+ function _object_without_properties_loose(source, excluded) {
113
+ if (source == null) return {};
114
+ var target = {};
115
+ var sourceKeys = Object.keys(source);
116
+ var key, i;
117
+ for(i = 0; i < sourceKeys.length; i++){
118
+ key = sourceKeys[i];
119
+ if (excluded.indexOf(key) >= 0) continue;
120
+ target[key] = source[key];
121
+ }
122
+ return target;
123
+ }
124
+ function _sliced_to_array(arr, i) {
125
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
126
+ }
127
+ function _to_consumable_array(arr) {
128
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
129
+ }
130
+ function _unsupported_iterable_to_array(o, minLen) {
131
+ if (!o) return;
132
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
133
+ var n = Object.prototype.toString.call(o).slice(8, -1);
134
+ if (n === "Object" && o.constructor) n = o.constructor.name;
135
+ if (n === "Map" || n === "Set") return Array.from(n);
136
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
137
+ }
138
+ import React, { forwardRef, useRef, useState, useEffect, useCallback } from "react";
139
+ import cls from "classnames";
140
+ import { getPlacements } from "../../utils";
141
+ import { range, processTimeInput, animateScrollTo, delimiter } from "./utils";
142
+ import { base, StyledInput, StyledPopover, StyledTimePicker } from "./TimePicker.styles";
143
+ import { classes } from "./TimePicker.tokens";
144
+ import { base as sizeCSS } from "./variations/_size/base";
145
+ import { base as viewCSS } from "./variations/_view/base";
146
+ import { base as disabledCSS } from "./variations/_disabled/base";
147
+ import { base as readonlyCSS } from "./variations/_readonly/base";
148
+ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
149
+ import { renderTimeColumn } from "./ui/TimeColumn/TimeColumn";
150
+ export var timePickerRoot = function(Root) {
151
+ return /*#__PURE__*/ forwardRef(function(_param, ref) {
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, [
153
+ "className",
154
+ "opened",
155
+ "value",
156
+ "label",
157
+ "labelPlacement",
158
+ "keepPlaceholder",
159
+ "required",
160
+ "requiredPlacement",
161
+ "hasRequiredIndicator",
162
+ "placeholder",
163
+ "contentLeft",
164
+ "contentRight",
165
+ "textBefore",
166
+ "textAfter",
167
+ "view",
168
+ "size",
169
+ "disabled",
170
+ "readonly",
171
+ "frame",
172
+ "usePortal",
173
+ "closeOnOverlayClick",
174
+ "closeOnEsc",
175
+ "offset",
176
+ "stretched",
177
+ "dropdownAlign",
178
+ "dropdownWidth",
179
+ "dropdownHeight",
180
+ "columnsQuantity",
181
+ "onToggle",
182
+ "onFocus",
183
+ "onChange"
184
+ ]);
185
+ var inputRef = useRef(null);
186
+ var timeSelectRootRef = useRef(null);
187
+ var hoursColumnRef = useRef(null);
188
+ var minutesColumnRef = useRef(null);
189
+ var secondsColumnRef = useRef(null);
190
+ var timeItemRefs = useRef({});
191
+ var hoursScrollbarRef = useRef(null);
192
+ var minutesScrollbarRef = useRef(null);
193
+ var secondsScrollbarRef = useRef(null);
194
+ var hoursThumbRef = useRef(null);
195
+ var minutesThumbRef = useRef(null);
196
+ var secondsThumbRef = useRef(null);
197
+ var hoursHideTimeoutRef = useRef(null);
198
+ var minutesHideTimeoutRef = useRef(null);
199
+ var secondsHideTimeoutRef = useRef(null);
200
+ var _useState = _sliced_to_array(useState(opened), 2), isInnerOpen = _useState[0], setIsInnerOpen = _useState[1];
201
+ var _useState1 = _sliced_to_array(useState(outerValue || ''), 2), innerTime = _useState1[0], setInnerTime = _useState1[1];
202
+ var _useState2 = _sliced_to_array(useState({
203
+ hours: null,
204
+ minutes: null,
205
+ seconds: null,
206
+ currentColumn: null
207
+ }), 2), activeTime = _useState2[0], setActiveTime = _useState2[1];
208
+ var _useState3 = _sliced_to_array(useState(0), 2), itemHeight = _useState3[0], setItemHeight = _useState3[1];
209
+ var _useState4 = _sliced_to_array(useState(0), 2), gap = _useState4[0], setGap = _useState4[1];
210
+ var _useState5 = _sliced_to_array(useState({
211
+ isVisible: false,
212
+ thumbHeight: 0,
213
+ thumbPosition: 0,
214
+ isDragging: false
215
+ }), 2), hoursScrollbar = _useState5[0], setHoursScrollbar = _useState5[1];
216
+ var _useState6 = _sliced_to_array(useState({
217
+ isVisible: false,
218
+ thumbHeight: 0,
219
+ thumbPosition: 0,
220
+ isDragging: false
221
+ }), 2), minutesScrollbar = _useState6[0], setMinutesScrollbar = _useState6[1];
222
+ var _useState7 = _sliced_to_array(useState({
223
+ isVisible: false,
224
+ thumbHeight: 0,
225
+ thumbPosition: 0,
226
+ isDragging: false
227
+ }), 2), secondsScrollbar = _useState7[0], setSecondsScrollbar = _useState7[1];
228
+ var viewValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerTime;
229
+ var format = columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm';
230
+ var hours = range(24);
231
+ var minutes = range(60);
232
+ var seconds = range(60);
233
+ var minScrollbarTrackHeight = 20;
234
+ var calculateScrollbar = useCallback(function(columnRef) {
235
+ if (!columnRef.current) return {
236
+ thumbHeight: 0,
237
+ thumbPosition: 0
238
+ };
239
+ var _columnRef_current = columnRef.current, scrollTop = _columnRef_current.scrollTop, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
240
+ var trackHeight = clientHeight;
241
+ var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, minScrollbarTrackHeight);
242
+ var maxScroll = scrollHeight - clientHeight;
243
+ var thumbPosition = maxScroll > 0 ? scrollTop / maxScroll * (trackHeight - thumbHeight) : 0;
244
+ return {
245
+ thumbHeight: thumbHeight,
246
+ thumbPosition: thumbPosition
247
+ };
248
+ }, []);
249
+ var showScrollbarWithDelay = useCallback(function(setScrollbar, timeoutRef, columnRef) {
250
+ if (timeoutRef.current) {
251
+ clearTimeout(timeoutRef.current);
252
+ }
253
+ updateScrollbar(columnRef, setScrollbar, true);
254
+ timeoutRef.current = setTimeout(function() {
255
+ setScrollbar(function(prev) {
256
+ return _object_spread_props(_object_spread({}, prev), {
257
+ isVisible: false
258
+ });
259
+ });
260
+ timeoutRef.current = null;
261
+ }, 2000);
262
+ }, []);
263
+ var updateScrollbar = useCallback(function(columnRef, setScrollbar) {
264
+ var show = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
265
+ if (!columnRef.current) return;
266
+ var _calculateScrollbar = calculateScrollbar(columnRef), thumbHeight = _calculateScrollbar.thumbHeight, thumbPosition = _calculateScrollbar.thumbPosition;
267
+ setScrollbar(function(prev) {
268
+ return _object_spread_props(_object_spread({}, prev), {
269
+ thumbHeight: thumbHeight,
270
+ thumbPosition: thumbPosition,
271
+ isVisible: show || prev.isVisible
272
+ });
273
+ });
274
+ }, [
275
+ calculateScrollbar
276
+ ]);
277
+ var handleColumnScroll = useCallback(function(columnRef, setScrollbar, timeoutRef) {
278
+ showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
279
+ }, [
280
+ showScrollbarWithDelay
281
+ ]);
282
+ var createScrollbarDragHandler = useCallback(function(columnRef, setScrollbar, timeoutRef) {
283
+ return function(e) {
284
+ e.preventDefault();
285
+ var thumb = e.currentTarget;
286
+ var track = thumb.parentElement;
287
+ if (!columnRef.current || !track) return;
288
+ if (timeoutRef.current) {
289
+ clearTimeout(timeoutRef.current);
290
+ timeoutRef.current = null;
291
+ }
292
+ var startY = e.clientY;
293
+ var startThumbPosition = parseFloat(thumb.style.top || '0');
294
+ var trackRect = track.getBoundingClientRect();
295
+ var trackHeight = trackRect.height;
296
+ var thumbHeight = thumb.offsetHeight;
297
+ var _columnRef_current = columnRef.current, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
298
+ var maxScroll = scrollHeight - clientHeight;
299
+ var handleMouseMove = function(moveEvent) {
300
+ var deltaY = moveEvent.clientY - startY;
301
+ var newThumbPosition = Math.max(0, Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY));
302
+ var scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);
303
+ var newScrollTop = scrollPercentage * maxScroll;
304
+ if (columnRef.current) {
305
+ columnRef.current.scrollTop = newScrollTop;
306
+ }
307
+ setScrollbar(function(prev) {
308
+ return _object_spread_props(_object_spread({}, prev), {
309
+ thumbPosition: newThumbPosition,
310
+ isDragging: true,
311
+ isVisible: true
312
+ });
313
+ });
314
+ };
315
+ var handleMouseUp = function() {
316
+ document.removeEventListener('mousemove', handleMouseMove);
317
+ document.removeEventListener('mouseup', handleMouseUp);
318
+ setScrollbar(function(prev) {
319
+ return _object_spread_props(_object_spread({}, prev), {
320
+ isDragging: false
321
+ });
322
+ });
323
+ showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
324
+ };
325
+ document.addEventListener('mousemove', handleMouseMove);
326
+ document.addEventListener('mouseup', handleMouseUp);
327
+ };
328
+ }, [
329
+ showScrollbarWithDelay
330
+ ]);
331
+ useEffect(function() {
332
+ return function() {
333
+ [
334
+ hoursHideTimeoutRef,
335
+ minutesHideTimeoutRef,
336
+ secondsHideTimeoutRef
337
+ ].forEach(function(timeoutRef) {
338
+ if (timeoutRef.current) {
339
+ clearTimeout(timeoutRef.current);
340
+ }
341
+ });
342
+ };
343
+ }, []);
344
+ useEffect(function() {
345
+ if (!isInnerOpen) {
346
+ return;
347
+ }
348
+ setTimeout(function() {
349
+ updateScrollbar(hoursColumnRef, setHoursScrollbar);
350
+ updateScrollbar(minutesColumnRef, setMinutesScrollbar);
351
+ if (columnsQuantity === 3) {
352
+ updateScrollbar(secondsColumnRef, setSecondsScrollbar);
353
+ }
354
+ }, 100);
355
+ }, [
356
+ isInnerOpen,
357
+ columnsQuantity,
358
+ updateScrollbar
359
+ ]);
360
+ useEffect(function() {
361
+ if (!viewValue) {
362
+ return;
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
+ });
376
+ }, [
377
+ outerValue,
378
+ format
379
+ ]);
380
+ useEffect(function() {
381
+ if (isInnerOpen && (disabled || readonly)) {
382
+ setIsInnerOpen(false);
383
+ }
384
+ }, [
385
+ disabled,
386
+ readonly
387
+ ]);
388
+ useEffect(function() {
389
+ if (isInnerOpen && Object.keys(timeItemRefs.current).length > 0) {
390
+ var firstItem = Object.values(timeItemRefs.current)[0];
391
+ if (firstItem) {
392
+ setItemHeight(firstItem.offsetHeight);
393
+ }
394
+ }
395
+ if (isInnerOpen && hoursColumnRef.current) {
396
+ var computedStyle = getComputedStyle(hoursColumnRef.current);
397
+ var gapValue = parseFloat(computedStyle.gap || '0');
398
+ setGap(gapValue);
399
+ }
400
+ }, [
401
+ isInnerOpen
402
+ ]);
403
+ useEffect(function() {
404
+ if (!isInnerOpen || itemHeight === 0) return;
405
+ var scrollToActiveItem = function(columnRef, index) {
406
+ if (columnRef.current && index !== null) {
407
+ var scrollPosition = index * (itemHeight + gap);
408
+ animateScrollTo(columnRef.current, scrollPosition);
409
+ setTimeout(function() {
410
+ updateScrollbar(columnRef, setHoursScrollbar);
411
+ }, 300);
412
+ }
413
+ };
414
+ scrollToActiveItem(hoursColumnRef, activeTime.hours);
415
+ scrollToActiveItem(minutesColumnRef, activeTime.minutes);
416
+ scrollToActiveItem(secondsColumnRef, activeTime.seconds);
417
+ }, [
418
+ activeTime,
419
+ isInnerOpen,
420
+ itemHeight,
421
+ gap,
422
+ updateScrollbar
423
+ ]);
424
+ useEffect(function() {
425
+ var hoursColumn = hoursColumnRef.current;
426
+ var minutesColumn = minutesColumnRef.current;
427
+ var secondsColumn = secondsColumnRef.current;
428
+ var handleHoursScroll = function() {
429
+ return handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);
430
+ };
431
+ var handleMinutesScroll = function() {
432
+ return handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);
433
+ };
434
+ var handleSecondsScroll = function() {
435
+ return handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);
436
+ };
437
+ if (hoursColumn) {
438
+ hoursColumn.addEventListener('scroll', handleHoursScroll);
439
+ }
440
+ if (minutesColumn) {
441
+ minutesColumn.addEventListener('scroll', handleMinutesScroll);
442
+ }
443
+ if (secondsColumn) {
444
+ secondsColumn.addEventListener('scroll', handleSecondsScroll);
445
+ }
446
+ return function() {
447
+ if (hoursColumn) {
448
+ hoursColumn.removeEventListener('scroll', handleHoursScroll);
449
+ }
450
+ if (minutesColumn) {
451
+ minutesColumn.removeEventListener('scroll', handleMinutesScroll);
452
+ }
453
+ if (secondsColumn) {
454
+ secondsColumn.removeEventListener('scroll', handleSecondsScroll);
455
+ }
456
+ };
457
+ }, [
458
+ isInnerOpen,
459
+ handleColumnScroll
460
+ ]);
461
+ useEffect(function() {
462
+ var hoursColumn = hoursColumnRef.current;
463
+ var minutesColumn = minutesColumnRef.current;
464
+ var secondsColumn = secondsColumnRef.current;
465
+ var handleHoursMouseEnter = function() {
466
+ return showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);
467
+ };
468
+ var handleMinutesMouseEnter = function() {
469
+ return showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);
470
+ };
471
+ var handleSecondsMouseEnter = function() {
472
+ return showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);
473
+ };
474
+ if (hoursColumn) {
475
+ hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);
476
+ }
477
+ if (minutesColumn) {
478
+ minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);
479
+ }
480
+ if (secondsColumn) {
481
+ secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);
482
+ }
483
+ return function() {
484
+ if (hoursColumn) {
485
+ hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);
486
+ }
487
+ if (minutesColumn) {
488
+ minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);
489
+ }
490
+ if (secondsColumn) {
491
+ secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);
492
+ }
493
+ };
494
+ }, [
495
+ isInnerOpen,
496
+ showScrollbarWithDelay
497
+ ]);
498
+ var handleToggle = function() {
499
+ if (disabled || readonly) return;
500
+ var newState = !isInnerOpen;
501
+ setIsInnerOpen(newState);
502
+ if (newState) {
503
+ setActiveTime(function(prev) {
504
+ return _object_spread_props(_object_spread({}, prev), {
505
+ currentColumn: 'hours'
506
+ });
507
+ });
508
+ }
509
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(newState);
510
+ };
511
+ var handleCalendarRootClick = function(event) {
512
+ if (disabled || readonly) return;
513
+ if (isInnerOpen && stretched && event.target === (timeSelectRootRef === null || timeSelectRootRef === void 0 ? void 0 : timeSelectRootRef.current)) {
514
+ setIsInnerOpen(false);
515
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(false);
516
+ }
517
+ };
518
+ var handleTimeItemClick = function(value, column) {
519
+ var isNextColumn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
520
+ var currentTime = innerTime.split(delimiter);
521
+ var newTime = [];
522
+ if (format === 'HH:mm:ss') {
523
+ newTime = _to_consumable_array(currentTime);
524
+ while(newTime.length < 3){
525
+ newTime.push('00');
526
+ }
527
+ } else {
528
+ newTime = _to_consumable_array(currentTime);
529
+ while(newTime.length < 2){
530
+ newTime.push('00');
531
+ }
532
+ newTime = newTime.slice(0, 2);
533
+ }
534
+ switch(column){
535
+ case 'hours':
536
+ newTime[0] = value;
537
+ if (!currentTime[1]) {
538
+ newTime[1] = '00';
539
+ }
540
+ if (format === 'HH:mm:ss' && !currentTime[2]) {
541
+ newTime[2] = '00';
542
+ }
543
+ break;
544
+ case 'minutes':
545
+ newTime[1] = value;
546
+ if (!currentTime[0]) {
547
+ newTime[0] = '00';
548
+ }
549
+ if (format === 'HH:mm:ss' && !currentTime[2]) {
550
+ newTime[2] = '00';
551
+ }
552
+ break;
553
+ case 'seconds':
554
+ if (format === 'HH:mm:ss') {
555
+ newTime[2] = value;
556
+ if (!currentTime[0]) {
557
+ newTime[0] = '00';
558
+ }
559
+ if (!currentTime[1]) {
560
+ newTime[1] = '00';
561
+ }
562
+ }
563
+ break;
564
+ default:
565
+ break;
566
+ }
567
+ var newTimeString = newTime.join(delimiter);
568
+ setInnerTime(newTimeString);
569
+ var nextColumn = null;
570
+ if (column === 'hours' && isNextColumn) {
571
+ nextColumn = 'minutes';
572
+ } else if (column === 'minutes' && isNextColumn) {
573
+ nextColumn = format === 'HH:mm:ss' ? 'seconds' : null;
574
+ } else {
575
+ nextColumn = activeTime.currentColumn;
576
+ }
577
+ var newActiveTime = {
578
+ hours: column === 'hours' ? parseInt(value, 10) : activeTime.hours,
579
+ minutes: column === 'minutes' ? parseInt(value, 10) : activeTime.minutes,
580
+ seconds: column === 'seconds' ? parseInt(value, 10) : activeTime.seconds,
581
+ currentColumn: nextColumn
582
+ };
583
+ setActiveTime(newActiveTime);
584
+ onChange === null || onChange === void 0 ? void 0 : onChange({
585
+ value: newTimeString,
586
+ timeValues: {
587
+ hh: parseInt(newTime[0], 10),
588
+ mm: parseInt(newTime[1], 10),
589
+ ss: format === 'HH:mm:ss' ? parseInt(newTime[2] || '0', 10) : null
590
+ }
591
+ });
592
+ };
593
+ var handleInputChange = function(event) {
594
+ var input = event.target.value;
595
+ var cursorPos = event.target.selectionStart;
596
+ var _processTimeInput = processTimeInput(input, format, cursorPos), innerString = _processTimeInput.innerString, values = _processTimeInput.values, newCursorPosition = _processTimeInput.newCursorPosition;
597
+ setInnerTime(innerString);
598
+ setActiveTime(function(prev) {
599
+ return _object_spread_props(_object_spread({}, prev), {
600
+ hours: values.hh,
601
+ minutes: values.mm,
602
+ seconds: values.ss
603
+ });
604
+ });
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
+ }
613
+ requestAnimationFrame(function() {
614
+ if (inputRef.current) {
615
+ inputRef.current.setSelectionRange(newCursorPosition, newCursorPosition);
616
+ }
617
+ });
618
+ };
619
+ var handleKeyDown = function(event) {
620
+ if (event.key === 'Enter' && !isInnerOpen) {
621
+ event.preventDefault();
622
+ setIsInnerOpen(true);
623
+ setActiveTime(function(prev) {
624
+ return _object_spread_props(_object_spread({}, prev), {
625
+ currentColumn: 'hours'
626
+ });
627
+ });
628
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(true);
629
+ return;
630
+ }
631
+ if (!isInnerOpen) {
632
+ return;
633
+ }
634
+ var currentColumn = activeTime.currentColumn;
635
+ if (!currentColumn) {
636
+ return;
637
+ }
638
+ var newIndex = null;
639
+ var newColumn = currentColumn;
640
+ if ([
641
+ 'ArrowUp',
642
+ 'ArrowDown',
643
+ 'Enter'
644
+ ].includes(event.key)) {
645
+ event.preventDefault();
646
+ }
647
+ if ([
648
+ 'ArrowRight'
649
+ ].includes(event.key) && currentColumn !== 'seconds') {
650
+ event.preventDefault();
651
+ }
652
+ if ([
653
+ 'ArrowLeft'
654
+ ].includes(event.key) && currentColumn !== 'hours') {
655
+ event.preventDefault();
656
+ }
657
+ switch(event.key){
658
+ case 'ArrowUp':
659
+ var _activeTime_currentColumn;
660
+ newIndex = Math.max(0, ((_activeTime_currentColumn = activeTime[currentColumn]) !== null && _activeTime_currentColumn !== void 0 ? _activeTime_currentColumn : 0) - 1);
661
+ if (newIndex !== null) {
662
+ var value = newIndex.toString().padStart(2, '0');
663
+ handleTimeItemClick(value, currentColumn, false);
664
+ }
665
+ break;
666
+ case 'ArrowDown':
667
+ case 'Tab':
668
+ event.preventDefault();
669
+ var _activeTime_currentColumn1;
670
+ newIndex = Math.min(currentColumn === 'hours' ? 23 : 59, ((_activeTime_currentColumn1 = activeTime[currentColumn]) !== null && _activeTime_currentColumn1 !== void 0 ? _activeTime_currentColumn1 : 0) + 1);
671
+ if (newIndex !== null) {
672
+ var value1 = newIndex.toString().padStart(2, '0');
673
+ handleTimeItemClick(value1, currentColumn, false);
674
+ }
675
+ break;
676
+ case 'ArrowRight':
677
+ case 'Enter':
678
+ if (currentColumn === 'hours') newColumn = 'minutes';
679
+ else if (currentColumn === 'minutes' && format === 'HH:mm:ss') newColumn = 'seconds';
680
+ var _activeTime_newColumn;
681
+ newIndex = (_activeTime_newColumn = activeTime[newColumn]) !== null && _activeTime_newColumn !== void 0 ? _activeTime_newColumn : 0;
682
+ setActiveTime(_object_spread_props(_object_spread({}, activeTime), _define_property({
683
+ currentColumn: newColumn
684
+ }, newColumn, newIndex)));
685
+ if (currentColumn === 'seconds' && format === 'HH:mm:ss' || currentColumn === 'minutes' && format === 'HH:mm') {
686
+ setIsInnerOpen(false);
687
+ }
688
+ break;
689
+ case 'ArrowLeft':
690
+ if (currentColumn === 'minutes') {
691
+ newColumn = 'hours';
692
+ } else if (currentColumn === 'seconds') {
693
+ newColumn = 'minutes';
694
+ }
695
+ var _activeTime_newColumn1;
696
+ newIndex = (_activeTime_newColumn1 = activeTime[newColumn]) !== null && _activeTime_newColumn1 !== void 0 ? _activeTime_newColumn1 : 0;
697
+ setActiveTime(_object_spread_props(_object_spread({}, activeTime), _define_property({
698
+ currentColumn: newColumn
699
+ }, newColumn, newIndex)));
700
+ if (currentColumn === 'hours') {
701
+ setIsInnerOpen(false);
702
+ }
703
+ break;
704
+ // eslint-disable-next-line no-fallthrough
705
+ default:
706
+ }
707
+ };
708
+ var handleTimeItemKeyDown = function(event, column, value) {
709
+ if (event.key === 'Enter') {
710
+ event.preventDefault();
711
+ handleTimeItemClick(value, column);
712
+ }
713
+ };
714
+ var handleOnKeyDown = function(e) {
715
+ onKeyDownNavigation(e);
716
+ handleKeyDown(e);
717
+ };
718
+ var _useKeyNavigation = useKeyNavigation({
719
+ isCalendarOpen: isInnerOpen,
720
+ format: format,
721
+ maskWithFormat: true,
722
+ delimiter: delimiter,
723
+ closeOnEsc: closeOnEsc,
724
+ onToggle: handleToggle
725
+ }), onKeyDownNavigation = _useKeyNavigation.onKeyDown;
726
+ var TimePickerInput = /*#__PURE__*/ React.createElement(StyledInput, {
727
+ ref: inputRef,
728
+ value: viewValue,
729
+ size: size,
730
+ disabled: disabled,
731
+ readOnly: readonly,
732
+ placeholder: placeholder,
733
+ contentLeft: contentLeft,
734
+ contentRight: contentRight,
735
+ textBefore: textBefore,
736
+ textAfter: textAfter,
737
+ onChange: handleInputChange,
738
+ onFocus: onFocus,
739
+ onKeyDown: handleOnKeyDown,
740
+ required: required,
741
+ requiredPlacement: requiredPlacement,
742
+ hasRequiredIndicator: hasRequiredIndicator,
743
+ label: label,
744
+ labelPlacement: labelPlacement,
745
+ keepPlaceholder: keepPlaceholder
746
+ });
747
+ return /*#__PURE__*/ React.createElement(Root, _object_spread({
748
+ stretched: stretched,
749
+ view: view,
750
+ size: size,
751
+ className: cls(classes.timePickerRoot, className, _define_property({}, classes.timePickerstretched, stretched)),
752
+ disabled: disabled,
753
+ readonly: readonly,
754
+ ref: ref
755
+ }, rest), /*#__PURE__*/ React.createElement(StyledPopover, {
756
+ opened: isInnerOpen,
757
+ usePortal: usePortal,
758
+ frame: frame,
759
+ onToggle: handleToggle,
760
+ offset: offset,
761
+ placement: getPlacements(dropdownAlign === 'left' ? 'bottom-start' : 'bottom-end', false),
762
+ trigger: "click",
763
+ closeOnOverlayClick: closeOnOverlayClick,
764
+ isFocusTrapped: false,
765
+ target: TimePickerInput,
766
+ preventOverflow: false,
767
+ align: dropdownAlign
768
+ }, /*#__PURE__*/ React.createElement(Root, {
769
+ ref: timeSelectRootRef,
770
+ view: view,
771
+ size: size,
772
+ disabled: disabled,
773
+ readonly: readonly,
774
+ onClick: handleCalendarRootClick,
775
+ className: dropdownAlign === 'right' ? classes.timePickerPlacementRight : '',
776
+ stretched: stretched
777
+ }, /*#__PURE__*/ React.createElement(StyledTimePicker, {
778
+ width: dropdownWidth
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
+ })))));
825
+ });
826
+ };
827
+ export var timePickerConfig = {
828
+ name: 'TimePicker',
829
+ tag: 'div',
830
+ layout: timePickerRoot,
831
+ base: base,
832
+ variations: {
833
+ view: {
834
+ css: viewCSS
835
+ },
836
+ size: {
837
+ css: sizeCSS
838
+ },
839
+ disabled: {
840
+ css: disabledCSS,
841
+ attrs: true
842
+ },
843
+ readonly: {
844
+ css: readonlyCSS,
845
+ attrs: true
846
+ }
847
+ },
848
+ defaults: {
849
+ size: 'm',
850
+ view: 'default'
851
+ }
852
+ };