From c18502f3efdec5440a11289235a93c62ce27ab89 Mon Sep 17 00:00:00 2001 From: Alexander Harding Date: Tue, 5 May 2026 17:50:11 -0500 Subject: [PATCH 1/4] fix(action-sheet): restore action-sheet-selected class on non-radio buttons (#31109) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue number: resolves #31090 --------- ## What is the current behavior? Buttons configured with `role: "selected"` no longer receive the `action-sheet-selected` CSS class. Userland styling that targets `.action-sheet-selected` (the documented hook for marking the active option — bold text, custom checkmarks, etc.) silently stopped working as of `8.7.12`. This regressed in #30769 (`fix(select, action-sheet): use radio role for options`). The new render path computes the button's class as: ```tsx class={{ ...buttonClass(b), 'action-sheet-selected': isActiveRadio, }} ``` `buttonClass(b)` already emits `'action-sheet-selected': true` for `role: "selected"` (via `[action-sheet-${button.role}]]: button.role !== undefined`), but the second key with the same name overrides it. For any non-radio button `isActiveRadio` is `false`, so the class is dropped from the rendered `