Skip to content

fix(ui-buttons): fix buttons disabled style and color#2596

Open
git-nandor wants to merge 1 commit into
masterfrom
INSTUI-5029_BaseButton_withBackground_override_fix
Open

fix(ui-buttons): fix buttons disabled style and color#2596
git-nandor wants to merge 1 commit into
masterfrom
INSTUI-5029_BaseButton_withBackground_override_fix

Conversation

@git-nandor

@git-nandor git-nandor commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

INSTUI-5029

Summary

Fix the disabled styling of background-less BaseButton variants in the new Light/Dark themes, so that the secondary ghost (withBackground={false}) and ai-secondary buttons now correctly grey out their text, icon, and border when disabled — matching the other variants.

Test plan

Verify that disabled buttons are displayed correctly and consistently in v11.7 Light and Dark themes.
If it has background or border than should keep it in disabled state and should not be transparent.

<View
  display="block"
  padding="small"
  style={{
    backgroundImage:
      'repeating-linear-gradient(45deg, #ffffffff 0 3px, #f1f1f1ff 3px 6px)'
  }}
>
  <Heading level="h3">Base:</Heading>
  <View display="block">
    <BaseButton >Base</BaseButton>
    <BaseButton color="success" >Success</BaseButton>
    <BaseButton color="primary" >Primary</BaseButton>
    <BaseButton color="secondary" >Secondary</BaseButton>
    <BaseButton color="ai-primary" >Primary</BaseButton>
    <BaseButton color="ai-secondary" >Secondary</BaseButton>
    <IconButton color="primary" ><PlusInstUIIcon /></IconButton>
    <IconButton color="secondary" ><UserInstUIIcon /></IconButton>
    <IconButton color="ai-primary" ><IgniteaiLogoInstUIIcon/></IconButton>
    <IconButton color="ai-secondary" ><IgniteaiLogoInstUIIcon/></IconButton>
  </View>
  <View display="block">
    <BaseButton interaction="disabled" >Base</BaseButton>
    <BaseButton interaction="disabled" color="success" >Success</BaseButton>
    <BaseButton interaction="disabled" color="primary" >Primary</BaseButton>
    <BaseButton interaction="disabled" color="secondary" >Secondary</BaseButton>
    <BaseButton interaction="disabled" color="ai-primary" >Primary</BaseButton>
    <BaseButton interaction="disabled" color="ai-secondary" >Secondary</BaseButton>
    <IconButton interaction="disabled" color="primary" ><PlusInstUIIcon /></IconButton>
    <IconButton interaction="disabled" color="secondary" ><UserInstUIIcon /></IconButton>
    <IconButton interaction="disabled" color="ai-primary" ><IgniteaiLogoInstUIIcon/></IconButton> 
    <IconButton interaction="disabled" color="ai-secondary" ><IgniteaiLogoInstUIIcon/></IconButton> 
  </View>

  <Heading level="h3">No Background:</Heading>
  <View display="block">
    <BaseButton withBackground={false} >Base</BaseButton>
    <BaseButton color="success" withBackground={false} >Success</BaseButton>
    <BaseButton color="primary" withBackground={false} >Primary</BaseButton>
    <BaseButton color="secondary" withBackground={false} >Secondary</BaseButton>
    <BaseButton color="ai-primary" withBackground={false}>Primary</BaseButton>
    <BaseButton color="ai-secondary" withBackground={false}>Secondary</BaseButton>
    <IconButton color="primary" withBackground={false} ><PlusInstUIIcon /></IconButton>
    <IconButton color="secondary" withBackground={false} ><UserInstUIIcon /></IconButton>
    <IconButton color="ai-primary" withBackground={false} ><IgniteaiLogoInstUIIcon/></IconButton>
    <IconButton color="ai-secondary" withBackground={false} ><IgniteaiLogoInstUIIcon/></IconButton>
  </View>
  <View display="block">
    <BaseButton interaction="disabled" withBackground={false} >Base</BaseButton>
    <BaseButton interaction="disabled" color="success" withBackground={false} >Success</BaseButton>
    <BaseButton interaction="disabled" color="primary" withBackground={false} >Primary</BaseButton>
    <BaseButton interaction="disabled" color="secondary" withBackground={false} >Secondary</BaseButton>
    <BaseButton interaction="disabled" color="ai-primary" withBackground={false}>Primary</BaseButton>
    <BaseButton interaction="disabled" color="ai-secondary" withBackground={false}>Secondary</BaseButton>
    <IconButton interaction="disabled" color="primary" withBackground={false} ><PlusInstUIIcon /></IconButton>
    <IconButton interaction="disabled" color="secondary" withBackground={false} ><UserInstUIIcon /></IconButton>
    <IconButton interaction="disabled" color="ai-primary" withBackground={false} ><IgniteaiLogoInstUIIcon/></IconButton>
    <IconButton interaction="disabled" color="ai-secondary" withBackground={false} ><IgniteaiLogoInstUIIcon/></IconButton>
  </View>

  <Heading level="h3">No Background No Border:</Heading>
  <View display="block">
    <BaseButton withBorder={false} withBackground={false}>Base</BaseButton>
    <BaseButton color="success" withBorder={false} withBackground={false} >Success</BaseButton>
    <BaseButton color="primary" withBorder={false} withBackground={false}>Primary</BaseButton>
    <BaseButton color="secondary" withBorder={false} withBackground={false}>Secondary</BaseButton>
    <BaseButton color="ai-primary" withBorder={false} withBackground={false}>Primary</BaseButton>
    <BaseButton color="ai-secondary" withBorder={false} withBackground={false}>Secondary</BaseButton>
    <IconButton color="primary" withBorder={false} withBackground={false} ><PlusInstUIIcon /></IconButton>
    <IconButton color="secondary" withBorder={false} withBackground={false} ><UserInstUIIcon /></IconButton> 
    <IconButton color="ai-primary" withBorder={false} withBackground={false} ><IgniteaiLogoInstUIIcon/></IconButton> 
    <IconButton color="ai-secondary" withBorder={false} withBackground={false} ><IgniteaiLogoInstUIIcon/></IconButton> 
  </View>
  <View display="block">
    <BaseButton interaction="disabled" withBorder={false} withBackground={false}>Base</BaseButton>
    <BaseButton interaction="disabled" color="success" withBorder={false} withBackground={false} >Success</BaseButton>
    <BaseButton interaction="disabled" color="primary" withBorder={false} withBackground={false}>Primary</BaseButton>
    <BaseButton interaction="disabled" color="secondary" withBorder={false} withBackground={false}>Secondary</BaseButton>
    <BaseButton interaction="disabled" color="ai-primary" withBorder={false} withBackground={false}>Primary</BaseButton>
    <BaseButton interaction="disabled" color="ai-secondary" withBorder={false} withBackground={false}>Secondary</BaseButton>
    <IconButton interaction="disabled" color="primary" withBorder={false} withBackground={false} ><PlusInstUIIcon /></IconButton>
    <IconButton interaction="disabled" color="secondary" withBorder={false} withBackground={false} ><UserInstUIIcon /></IconButton>
    <IconButton interaction="disabled" color="ai-primary" withBorder={false} withBackground={false} ><IgniteaiLogoInstUIIcon/></IconButton>
    <IconButton interaction="disabled" color="ai-secondary" withBorder={false} withBackground={false} ><IgniteaiLogoInstUIIcon/></IconButton>
  </View>

</View>

Co-Authored-By: 🤖 Claude

@github-actions

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://instructure.design/pr-preview/pr-2596/

Built to branch gh-pages at 2026-06-18 07:46 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

github-actions Bot pushed a commit that referenced this pull request Jun 18, 2026
@github-actions

Copy link
Copy Markdown

Visual regression report

No changes.

Status Count
Unchanged 32
Changed 0
New 0
Removed 0

📊 View full report

Baselines come from the visual-baselines branch. They refresh on every merge to master.

@git-nandor git-nandor self-assigned this Jun 18, 2026
@git-nandor git-nandor marked this pull request as ready for review June 18, 2026 07:54

@adamlobler adamlobler left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked the Button and IconButton disabled states, and I think everything works well now. Thanks for the quick fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants