From 47aca0f798b51b98741cf5d63ba8395e8ff0ad3d Mon Sep 17 00:00:00 2001 From: Ronald Urbina <140639086+ronald-urbina@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:50:16 -0300 Subject: [PATCH] fix(core): remove 1-9 digit key seek from slider keyboard handler (#1690) --- packages/core/src/dom/ui/slider.ts | 6 --- packages/core/src/dom/ui/tests/slider.test.ts | 51 ------------------- 2 files changed, 57 deletions(-) diff --git a/packages/core/src/dom/ui/slider.ts b/packages/core/src/dom/ui/slider.ts index 7b9b8f19..a5b39872 100644 --- a/packages/core/src/dom/ui/slider.ts +++ b/packages/core/src/dom/ui/slider.ts @@ -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) { diff --git a/packages/core/src/dom/ui/tests/slider.test.ts b/packages/core/src/dom/ui/tests/slider.test.ts index 62fdee00..4c43631a 100644 --- a/packages/core/src/dom/ui/tests/slider.test.ts +++ b/packages/core/src/dom/ui/tests/slider.test.ts @@ -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 }));