Skip to content

Commit e4d7161

Browse files
committed
fix: Do not move backward through DateField segments when pressing Enter
1 parent 77b3442 commit e4d7161

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

packages/@react-aria/datepicker/src/useDatePickerGroup.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ export function useDatePickerGroup(state: DatePickerState | DateRangePickerState
110110
}
111111
},
112112
onPress(e) {
113-
if (e.pointerType !== 'mouse') {
113+
if (e.pointerType === 'touch' || e.pointerType === 'pen') {
114114
focusLast();
115115
}
116116
}

packages/react-aria-components/test/DateField.test.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,4 +338,21 @@ describe('DateField', () => {
338338
await user.keyboard('{backspace}');
339339
expect(document.activeElement).toBe(segments[0]);
340340
});
341+
342+
it('should do nothing when pressing enter', async () => {
343+
let {getAllByRole} = render(
344+
<DateField defaultValue={new CalendarDate(2024, 12, 31)}>
345+
<Label>Birth date</Label>
346+
<DateInput>
347+
{segment => <DateSegment segment={segment} />}
348+
</DateInput>
349+
</DateField>
350+
);
351+
352+
let segments = getAllByRole('spinbutton');
353+
await user.click(segments[2]);
354+
expect(segments[2]).toHaveFocus();
355+
await user.keyboard('{Enter}');
356+
expect(segments[2]).toHaveFocus();
357+
});
341358
});

0 commit comments

Comments
 (0)