@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.
- package/cjs/components/TimePicker/TimePicker.css +11 -9
- package/cjs/components/TimePicker/TimePicker.js +108 -96
- package/cjs/components/TimePicker/TimePicker.js.map +1 -1
- package/cjs/components/TimePicker/TimePicker.styles.js +1 -46
- package/cjs/components/TimePicker/TimePicker.styles.js.map +1 -1
- package/cjs/components/TimePicker/{TimePicker.styles_1548b5s.css → TimePicker.styles_ar3obv.css} +0 -6
- package/cjs/components/TimePicker/TimePicker.tokens.js +2 -2
- package/cjs/components/TimePicker/TimePicker.tokens.js.map +1 -1
- package/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +7 -13
- package/cjs/components/TimePicker/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.css +7 -0
- package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +65 -0
- package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +1 -0
- package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +61 -0
- package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
- package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +7 -0
- package/cjs/components/TimePicker/utils/index.js +40 -42
- package/cjs/components/TimePicker/utils/index.js.map +1 -1
- package/cjs/index.css +11 -9
- package/emotion/cjs/components/TimePicker/TimePicker.js +104 -92
- package/emotion/cjs/components/TimePicker/TimePicker.styles.js +7 -52
- package/emotion/cjs/components/TimePicker/TimePicker.tokens.js +2 -2
- package/emotion/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +7 -15
- package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +65 -0
- package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +71 -0
- package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +4 -0
- package/emotion/cjs/components/TimePicker/utils/index.js +40 -42
- package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/emotion/cjs/examples/components/TimePicker/TimePicker.config.js +7 -7
- package/emotion/es/components/TimePicker/TimePicker.js +106 -94
- package/emotion/es/components/TimePicker/TimePicker.styles.js +7 -34
- package/emotion/es/components/TimePicker/TimePicker.tokens.js +2 -2
- package/emotion/es/components/TimePicker/hooks/useKeyboardNavigation.js +7 -15
- package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +50 -0
- package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +33 -0
- package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +1 -0
- package/emotion/es/components/TimePicker/utils/index.js +37 -42
- package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
- package/emotion/es/examples/components/TimePicker/TimePicker.config.js +7 -7
- package/es/components/TimePicker/TimePicker.css +11 -9
- package/es/components/TimePicker/TimePicker.js +110 -98
- package/es/components/TimePicker/TimePicker.js.map +1 -1
- package/es/components/TimePicker/TimePicker.styles.js +2 -41
- package/es/components/TimePicker/TimePicker.styles.js.map +1 -1
- package/es/components/TimePicker/{TimePicker.styles_1548b5s.css → TimePicker.styles_ar3obv.css} +0 -6
- package/es/components/TimePicker/TimePicker.tokens.js +2 -2
- package/es/components/TimePicker/TimePicker.tokens.js.map +1 -1
- package/es/components/TimePicker/hooks/useKeyboardNavigation.js +7 -13
- package/es/components/TimePicker/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/TimePicker/ui/TimeColumn/TimeColumn.css +7 -0
- package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +56 -0
- package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +1 -0
- package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +51 -0
- package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
- package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +7 -0
- package/es/components/TimePicker/utils/index.js +40 -43
- package/es/components/TimePicker/utils/index.js.map +1 -1
- package/es/index.css +11 -9
- package/package.json +2 -2
- package/styled-components/cjs/components/TimePicker/TimePicker.js +104 -92
- package/styled-components/cjs/components/TimePicker/TimePicker.styles.js +3 -87
- package/styled-components/cjs/components/TimePicker/TimePicker.tokens.js +2 -2
- package/styled-components/cjs/components/TimePicker/hooks/useKeyboardNavigation.js +7 -15
- package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +65 -0
- package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +112 -0
- package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +4 -0
- package/styled-components/cjs/components/TimePicker/utils/index.js +40 -42
- package/styled-components/cjs/examples/components/TimePicker/TimePicker.config.js +29 -11
- package/styled-components/es/components/TimePicker/TimePicker.js +106 -94
- package/styled-components/es/components/TimePicker/TimePicker.styles.js +3 -69
- package/styled-components/es/components/TimePicker/TimePicker.tokens.js +2 -2
- package/styled-components/es/components/TimePicker/hooks/useKeyboardNavigation.js +7 -15
- package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +50 -0
- package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +74 -0
- package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.types.js +1 -0
- package/styled-components/es/components/TimePicker/utils/index.js +37 -42
- package/styled-components/es/examples/components/TimePicker/TimePicker.config.js +29 -11
- package/types/components/TimePicker/TimePicker.d.ts +2 -2
- package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.styles.d.ts +0 -8
- package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
- package/types/components/TimePicker/TimePicker.tokens.d.ts +2 -2
- package/types/components/TimePicker/TimePicker.types.d.ts +1 -1
- package/types/components/TimePicker/TimePicker.types.d.ts.map +1 -1
- package/types/components/TimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
- package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts +3 -0
- package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts.map +1 -0
- package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts +10 -0
- package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts.map +1 -0
- package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts +35 -0
- package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -0
- package/types/components/TimePicker/utils/index.d.ts +1 -0
- package/types/components/TimePicker/utils/index.d.ts.map +1 -1
- package/types/examples/components/TimePicker/TimePicker.config.d.ts.map +1 -1
- package/types/examples/components/TimePicker/TimePicker.d.ts +1 -1
- 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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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:
|
|
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
|
|
110
|
+
tokens.forEach(function(token) {
|
|
105
111
|
var segmentDigits = digits.slice(digitIndex, digitIndex + 2);
|
|
106
112
|
digitIndex += segmentDigits.length;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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.
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
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)
|
|
631
|
+
if (!isInnerOpen) {
|
|
632
|
+
return;
|
|
633
|
+
}
|
|
636
634
|
var currentColumn = activeTime.currentColumn;
|
|
637
|
-
if (!currentColumn)
|
|
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')
|
|
691
|
-
|
|
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:
|
|
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(
|
|
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 = {
|