luis. Profile picture
Mar 23, 2023 13 tweets 7 min read Read on X
Some more "styles in Figma" thoughts

Let's take a look at the four types of colour styles you might build / encounter in your systems 🎨

• Raw values e.g. #CC8700
• Base tokens e.g. Yellow/400
• Global tokens e.g. Warning/Primary
• Component tokens e.g. Alert/Warning/Text Image
The last layer (component tokens) may be overkill for your needs, and you might not need to get that specific!

The "levels of abstraction" are down to how sophisticated your system might be, and you may not even need...any of the last three if you're okay with raw values😄 A graphic showing the previ...
The way I have structured this, with the arrow inheritance, should indicate that you follow a path down from abstract raw value down to specific component token value

Each level introduces control – providing the systems team with a much stricter way of managing styles
Important! The naming conventions that I'm using here will almost certainly raise some eyebrows – people do things differently in different teams – it's more about the stack of inheritance that I'm trying to highlight 😅

Will come back to this later
Let's maybe look at how a base token would be converted into a global one

Assigning a more descriptive name, and taking the actual colour name out of it, means we are building for intent and not the look of the colour

This is the first layer of abstraction A list of base tokens and g...
Looking at a component example helps visualise the control we get from this abstraction (how many times can I say this word?)

Here we see the Warning/Primary global token being sliced up into two component tokens: text and icon

Hyper-specificity helps with that future-proofing A visual representation of ...
Again, that specificity but with a real component

This alert component's "component tokens" are associated with each child element

Alert/Warning/Background
Alert/Warning/Text
Alert/Warning/Border
Alert/Warning/Icon

States (hover, focus) would make them more specific too Image
As I mentioned earlier, you might not need that component level, because it could be over-designed

In this case, we might rely on the previous "global token" level at all stages

Warning/Accent
Warning/Tertiary
Warning/Secondary An alert component with arr...
Global tokens become very useful for *new* ideas too

When designing, you likely won't be going deep on the component abstraction level, and just want to ideate on new things

This means we can use all global, descriptive, tokens to rapidly iterate A screenshot of the Figma c...
I mentioned naming conventions earlier and said they are done differently at different companies, which is great but means these things can be hard to learn

Some resources:

polaris.shopify.com/design/colors
pie.design/foundations/co…
primer.style/design/foundat… A triple list of token nami...
As rightly pointed out by @edgarasben & @auareyou, the style names here are perhaps a little misleading



Signaling usage intent at the first level & component at the second you could do something like:

Background/Warning
Border/Warning
Foreground/Warning Image
@edgarasben @auareyou Oh also, these threads are mostly just me thinking out loud 💭

They are an open space for discussion and sharing too, so if your team are doing things you would like us to see, share as a reply!
@edgarasben @auareyou A thread within a thread? Sure 😂

Here is a nice back and forth about the topic as well

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with luis.

luis. Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @disco_lu

Sep 19
The more I talk to hiring managers and senior designers about what they are looking for in designers, the more I back up the theory that portfolios shouldn't be X, Y, Z case studies, but explorations of your obsession with details
Showing deep, deep examinations of your solutions AND what you didn't deliver is a really great way to show how you approach solving a problem

A slideshow of solutions doesn't show anything below the surface, just a public-facing polished mockup
But jumping incredibly deep into your rough work can show that you really do take the end to end product process into consideration when solving a problem

"this didn't work, because..." is a fascinating discussion that I know would be way more interesting than "here's a flow"
Read 5 tweets
Jul 10
There's something bugging me about icons

Take a look at these two components, what's wrong? 10 points are on offer Two light blue components with icons inside and a text string reading "label". The left component has a horizontal 3 dot icon, the right component has a vertical 3 dot icon.
That's right! There are two problems:

1) The left padding is optically too large
2) The gap is too loose Visual of the same two previous components, with a yellow annotation pointing to the issues described in the tweet
When composing components like this (with an icon), the process is:

1) Nest an icon
2) Set preferred instances
3) Bubble up the icon to the top level for instance swapping A visual showing the process of nesting an icon inside another component. It also shows two overrides to the icon, one showing the original horizontal three dot icon and the second showing the vertical 3 dots.
Read 7 tweets
Jun 30, 2023
Been asked a lot over the past few days about how to get started with colour variables, so here are some pointers 🖍️

Hope this is useful!
As usual, before we get started here are some T&Cs:

• These are my opinions, take with a grain of salt!
• You will need more or less of these options, adjust to your team's workflow
• Tokens are opinionated, bring your microphone
• Tokens are angry, enter with care
The types I'll discuss are:

1️⃣ Bg = Background
2️⃣ Text = Text!
3️⃣ Border = Also known as strokes
4️⃣ Icon = This is a layer I'm personally adding on, will explain why
Read 22 tweets
May 5, 2023
I think it might be time to reconsider whether atomic design helps or hinders the creation of designs and systems

It’s been the de facto rule for looking at interfaces for a long time, but I find that sometimes it can actually create more confusion 💫 A visual depicting atomic d...
Atomic design is great! The issue we face though is that it’s best suited for frontend code architecture, and not necessarily within design files

It helped me understand the construction and component composability at a foundational level, buuut I want to flip the script a bit
Before we start, I’d encourage you to read the blog post if you haven’t yet: bradfrost.com/blog/post/atom…
Read 17 tweets
Mar 16, 2023
Here's another thread about managing Figma styles 🗂

It's pretty hard to know how far to push naming conventions on styles, and you can end up in some heavily nested folder structures if you're not careful

So let's take one component and work it out! A square image with a mid p...
As usual, these are thoughts / ideas!

There's not necessarily a perfect right answer, but hopefully this sets you up with something to think about 💡
First things first! Token/styles schema 🤖

I've landed on:

Type
e.g. color, effect

Pattern
e.g. flight information, form

Component
e.g. itinerary, input

Element
e.g. header, info

Modifier
e.g. upgrade

Property
e.g. fill, border

State
e.g. base, hover

Value
e.g. # A visual representation of ...
Read 13 tweets
Mar 6, 2023
When is one component actually many components?

I've seen a lot of cool component props examples recently, but I think we're running into a world where component maintenance is being prioritised over usage

Taking a tweet component as an example, how could we structure it? A screenshot of a series of...
First things first, identify the component types

1️⃣ Tweet – single
2️⃣ Tweet – media
3️⃣ Tweet – threaded

Notes: Names are illustrative; media has many types and would require another thread in itself; there's probably more types! The same tweet image as bef...
We *could* go to town here and add component props to every single element, reducing our component down to just a single one

Here you can see the prop soup of our singular component in practice A single tweet with media e...A comparison of the solo co...A table showing the compone...
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(