We spent 2 years working on CVA, so you can forget manual variants!
CVA is a plugin for Figma that does the repetitive work for you.
After more than two years of refining and testing, we’ve made it simple:
🪄 Instant Variants - No more repetitive clicks. Generate all possible variants in one go! 🔮 Link Properties - Control the output by linking properties. This ensures that certain properties always vary together. For example, if you have a button component and link the label size with the icon size, both will adjust simultaneously, keeping your design consistent. 💚 Havea Healthier Design System - Simplify and accelerate the process of managing variants. Less manual work means fewer mistakes and a cleaner, more scalable system. This is something we (a small team of 4 very persistent people) have obsessed over for years to make your workflow smoother.
Try it out and let us know what you think!
We are everywhere, just check out our bento: bento.me/cva
@camden_granger hi there! I'm not sure what you mean, but using nested instances is basically how you make the most out of CVA. That way you can generate variants with each of the nested instances variants you want. You can choose not to allow all nested instance options, unlike when you simply "expose nested instance properties" in Figma
Hello, @hina_siddiqui :) Yes!
The way you do that today is by encapsulating those rules in nested components, using the cascading components technique. It sounds complicated, but when you see it you get it, and the playground in Figma showcases this.
But we are already working on the next version which will allow you to do that by setting up rules and variation sources (which can be variable collections/modes, styles, a CSV, or even random generators like randomuser.me)
We spent 2 years working on CVA, so you can forget manual variants!
CVA is a plugin for Figma that does the repetitive work for you.
After more than two years of refining and testing, we’ve made it simple:
🪄 Instant Variants - No more repetitive clicks. Generate all possible variants in one go!
🔮 Link Properties - Control the output by linking properties. This ensures that certain properties always vary together. For example, if you have a button component and link the label size with the icon size, both will adjust simultaneously, keeping your design consistent.
💚 Have a Healthier Design System - Simplify and accelerate the process of managing variants. Less manual work means fewer mistakes and a cleaner, more scalable system.
This is something we (a small team of 4 very persistent people) have obsessed over for years to make your workflow smoother.
Try it out and let us know what you think!
We are everywhere, just check out our bento: bento.me/cva
@rai_rezende Congratulations for the entire team!!
How does it deal with complex components that have multiple nested elements?
@rai_rezende Can users set predefined rules for variant generation such as size, state and theme combinations?