fix(core): remove 1-9 digit key seek from slider keyboard handler (#1690)

This commit is contained in:
Ronald Urbina
2026-06-16 10:50:16 -03:00
committed by GitHub
parent 67b39fe4bd
commit 47aca0f798
2 changed files with 0 additions and 57 deletions
-6
View File
@@ -291,12 +291,6 @@ export function createSlider(options: SliderOptions): SliderApi {
case 'End':
newPercent = 100;
break;
default:
// Suppress when any modifier is held to avoid hijacking browser/OS shortcuts.
if (!event.metaKey && !event.ctrlKey && !event.altKey && event.key >= '0' && event.key <= '9') {
newPercent = Number(event.key) * 10;
}
break;
}
if (newPercent !== null) {
@@ -562,57 +562,6 @@ describe('createSlider', () => {
slider.destroy();
});
it('numeric keys jump to N * 10%', () => {
const onValueChange = vi.fn();
const slider = createSlider(createOptions({ onValueChange }));
slider.thumbProps.onKeyDown(keyboardEvent('5'));
expect(onValueChange).toHaveBeenCalledWith(50);
onValueChange.mockClear();
slider.thumbProps.onKeyDown(keyboardEvent('0'));
expect(onValueChange).toHaveBeenCalledWith(0);
onValueChange.mockClear();
slider.thumbProps.onKeyDown(keyboardEvent('9'));
expect(onValueChange).toHaveBeenCalledWith(90);
slider.destroy();
});
it('numeric keys do not fire when metaKey is held', () => {
const onValueChange = vi.fn();
const slider = createSlider(createOptions({ onValueChange }));
slider.thumbProps.onKeyDown(keyboardEvent('5', { metaKey: true }));
expect(onValueChange).not.toHaveBeenCalled();
slider.destroy();
});
it('numeric keys do not fire when ctrlKey is held', () => {
const onValueChange = vi.fn();
const slider = createSlider(createOptions({ onValueChange }));
slider.thumbProps.onKeyDown(keyboardEvent('5', { ctrlKey: true }));
expect(onValueChange).not.toHaveBeenCalled();
slider.destroy();
});
it('numeric keys do not fire when altKey is held', () => {
const onValueChange = vi.fn();
const slider = createSlider(createOptions({ onValueChange }));
slider.thumbProps.onKeyDown(keyboardEvent('5', { altKey: true }));
expect(onValueChange).not.toHaveBeenCalled();
slider.destroy();
});
it('clamps to 0-100 range', () => {
const onValueChange = vi.fn();
const slider = createSlider(createOptions({ getPercent: () => 99, getStepPercent: () => 5, onValueChange }));