Well so looks like Figma broke their own logic. From component swapping to variants in step one to make everything more organized. And now next step is to add the component properties however the instance swap work only with a component not with the variants. So they just kill a variant and create confusion about when you should use it. I don’t know maybe it is so hard to use swap instance and add as well swap inside variant properties but hey. As it is now is more like a step-back, unfinished feature.
As an example Let’s say I have a modal and my modal has 4 different footer layouts. I group those 4 components as one variant. Now to use it with new component proprieties I need to get rid of variants and keep everything as a component again. So no [variant].modal-footer with property1, property2 etc. But [component].modal-footer/property1 [component].modal-footer/property2 etc.
In nutshell, all we need is to be able to pass the properties from nested variants or components with new component proprieties features. And that’s great! Just inconsistency of this solution and forcing us design system designers to change the logic with no long-term plan is annoying. Especially now you need to be sure when it makes sense to use variants and where not. Maybe safer is just do not use them at all if you want to build your components in atomic design? I can bet that in the future we can just pass all the proprieties from variants and then we need to refactor our components again…