Thank you @Matthew_Ortega ! It’s ridiculous that you should need plugins / hacks etc to do something that is web standard. Icons should inherit component / variant styles. Just like text.
Figma’s problem here is that they’re treating icons like just another component, when anyone who has ever been on the internet can see they’re not buttons or fields etc. They are a language, just like text.
Sometimes I swear the figma designers don’t think like designers at all.
Also, just fyi as a vet with 17 years design experience and who builds libraries every other month - these hacks don’t work. They work in specific cases for small libraries with zero variants or states.
Hello, i would like to share my two cents on this topic in hope it helps someone.
This is a file i created to explain the problem where you can have a component with an Icon and some text, and how when you manipulate the icon within another main component, it no longer switches variants correctly.
However, if you change the icon on an instance of the second main component, then it hovers correctly.
(I am super bad at explaining, you better grab the file and see it yourself.)
Thing is that i reported it to customer care, and it is a known bug that may (or may not) be fixed this month.
This is a known bug for ages. I recently came back to a previous design system that was working 100%, only to now have same issue again.
My solution (to the solutions mentioned in thread link below) was to Reset all changes to the icon components (layer) in my button masters, dropdowns, menus etc… I then had to set icon sizing inside them to where it was before. Luckily I use master componentents, but this is an embarrassment that Figma hasn’t fixed this, or worse patronizes professionals saying that it has.
Check out this thread if you haven’t tried the layer naming, unique color for icons set stuff first:
This isn’t an answer to the original problem. You’ve changed the colour on the Instance level of the button. If you swap the icon to a different one, it does retain the colour of the current instance.
The scenario we are trying to solve is to recolour the Master Component Icon colour, and have it update every single instance of that component. So If I have a Car Icon in my master component, then create an instance of the master and change the icon inside the instance to Dog. Now go back to the master component and change the colour of the car. The Dog instance remains in it’s old colour, even thought we didn’t override the colour in the instance.
I had to revise each vector object in every main component, flatten them, give them the same name, and make them the same color variable.
After that, they all worked