Skip to content

Commit 6f23ea1

Browse files
authored
Fix clicking on track to move slider in RAC (#5383)
1 parent fa107af commit 6f23ea1

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

packages/react-aria-components/src/Slider.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ interface SliderTrackContextValue extends Omit<HTMLAttributes<HTMLElement>, 'chi
148148
function SliderTrack(props: SliderTrackProps, ref: ForwardedRef<HTMLDivElement>) {
149149
[props, ref] = useContextProps(props, ref, SliderTrackContext);
150150
let state = useContext(SliderStateContext)!;
151-
let {hoverProps, isHovered} = useHover(props);
151+
let {onHoverStart, onHoverEnd, onHoverChange, ...otherProps} = props;
152+
let {hoverProps, isHovered} = useHover({onHoverStart, onHoverEnd, onHoverChange});
152153
let renderProps = useRenderProps({
153154
...props,
154155
defaultClassName: 'react-aria-SliderTrack',
@@ -162,7 +163,7 @@ function SliderTrack(props: SliderTrackProps, ref: ForwardedRef<HTMLDivElement>)
162163

163164
return (
164165
<div
165-
{...mergeProps(filterDOMProps(props as any), hoverProps)}
166+
{...mergeProps(otherProps, hoverProps)}
166167
{...renderProps}
167168
ref={ref}
168169
data-hovered={isHovered || undefined}

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,4 +208,14 @@ describe('Slider', () => {
208208
let output = getByRole('status');
209209
expect(output).toHaveTextContent('30 – 60');
210210
});
211+
212+
it('should support clicking on the track to move the thumb', async () => {
213+
let onChange = jest.fn();
214+
let {getByRole} = renderSlider({onChange});
215+
let group = getByRole('group');
216+
let track = group.querySelector('.react-aria-SliderTrack');
217+
218+
await user.pointer([{target: track, keys: '[MouseLeft]', coords: {x: 20}}]);
219+
expect(onChange).toHaveBeenCalled();
220+
});
211221
});

0 commit comments

Comments
 (0)