With the recent improvements to variants and components, Ridd makes a point that the benefits of using base components are no longer worth the cost for the design systems work. That said, they’re still great for exploratory work.
I'm constantly asked about .base components...
— Ridd 🏛 (@Ridderingand) October 13, 2022
My answer: now that variant sets are smaller AND it's easier to make bulk changes...
The benefit (ease of updating) is no longer worth the cost (ease of use).
But there's one use case I still love 👇 pic.twitter.com/InfTH6Arm3
An interesting technique from Luis on using component props for adding spacing around icons only in some instances, for example when used inside a button.
How can you use component props for contextual spacing?
— luis. (@disco_lu) October 4, 2022
For example, an icon that needs a 12px margin in *some* instances?
– Create a spacer component
– Place that inside a wrapper component for your icon
– Nest that one inside your main component
– Bubble up the props pic.twitter.com/KUv1oX05zs
“Using Component Properties, we can update our library and make the components a bit more clear, flexible, and semi-self-documenting for the users of the library. In this tip, we share how preferred values and exposed instances can make the component consumption experience easier for designers.”
Ridd with a pro tip on using Variants. Good prep work for the design tokens in the future!
Variants pro tip incoming 👀
— Ridd 🏛 (@Ridderingand) September 18, 2022
Create a single set of height variables.
And then apply them across all of your core "atoms" (buttons, inputs, etc.)
3 reasons why 👇 pic.twitter.com/McUW6B2Ua8
Molly Hellmuth with a detailed walkthrough of beta features and why they’re worth using right away.
💡 Figma Tip: Starting using the new BETA PROPERTY features now!
— Molly Hellmuth (@molly_hellmuth) September 20, 2022
This update is huge! There are 3 major ways it’s going to make using component instances much easier for your design team.
Keep reading to learn how.. pic.twitter.com/T0OOkkXRIO
Joey Banks explains why new features are so important for the design systems’ work.
Sho Kuwamoto, Director of Product at Figma, on new features and applying the concept of “composition” from engineering to design systems.
One of the reasons I'm so excited about this new set of features is that it lets people use composition effectively.
— Sho Kuwamoto (@skuwamoto) September 20, 2022
I know that "composition" (used in this way) is an engineering term and not a design term, but I think it applies.
1/n https://t.co/SL5mNhoMNm
New component property features in open beta: exposed nested instances for more customization, preferred values for more clarity when instance swapping, and simplified instances for more focus on relevant properties.
Luis on why it’s important to optimize for the usage of components.
Something I'm see a lot is that we prioritise component *creation*, not *usage*
— luis. (@disco_lu) September 13, 2022
This usually ends with something like this (simple example). Building is easier, but usage harder
The "notification" component is buried in variant settings. It's also a different component! pic.twitter.com/R5s63ptJ4w
A quick look at the process of updating an existing component with Component Properties and releasing an update with minimal friction for the design team.
Molly Hellmuth shares a few things she learned about using Component Properties after rebuilding a design system from scratch.
I just rebuilt my Design System from scratch (to include Config2022 updates)
— Molly Hellmuth (@molly_hellmuth) August 11, 2022
Here are the 3 biggest thing I learned about using Component Properties during this process.. pic.twitter.com/9aNJcmxNjd
Generate all possible instances for your components, including every combination of variants and component properties, all in a tidy labeled table.
“In this stream, Figma Designer Advocate Chad Bergman and Product Manager Jacob Miller share how to apply polish to your components and publishing a v1 of your library.”
Rogie comes to the rescue and explains how to preserve a fill color when icons are overridden and swapped. It’s worth keeping a layer name consistent across icons in the library if you plan to use them in different colors.
To get icon colors to preserve when they are overridden and swapped, you need to make sure that your layer names are the same. You'll see in this gif that add_circle and add_shopping_cart have the same layer name...that's how Figma knows to apply the override as you swap. pic.twitter.com/io8DZFtgBQ
— ˗ˏˋrogieˎˊ (@rogie) July 29, 2022
That’s a really smart idea — browse a library of pre-made UI elements and copy-paste them straight to Figma. Categories make browsing the collections very easy. May be valuable for rapid prototyping at the early stages or for exploring ideas. (Keep in mind it didn’t work for me in Safari, but works perfectly in Chrome.)
Ridd shares five awesome strategies for using component properties: strategic nesting, progressive disclosure, minimizing decisions, emojis, and streamlining the instance swap.
These two components might LOOK the same...
— Ridd 🏛 (@Ridderingand) July 6, 2022
But they couldn't be more different:
• ✅ One crushes component props
• ❌ One creates a nightmare
5 best practices for component props 👇 pic.twitter.com/x3ooMihZMp
Edward Chechique wrote a detailed and well-illustrated guide to component properties.
Figma dropped a new tutorial: “With component properties, you can define which parts of a component can change. And instead of creating separate variants, you can use component properties to reduce the number of components needed. This takes the guesswork out of designing for anyone using these components and they can quickly make adjustments as Figma keeps component property controls in one place.”
“We’re excited to talk about yet another awesome new feature: Component properties. Join us as product manager Jacob Miller and designer advocate Chad Bergman share more on how you can reduce variant explosion in your design systems and improve developer handoff.”
Ridd warns that using component properties introduces a new type of responsibility for designers and explores what the most effective handoff deliverable actually looks like.
By now you’ve probably seen a few of these before/after screenshots like the one below:
— Ridd 🏛 (@Ridderingand) May 31, 2022
Pretty incredible, right?
Yes, BUT... pic.twitter.com/wE1HVHY2yI