ionic-team / ionic-team/ionic-framework

bug: ActionSheet CSS custom properties are applied to 'selected' role button since 8.7.12

Open
#30,921 0 comments 0 reactions 0 assignees View on GitHub
package: core type: bug
Dominant language
TypeScript
Stars
52.7k
Forks
13.3k
Avg merge
1d 15h
Merged PRs (30d)
51

Description

### Prerequisites

- [x] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [x] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [x] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v8.x

### Current Behavior

When we set the `role: 'selected'` property on an ActionSheetButton the rendered html button is missing class `action-sheet-selected`. This results in missing applied css styles applied, e.g. if we set `--button-color-selected` on for the action sheet's custom css class, that style is not shown.

Example ActionSheetButton

```
{
text: 'Share',
role: 'selected',
data: {
action: 'share',
},
},
```

Other `action-sheet-ROLE` classes (e.g. `destructive` are still applied to the button.

### Expected Behavior

The css class `action-sheet-selected` is applied if a button's role is set to `selected` and therefore the custom css properties are taking action.

For instance if I set ` --button-color-selected: purple;` (with a proper css class attached to my action sheet) I expect that the button with role `selected` is showing a purple text color.

### Steps to Reproduce

1. go to https://github.com/pjaecks-carecompass/ionic-action-sheet-bug
2. clone repository
3. `npm ci` - this will install `@ionic/angular@8.7.12`
4. `npm start`, open `http://localhost:4200`
5. tap the "Open" button to show the `ActionSheet`
6. check for the text color of the "Share" button - it is the default text color
7. now install previous ionic angular version with `npm install --save --save-exact @ionic/angular@8.7.11`
8. repeat step 4 and 5
9. check the text color of the "Share" button - this is now purple because the styling defined in `app.component.scss` is applied

### Code Reproduction URL

https://github.com/pjaecks-carecompass/ionic-action-sheet-bug

### Ionic Info

```
Ionic:

Ionic CLI : 5.4.16 (/home/USER/.npm/_npx/864a9e3c2cd0cf50/node_modules/ionic)
Ionic Framework : not installed
@angular-devkit/build-angular : 20.3.14
@angular-devkit/schematics : 20.3.14
@angular/cli : 20.3.14
@ionic/angular-toolkit : 12.3.0

Utility:

cordova-res : not installed
native-run (update available: 2.0.3) : 2.0.1

System:

NodeJS : v22.21.0 (/home/USER/.nvm/versions/node/v22.21.0/bin/node)
npm : 10.9.4
OS : Linux 6.6
```

### Additional Information

I suspect https://github.com/ionic-team/ionic-framework/pull/30769 to introduce this.

This change (bug?) was introduced in `8.7.12`.

With `8.7.11` it is still working fine.

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue with the linked ionic-action-sheet-bug repository, comparing @ionic/angular 8.7.12 with 8.7.11. Then inspect the change referenced in pull request #30769 and verify that the selected ActionSheet button receives action-sheet-selected and applies the custom --button-color-selected style.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, css, typescript
Domain
frontend
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.