From 0cfed8a28bda9cecac887651ff6b6d2e53f39504 Mon Sep 17 00:00:00 2001 From: Maylina Sengkhyavong Date: Tue, 21 Apr 2026 15:26:16 -0700 Subject: [PATCH 1/2] vscode-radio-group: dispatch change event on arrow key selection --- src/vscode-radio-group/vscode-radio-group.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/vscode-radio-group/vscode-radio-group.ts b/src/vscode-radio-group/vscode-radio-group.ts index 3cb39655d..5981ad0b2 100644 --- a/src/vscode-radio-group/vscode-radio-group.ts +++ b/src/vscode-radio-group/vscode-radio-group.ts @@ -115,6 +115,9 @@ export class VscodeRadioGroup extends VscElement { if (listenedKeys.includes(key)) { ev.preventDefault(); } + else { + return; + } if (key === 'ArrowRight' || key === 'ArrowDown') { this._checkNext(); @@ -123,6 +126,11 @@ export class VscodeRadioGroup extends VscElement { if (key === 'ArrowLeft' || key === 'ArrowUp') { this._checkPrev(); } + + const checkedRadio = this._radios.find(r => r.checked); + if (checkedRadio) { + checkedRadio.dispatchEvent(new Event('change', {bubbles: true, composed: true})); + } }; private _handleChange(ev: CustomEvent) { From a7503f3a0b319a2868e914eceb8460f6a39298ad Mon Sep 17 00:00:00 2001 From: Maylina Sengkhyavong Date: Tue, 28 Apr 2026 10:08:39 -0700 Subject: [PATCH 2/2] fix formatting with prettier --- src/vscode-radio-group/vscode-radio-group.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/vscode-radio-group/vscode-radio-group.ts b/src/vscode-radio-group/vscode-radio-group.ts index 5981ad0b2..50bb2f01b 100644 --- a/src/vscode-radio-group/vscode-radio-group.ts +++ b/src/vscode-radio-group/vscode-radio-group.ts @@ -114,8 +114,7 @@ export class VscodeRadioGroup extends VscElement { if (listenedKeys.includes(key)) { ev.preventDefault(); - } - else { + } else { return; } @@ -127,9 +126,11 @@ export class VscodeRadioGroup extends VscElement { this._checkPrev(); } - const checkedRadio = this._radios.find(r => r.checked); + const checkedRadio = this._radios.find((r) => r.checked); if (checkedRadio) { - checkedRadio.dispatchEvent(new Event('change', {bubbles: true, composed: true})); + checkedRadio.dispatchEvent( + new Event('change', {bubbles: true, composed: true}) + ); } };