Skip to content

Conversation

@ttaylor-stack
Copy link
Collaborator

@ttaylor-stack ttaylor-stack commented Oct 17, 2025

PR to update button component to match the new SHINE base styles

Ticket: https://stackoverflow.atlassian.net/browse/SPARK-55
Figma: https://www.figma.com/design/do4Ug0Yws8xCfRjHe9cJfZ/Project-SHINE---Product-UI?node-id=4272-20325&m=dev

Questions/Concerns:

  • I've used decimal pixel values to get the button height exactly as specified however in the refinement meeting yesterday it was mentioned that this might not be necessary. Should I round these values up/down to make use of the static pixel values? cc: @dancormier
  • I have updated the badge background color to be red-500 within the danger variant in high contrast mode in order to keep the 7:1 ratio. Let me know if that is okay or needs updating cc: @CGuindon @dancormier

@changeset-bot
Copy link

changeset-bot bot commented Oct 17, 2025

🦋 Changeset detected

Latest commit: 290432f

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@netlify
Copy link

netlify bot commented Oct 17, 2025

Deploy Preview for stacks ready!

Name Link
🔨 Latest commit 290432f
🔍 Latest deploy log https://app.netlify.com/projects/stacks/deploys/6920e2a1a2278d00088f111d
😎 Deploy Preview https://deploy-preview-2008--stacks.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Oct 17, 2025

Deploy Preview for stacks-svelte ready!

Name Link
🔨 Latest commit 290432f
🔍 Latest deploy log https://app.netlify.com/projects/stacks-svelte/deploys/6920e2a183299f0008e003ad
😎 Deploy Preview https://deploy-preview-2008--stacks-svelte.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@ttaylor-stack ttaylor-stack changed the base branch from develop to beta October 17, 2025 15:33
Copy link
Contributor

@dancormier dancormier left a comment

Choose a reason for hiding this comment

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

Hey @ttaylor-stack I looked it over and made a few broad suggestions that might help out. I'm happy to discuss more while we pair on Monday. Thanks for taking on this beastly redesign 🙂

@CGuindon
Copy link
Collaborator

Discussion in this slack thread

  • It's missing the Tonal button (replacing Muted I think?)
  • I updated the Facbook icon a month ago and I probably broke something in this Facebook button (extra color class in there maybe?). Can we fix this as part of the new buttons? (nobody has noticed yet — I don't think we use this button in a lot of places)
Screenshot 2025-10-24 at 12 14 04 PM

@ttaylor-stack ttaylor-stack changed the title Spark 55/shine update button base styles feat(button) - update button base styles for SHINE Nov 10, 2025
Copy link
Collaborator

@CGuindon CGuindon left a comment

Choose a reason for hiding this comment

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

  1. We're going to keep the focus ring Black on all components so it won't match the featured and danger state button colors. Sorry I thought this was handled by the focus ring component we have (currently blue) and not the buttons. Just updated the figma file to reflect this — buttons in the Figma were out of date from this decision. We're keeping existing logic that the focus is always the same color — black-600.
Screenshot 2025-11-12 at 12 49 10 PM Screenshot 2025-11-12 at 12 48 32 PM
  1. s-btn and s-btn__tonal shouldn't get a background fill for the focus state (one is getting black fill so the text disappears and the other is getting a light fill that makes it look tonal). We should just have the outer ring appear (making it look like an outlined button) — same as .s-btn .s-btn__danger but black.
Screenshot 2025-11-12 at 12 51 42 PM Screenshot 2025-11-12 at 12 53 21 PM
  1. The selected state on the clear buttons seem to be missing the gradient/two-toned styling? And the tonal selected button state has a gradient that looks much less noticeable than Figma (I'm not sure how to grab the values from the browser). Bottom grey in Figma is HLS 220, 8, 93 and top darker grey is black-200 (HLS 216, 8, 88).
Screenshot 2025-11-12 at 1 01 20 PM Screenshot 2025-11-12 at 12 57 43 PM
  1. Can we try to get the default button size to match closer to 40px in height? By reducing the top/bottom padding a bit. I know the other ones aren't exact but it's over 41px right now. This will be a component that gets aligned with other components often and I've made other elements match the 40px height as well so they all line up nice.
Screenshot 2025-11-12 at 1 08 35 PM
  1. .s-btn .s-btn__filled in dark mode doesn't have the two toned/gradient selected state. Is there a way to use color stops to make this gradient or is it using hard coded values? Looping in @dancormier for thoughts on how to approach this. Ideally we use the color stop values so we don't need to update this in the future if we change any color values.
Screenshot 2025-11-12 at 1 13 59 PM Screenshot 2025-11-12 at 1 12 12 PM
  1. .s-btn .s-btn__featured .s-btn__filled also seems very low contrast between the two tones. That might be dark mode colors. Wondering what approach you took to making all these gradients now.
Screenshot 2025-11-12 at 1 14 20 PM

@ttaylor-stack ttaylor-stack marked this pull request as ready for review November 14, 2025 11:11
@CGuindon
Copy link
Collaborator

@ttaylor-stack I'll have a separate ticket for button badges — so leaving the change you made for HC mode is fine and great for now in this PR.

Copy link
Collaborator

@CGuindon CGuindon left a comment

Choose a reason for hiding this comment

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

  • Tonal seems to have lost it's tone. The default (non-selected) state should have a background color of black-150. We don't have an instance of tonal__clear the tonal__filled is the only version. So filled should appear as the default for s-btn .s-btn__tonal
Screenshot 2025-11-14 at 9 19 04 AM

I think it's because it's pulling from theme-secondary. Wondering if for the tonal styles we need to stick to the black color stops — @dancormier thoughts?
Screenshot 2025-11-14 at 9 23 52 AM

@CGuindon
Copy link
Collaborator

Screenshot 2025-11-14 at 9 32 50 AM

For the .s-btn .s-btn__danger selected let's tweak one value on the gradient (60% to 50% on the bottom color):
linear-gradient(to bottom, var(--red-100) 0%, var(--red-100) 50%, color-mix(in srgb, var(--red-100) 50%, white 40%) 50%, color-mix(in srgb, var(--red-100) 50%, white 40%) 100%)

@CGuindon
Copy link
Collaborator

For dark mode, I think the gradients are using the wrong white or black value or ordering in some cases. I mocked them up in Figma and added notes for what I changed on the gradient where it differs from the Light mode. Ultimatley, all of the selected states should have the darker tone on the top layer and light tone on the bottom layer. I'm not sure how the figma gradient values correlate to the code values but hoping this helps.

Figma dark mode

Copy link
Contributor

@dancormier dancormier left a comment

Choose a reason for hiding this comment

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

This PR is a beast and in order to keep things moving, I took the liberty to refactor the Less in this PR: #2052

@ttaylor-stack I'd like to take a little time to discuss the PR in our 1:1 and see if it's appropriate to merge into yours. I think we can save ourselves some future pain by structuring the Less and the custom properties a bit differently.

Copy link
Contributor

@dancormier dancormier left a comment

Choose a reason for hiding this comment

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

Let's merge it!

@ttaylor-stack ttaylor-stack enabled auto-merge (squash) November 21, 2025 18:27
@ttaylor-stack ttaylor-stack merged commit 4610d3a into beta Nov 21, 2025
17 checks passed
@ttaylor-stack ttaylor-stack deleted the spark-55/shine-update-button-base-styles branch November 21, 2025 22:15
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.

4 participants