Skip to content

Commit 8e68d54

Browse files
authored
feat: make label a required prop on TimeField (#555)
* fix: make label a required prop on timefield * fix: import
1 parent 0f68124 commit 8e68d54

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/components/experimental/TimeField/TimeField.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,19 @@ import { DateInput } from '../Field/Field';
99
import { DateSegment } from '../Field/DateSegment';
1010
import { Wrapper } from '../Field/Wrapper';
1111
import { FieldProps } from '../Field/Props';
12+
import { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';
1213

13-
type TimeFieldProps = FieldProps & BaseTimeFieldProps<TimeValue>;
14+
type TimeFieldProps = Omit<FieldProps, 'label'> &
15+
BaseTimeFieldProps<TimeValue> & {
16+
label: string;
17+
hideLabel?: boolean;
18+
};
1419

1520
const TimeField = React.forwardRef<HTMLDivElement, TimeFieldProps>(
1621
(
1722
{
1823
label,
24+
hideLabel = false,
1925
description,
2026
errorMessage,
2127
leadingIcon,
@@ -32,8 +38,14 @@ const TimeField = React.forwardRef<HTMLDivElement, TimeFieldProps>(
3238
<>
3339
<FakeInput $isVisuallyFocused={isVisuallyFocused}>
3440
{leadingIcon}
35-
<InnerWrapper hideLabel={!label}>
36-
{label && <Label $flying>{label}</Label>}
41+
<InnerWrapper hideLabel={hideLabel}>
42+
{hideLabel ? (
43+
<VisuallyHidden>
44+
<Label>{label}</Label>
45+
</VisuallyHidden>
46+
) : (
47+
<Label $flying>{label}</Label>
48+
)}
3749
<DateInput>{segment => <DateSegment segment={segment} />}</DateInput>
3850
</InnerWrapper>
3951
{actionIcon}

0 commit comments

Comments
 (0)