Skip to content

Commit af10076

Browse files
committed
fix(kdatetimepicker): layout time inputs on same row [MA-4310]
1 parent dd2936b commit af10076

File tree

1 file changed

+51
-45
lines changed

1 file changed

+51
-45
lines changed

src/components/KDateTimePicker/CalendarWrapper.vue

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -18,49 +18,51 @@
1818
v-if="showTime"
1919
class="time-wrapper"
2020
>
21-
<div
22-
class="time-input"
23-
>
24-
<label
25-
class="time-input-label"
26-
:for="`time-input-start-${componentId}`"
27-
>
28-
<span v-if="showRange('start')">
29-
<!-- @vue-ignore: typeguard in showRange -->
30-
{{ formatDateDisplay(calendarVModel.start) }}
31-
</span>
32-
<span v-else-if="(calendarVModel && calendarVModel instanceof Date)">
33-
{{ formatDateDisplay(calendarVModel) }}
34-
</span>
35-
</label>
36-
<input
37-
:id="`time-input-start-${componentId}`"
38-
v-model="startTimeValue"
39-
class="time-input-start"
40-
:class="{ 'input-error': hasError }"
41-
data-testid="time-input-start"
42-
:step="60"
43-
type="time"
44-
>
45-
<label
46-
class="time-input-label"
47-
:for="`time-input-end-${componentId}`"
48-
>
49-
<span v-if="showRange('end')">
50-
<!-- @vue-ignore: typeguard in showRange -->
51-
{{ format(calendarVModel.end, 'EEE MMM d yyyy') }}
52-
</span>
53-
</label>
54-
<input
55-
v-if="isRange"
56-
:id="`time-input-end-${componentId}`"
57-
v-model="endTimeValue"
58-
class="time-input-end"
59-
:class="{ 'input-error': hasError }"
60-
data-testid="time-input-end"
61-
:step="60"
62-
type="time"
63-
>
21+
<div class="time-input">
22+
<div class="time-input-item">
23+
<label
24+
class="time-input-label"
25+
:for="`time-input-start-${componentId}`"
26+
>
27+
<span v-if="showRange('start')">
28+
<!-- @vue-ignore: typeguard in showRange -->
29+
{{ formatDateDisplay(calendarVModel.start) }}
30+
</span>
31+
<span v-else-if="(calendarVModel && calendarVModel instanceof Date)">
32+
{{ formatDateDisplay(calendarVModel) }}
33+
</span>
34+
</label>
35+
<input
36+
:id="`time-input-start-${componentId}`"
37+
v-model="startTimeValue"
38+
class="time-input-start"
39+
:class="{ 'input-error': hasError }"
40+
data-testid="time-input-start"
41+
:step="60"
42+
type="time"
43+
>
44+
</div>
45+
<div class="time-input-item">
46+
<label
47+
class="time-input-label"
48+
:for="`time-input-end-${componentId}`"
49+
>
50+
<span v-if="showRange('end')">
51+
<!-- @vue-ignore: typeguard in showRange -->
52+
{{ format(calendarVModel.end, 'EEE MMM d yyyy') }}
53+
</span>
54+
</label>
55+
<input
56+
v-if="isRange"
57+
:id="`time-input-end-${componentId}`"
58+
v-model="endTimeValue"
59+
class="time-input-end"
60+
:class="{ 'input-error': hasError }"
61+
data-testid="time-input-end"
62+
:step="60"
63+
type="time"
64+
>
65+
</div>
6466
</div>
6567
<Transition
6668
mode="out-in"
@@ -229,10 +231,14 @@ defineExpose({
229231
.time-input {
230232
border-radius: var(--kui-border-radius-10, $kui-border-radius-10);
231233
display: flex;
232-
flex-direction: column;
234+
flex-direction: row;
233235
gap: var(--kui-space-30, $kui-space-30);
236+
justify-content: space-between;
234237
padding: var(--kui-space-30, $kui-space-30) var(--kui-space-60, $kui-space-60);
235-
width: fit-content;
238+
239+
.time-input-item {
240+
width: min-content;
241+
}
236242
237243
input[type="time"] {
238244
@include inputDefaults;

0 commit comments

Comments
 (0)