Your video on creating buttons using variables is incredibly helpful. Your teaching style is easy to understand, and you're doing an awesome job. Keep rocking!
Awesome video! I am a software engineer with no artistic skill, so using these techniques and Figma has been able to get me to start designing a UI framework! A little bit of coding knowledge / help when it comes to renaming: I found it easy to make my first state and give it all of the names. For example: Color = Default, Variant = Solid, State = Default, Radius = None, Icon = None, Size = Small Then when you go to copy it, you can change the individual properties you want. So for example, if you want to change the State from Default to Hover you can use the Match (top textbox) to match to something you want to change. So if you wanted to change the state you can put in the following in the Rename modal State = Default State = Hover When you rename it you will get the following Color = Default, Variant = Solid, State = Hover, Radius = None, Icon = None, Size = Small It helps when you have a ton of properties and you are doing the things in batch!
Hey, Just wanted to drop a thank you message here. You're the reason for helping me to expand my knowledge on design systems a lot! Learning something new each time. Thanks 🥰
You are amazing! I have searched all over TH-cam before coming to you to learn how to use variables for DS. Figma should pay you for this if it doesn't already! Super Helpful. 🙏
Amazing tutorials. The most valuable playlist on Figma variables I've ever found! Unbelievable how effortlessly and beautifully you explain. Plus that pretty smile and enthusiasm of teaching. Just won my ❤ It's been quite some time since I have been looking for such detailed and complete design system tutorials! Finally here I am! Thanks for making this, that too for free. This is premium content. God bless you!
This is one of the best best video on the internet about how to create buttons with instances.. Thanks a ton. Finally I have created a bundle of 240 button. Keep Uploading. Love
Love your videos & enthusiasm. Awesome work ♥️ Im a seasoned designer, but i’m still learning many new methods & applying them to the design system at my work
Your Figma design system series are VERY helpful and very clear and broken down. Thanks for sharing! One remark, regarding 'focused' state. I heard you mentioning it several times to be the split second when selecting the item before you let go your mouse (on mousedown) which is true in a way but it's more of a tiny visual feedback gimmick. In front-end development, the focus state is more often linked to the 'focus-visible' state, for accesibility purposes: keyboard navigation (tabbing). I guess that's your 'selected' state? But then what happens if the buttons are used in a set of select options - where you actually need one of the buttons to show to be selected/toggled? Then you need another way to display a focus-visible version. So you might want to change the focus state to a more contrasty version (usually an outline), OR, if you really want a mousedown effect, create two variants. The mousedown (CSS focus attribute) does cause trouble out of the box tough (Kevin Powell beautifully explains it here: th-cam.com/video/j68WvpUX41c/w-d-xo.htmlsi=uLbLW2b0ENzbjpsA), so I prefer to only design the accessibilty version - as that is way more important than a clicky effect.
Outstanding episode I've a little note here you've to check the accessibility guidelines in each button state in your design as I can not see the hover text clearly because of the colors are too light .
hahahaha that "useeee" at 14:16 was soo smooth hahaha, beautiful voice ma'am. Btw amazing video, really informative. I'm binging the whole playlist on Sunday, really exciting it has been, learning soo much new about figma. keep going ma'am I'm grateful for this content!
This is cool! I've been looking for some tutorials on how to use Figma design tokens (cause then I can theoretically just export those directly to CSS / Tailwind). Can you do fonts with variable tokens too? Rather than making like 100 font styles (cause I have font styles for regular text, code, icons all at 2-3 weights, and at like 10 sizes)
I love all your videos, really great work! I am trying to learn variables as well, and considering these are still in Beta, I am really in owe of your knowledge and ease of working with them :) well done!
@@TDSunshine Same! and your videos are super helpful! I am gathering some feedback for Figma team as there are some bits that could be very helpful in official release ;)
If to add button inner gap as a paddings of label wrap itself, then you'll not needed separate instance for Icon only button. Example: - label has itself wrapper with 8px horizontal paddings - icon and label wrapper will have 0px gap (because 8px was already added) - button as a parent container will have the same vertical & horizontal paddings for ex also 8px Then no matter, was icon only selected or label only - you'll have right paddings: for text button - bigger (8+default8=16hor & 8vertical), for Icon only - smaller, default only 8 hor x 8 vert. Also you could play with hidden paddings trick in left or right icon wrappers, or provide Icon Only with a separate Third icon as a property. It's more about performance for huge highly-loaded libraries. Figma doesn't like duplicating instances, but loves properties)
Thank you for this tutorial! but i wanna ask after making this button components and adding it to the design for the prototype, why aren’t there any actions like hover or selected? do i need to prototype it again? if so, is there a tutorial for it?
Thanks for your videos, they are great! I have a doubt, at minute 19:58 when applying the text property, I lost the original color of the label in each type of button. Most of the texts took the value of the primitive variable “White”. Do you know if there is a way to create the text property without this happening? In advance, thank you very much!
Hi, Tair. I'm trying to build a component library. I have a question, what if I have different sizes of icons with DIFFERENT STROKE WEIGHTS, Should I define one more variable for stroke. Because I have a icons collection with different sizes and if follow the advice i the video it manages the icon size but not the stroke weight. What should I do?
That’s a great idea! I filmed this video before you couldn’t use variables for stroke but Figma keep making amazing updates! It could be a great idea to use them that way ☀️🤗
Of course! H padding is horizontal padding so the padding the goes on the right and left of the elements inside the auto layout and the auto layout. And v padding is the vertical padding, so the padding that goes above and below. I hope that helps! 🙏🏼☀️
Thank you for making tutorial videos. Your videos have been a great resource in learning how to use the variable/token system. I have one question about using semantic colors. In the case where one might want to have a light dark mode, do you have to abandon the semantic color tokens? So instead of having 4 different modes, you would have two modes (light vs dark). In that case, I guess it would make the most sense to then have semantic colors as variables (surface_primary, surface_error, etc)? Hopefully, I am making sense. Thank you again! You are awesome!
Thanks! its a matter of approach and need. If you are more in need of dark and light then maybe setting them up as modes is more useful or maybe semantics are more useful modes. You can always use variables on components for the colour change alone by just changing the variable and not the variables mode. I hope that makes sense ☀️🤗
Thank you so much for making these great videos! I'm learning a lot from them. When I made my buttons, I realized that the icon I used was only a vector, so I could not select all instances to create the instance swap. Do you know of a solution to this problem?
I've learned so much from this series, thank you!! I do have a question about maintaining aspect ratio for icons that don't have the same width and height. When using a variable (icon-size) for the width of my icons, the height does not adjust automatically to keep the icon's aspect ratio and the icon becomes warped. How would you go about using variables in this scenario?
Great question! aspect ratio is always a bit of a tricky one when resizing or fitting things into a new space. I think you can try different combinations of constraints or fixed/fill/hug and see if any of them make the swapping work better and keep the icons from distorting. Another good trick is to wrap all your icons in a square frame and set your icon inside to scale scale. that can just make swapping a bit easier. I hope that helps! ☀️🙏🏻
Thank you sooo much for this videos, they are great! But I have a question: My icons are all in 1 color, so when I change the Icon on my buttons it doesn't come with the color assigned to the previous one. Is there any way I can create a controller for color like that on the button or do I have to create an instance for all my icons with multiple colors?
You're welcome! 💛 That's a great question I hate when that happens! the solution I found to this is pretty silly but it works 🙃 you just need to make sure that the icons all have the same name. and by that I mean the vector itself has the same name across all the icons. They can still be components or component sets with different names but the icon itself should all have the same name. I hope that helps ☀️🙏🏻
I have a case about a set width for a button. mostly I use the width is hug content. but in some cases, I want to fill a container. Ex: form sign-up, the width button is 100% (that means the width is fill container). Can we create a token with width as auto?
22:27 is the end of the video so not sure what bit you are asking about, but my buttons are in an auto layout which makes it easy to put an icon before or after the text ☀️🙏🏻
You're welcome! I go into the colour system I use that includes error stats in this video - *Colour System* - th-cam.com/video/qPL3ubdlkRM/w-d-xo.html ☀️🙏🏻💛
Great series of videos! Learning loads from them atm. I did have a quick question about the radius group in the sizing tokens though. What is the reasoning for this and would it not just be easier to have a collection called 'Component Tokens' and have a Radius group in there, seeing as generally radius will just be set on components? Many thanks :)
Thanks! My answer is as always - it depends 🙃 I think for me I found that radius is used a lot on components but I also use it on single elements sometimes when designing so it's a good one to have defined kind of separate to any component. If there is something you feel might be used across all your designs like page margins, graphic element sizing, spacings, or paddings it's great to have a collection for those. ☀️
@@TDSunshine thanks for your reply! Makes total sense. I’m just starting out a brand new design system for a large rewrite and trying to think of as much as possible up front before getting started….nightmare 😂
good luck! planning ahead is a great idea but remember design systems are ever evolving and Figma is also ever-evolving! haha so if in a few weeks, you find out you actually want to do something in a different way just remember that that's part of the fun! #breathdeepandchangeitagain 🤪 @@kieronsykes
You’re welcome! sometimes you might need two types of buttons in your system but sometimes one is enough 🙃 I guess I wanted to show a version with both as an example. I think pill buttons are great to use as part of tables for example or in cards . But there is no one right way of when to use them. ☀️🙏🏼
ahhh following along so well but when it came to the time when to duplicate them set to small medium and large they grew but started to over lap. maybe i missed a step, are each group in an auto format themselves??
Yes that can happen! while selecting all of them use alignment tools to Tidy Up and then you can adjust the spacing between them in the design panel! ☀️🙏🏻
Hi! Thanks for the video. Am I missing why at the beginning of the "Variable it" part you are adding a token just for this button? Does this mean that each component that I am going to add to the design system will have its own set of variables values? Thanks in advance
Hey! This is one approach yes! If you use aliases you can have the primitive values stored once in a collection then you alias and reuse them for each component. That makes it easier when you create that component to just assign the variables. But like I always say, no one way fits all! It's all about what works for you and your design system ☀️🙏🏻💛
Your content has been incredibly helpful to me as I work on creating a new design system with variables. I have a question: I’m following your video step by step, but at the end, when I change the icon of a button that I copied from my button component set within a frame, the color and size of the new icon don't match what I defined in my button component set. Why?!
Great video. Your videos are really well explained if a bit fast! I find keeping up difficult - must be my age! One comment I have is your icons are centred with padding so when you add left and right icons the padding left and right is inconsistent over the whole button, and it looks off to me. How do you get around that? I realise we need icons to be consistent sizes which is why they are within a regular square and some icons are irregular shapes. But I find it really jarring for there to be more visible padding on the outer side where the icon appears. Any thoughts?
I'm a fast speaker I know sorry 🙈 The icon issue is a very common one! I do prefer having them in frames sometimes to make sure that they are all the same size regardless of the shape of the icon itself but I see your pint completely about it creating different paddings sometimes 🙃 at the end of the day I think its all up to your preference as a designer. If the designs end up going to someone else its really important to have good documentation to show this point because like you said, it can be jarring to have padding there but not know where it came from. Hope that helps! ☀️🤗
Thanks@@TDSunshine - I have another query about the icons, sorry if I am asking dumb questions! I have set up the buttons using the variable including sizing for the icons - small, med and large. But when I switch modes the icons size is not changing. What have I done wrong! I haven't named or made them into components yet as I need to fix the icon sizing. Do I need to put the icon into an autolayout and make it hug? I don't need the icon in the button to change just resize for small, medium and large. Thanks so much. I actually worked it out, but even so, when I change the variable for small, med and large, I have to change both dimensions, horizontal and vertical - it doesn't scale even though my icons are set to scale - must have done something wrong!
so! this is where old-school constraints come in! the icon is in a frame so you need to set up how the vector reacts when its parent changes size. I have a video where I go through constraints if you want to check it out -> *Figma Frames & Constraints* - th-cam.com/video/GeXF7r0Xfn4/w-d-xo.html @@karenbeal2387
Great video thank you! I am running into an issue with my icon swapping. When I set my button to disabled state with an icon and then swap the icon to something else the icon does not keep the same color it changes to the original color of my icon not the one I set on the button. Do you have a fix for this?
Great question! the icon vector levels need to all have the same name for them to stay the same colour. So it's ok that they are in frames with different names but the "lowest level" need to all be named the same. I hope that helps ☀️💛🙏🏻
wow... just wow. I really love the way you rename all of them. I used to cmd c cmd v at the left layers and its killing me LOL. Also with the component token, does that means theres no need for us to create variant of small medium large icon anymore? 🤩
Hi, first of all I would like to tell you that I love your videos and they are very useful and for that THANK YOU! but I think I have a problem with the V-padding of all the "label" buttons: despite following all the steps the button is smaller. Can you please tell me what the problem might be?
Thanks! I'm glad you like them! ☀️🙏🏻 Check that your button is set to "hug" in the width? it might not be hugging and therefore ignoring the size of the label + the padding. I hope that helps!
You can't create component properties through naming sadly only variants :/ BUT if you have a variant property which is a true/false one than you can use naming this way - "name of property = True" (or false) and then in the instance you will have a toggle to control this variant. Hope that makes sense 🙏🏻 I go through this in this video at 17:13 ☀️
What about buttons that have an icon on both sides? Does it make sense to use Boolean in that case? But then there remains the case for displaying only one icon (Alone). Well done! Keep going!
Hmm double icon buttons are always a bit tricky :/ you could use Boolean component properties on both, label them left and right and then you can toggle the visibility so you can see just the left just the right , both or none. Sometimes variants are more appropriate and sometimes component properties 🙃 hope that helps! ☀️💛
@TDSunshine Thanks a lot for such great tutorial. It Helped me a lot. Just a small problem where I stuck, when I change button from small to medium and large, the button without icon is smaller than buttons with icon. Can you suggest how to fix?
@@TDSunshine Thank you for suggestion, I already fixed by increasing line height 😎. I really loved the way you explain. It is really motivating and helpful for me. Keep posting your amazing works..
Great Videos, the only issue I have is, When I swap the Icons it goes back to the button orginal color which is Icon/Default but my button Icon is set to Neutral/Test/Negative. Please advice. I am sure you have a solution for this and I know I am not doing it correct.
If I have 3 colors: primary, secondary, and accent, how can organize all these colors in button component? Or should I create another new component for each of the secondary, accent colors?
there are a few approaches you can take. You could make 3 variants of the button, each with a different color, and then give them a "state" property with values for primary, secondary, and accent. Or you could keep just one button colour and then when you use an instance of it you can just change the background colour as you please. I think the first option is better for documentation and you can add a description for each variant on when to use it. I hope that helps! ☀️
Have followed along with all your videos but when I choose the appropriate Primitive Number Scale for the Spacing it doesn't show the actual value like in your video here, just the token name like 2XS and so forth which isn't that practical. Any idea?
Yes I agree with you actually! In my first video where I set up the number scale primitives I used XS, S, M etc. But then, just like you, I realised it wasn't practical so I changed the primitive variable names to reflect their actual value. ☀️🙃 I'm also still trying to learn what's the most easy way to use variables and like I always say with Figma there is never just one way to do something! its al about what suits your preferences and needs best 🙏🏻🤗
That’s amazing. I just have a question, if the line-height of text using 120%. Maybe the height of text larger/smaller with icon. the issue is the heigh of button will be different between icon only with text only. we will fix with fix line-height of text , right?
So I would recommend either fixing the height of the button so that the elements inside don’t change its height OR you can change the line height of your text. I hope that helps! 🙏🏼☀️
9 หลายเดือนก่อน
Thanks for this tutorials! I'm really looking forward to Design System Part 6, 7, 8. Are they coming?
Hello again, I have a question. In the last part, if I want to use icons of different sizes, how can I do it? So if I want to use a smaller icon on the smallest button
Great question! you have a few options for this. You can either just change the size of the icon instance in the different button variants OR you can create different variants of the original icon in different sizes and then select the right variant when you use an instance of it in the different buttons. I hope that makes sense. ☀️🙏🏻💛
Hey if you are able to please help with this: I got an error message about my small icon buttons after creating a component set; It reads like this : Some layers have invalid names. Prop=Value, Prop=Value...Do you have any idea to fix this? Thank you
It’s the batch renaming tool in Figma 🤩 if you select a few elements at the same time and hit CMD+R you will get it ☀️ Sorry I know a bit fast sometimes 🙈
You are super organized that watching your process is almost therapeutic.
aww thanks! ☀️🤗
Your video on creating buttons using variables is incredibly helpful. Your teaching style is easy to understand, and you're doing an awesome job. Keep rocking!
Aww Thanks! 🙏🏼☀️
Why god why this much time to find this gems. Grateful to you TD. No one has explained this simple!!
Thanks!! ☀️🙏🏻💛
Awesome video! I am a software engineer with no artistic skill, so using these techniques and Figma has been able to get me to start designing a UI framework! A little bit of coding knowledge / help when it comes to renaming:
I found it easy to make my first state and give it all of the names. For example:
Color = Default, Variant = Solid, State = Default, Radius = None, Icon = None, Size = Small
Then when you go to copy it, you can change the individual properties you want. So for example, if you want to change the State from Default to Hover you can use the Match (top textbox) to match to something you want to change. So if you wanted to change the state you can put in the following in the Rename modal
State = Default
State = Hover
When you rename it you will get the following
Color = Default, Variant = Solid, State = Hover, Radius = None, Icon = None, Size = Small
It helps when you have a ton of properties and you are doing the things in batch!
Great tips! 🤗☀️💛
Hey, Just wanted to drop a thank you message here. You're the reason for helping me to expand my knowledge on design systems a lot! Learning something new each time. Thanks 🥰
so happy to hear that! ☀️🤗🙏
You are amazing! I have searched all over TH-cam before coming to you to learn how to use variables for DS. Figma should pay you for this if it doesn't already! Super Helpful. 🙏
haha thanks! I'm glad you found it helpful ☀️🙏🏻
Organize, engaging, and straight to the point explanation for Variables, Tokens, Variants & Component Properties.
👍🏼🙏🏼☀️
Amazing tutorials. The most valuable playlist on Figma variables I've ever found! Unbelievable how effortlessly and beautifully you explain. Plus that pretty smile and enthusiasm of teaching. Just won my ❤ It's been quite some time since I have been looking for such detailed and complete design system tutorials! Finally here I am! Thanks for making this, that too for free. This is premium content. God bless you!
aww thank you so much for your kind words! ☀️🙏🏻💛
This is one of the best best video on the internet about how to create buttons with instances.. Thanks a ton. Finally I have created a bundle of 240 button. Keep Uploading. Love
Thanks! ☀️🙏🏻💛
This is honestly the most exciting video I've seen in a long time
Thanks! ☀️🙏🏻💛
You're awesome. I have learnt finally how to create 100s of buttons within 2 minutes. Thanks a lot
☀️🙏🏻
Love your videos & enthusiasm. Awesome work ♥️
Im a seasoned designer, but i’m still learning many new methods & applying them to the design system at my work
Thanks! I’m glad they are helpful! ☀️💛🙏🏼
Your Figma design system series are VERY helpful and very clear and broken down. Thanks for sharing!
One remark, regarding 'focused' state. I heard you mentioning it several times to be the split second when selecting the item before you let go your mouse (on mousedown) which is true in a way but it's more of a tiny visual feedback gimmick. In front-end development, the focus state is more often linked to the 'focus-visible' state, for accesibility purposes: keyboard navigation (tabbing).
I guess that's your 'selected' state? But then what happens if the buttons are used in a set of select options - where you actually need one of the buttons to show to be selected/toggled? Then you need another way to display a focus-visible version.
So you might want to change the focus state to a more contrasty version (usually an outline), OR, if you really want a mousedown effect, create two variants. The mousedown (CSS focus attribute) does cause trouble out of the box tough (Kevin Powell beautifully explains it here: th-cam.com/video/j68WvpUX41c/w-d-xo.htmlsi=uLbLW2b0ENzbjpsA), so I prefer to only design the accessibilty version - as that is way more important than a clicky effect.
Great tips! thanks for sharing! ☀️🙏🏻💛
I really enjoyed this session. I never thought creating these many buttons would be easy.
☀️🙏🏻💛
Your explanations are top-notch-clear, lively, and super helpful! Thank you!
Thanks! ☀️🙏🏻💛
Your videos are amazing. Thank you for putting this out there.
Thank you. Your calm and super organized way of designing and teaching is aspiring and beautiful. Also you're lovely and truly a sunshine 🤍
thanks! I appreciate it! ☀️💛🙏🏻
I was searching this kind of detailed design system tutorial for a long time. Thank you so much. :) Subscribed!! :)
yay! thanks Im glad you found it helpful! ☀️🙏🏻
@@TDSunshine why you don't upload video on daily basis?😀
Outstanding episode
I've a little note here you've to check the accessibility guidelines in each button state in your design as I can not see the hover text clearly because of the colors are too light .
Great tip! ☀️🙏🏻
Thank you so much for all your videos, it's super clear and well detailed ! keep going
You're welcome! ☀️💛
Exactly what I wanted, well paced video, well described, and nice and enthusiastic. Thank you for a great tutorial.
You're welcome! ☀️🙏🏻💛
hahahaha that "useeee" at 14:16 was soo smooth hahaha, beautiful voice ma'am. Btw amazing video, really informative. I'm binging the whole playlist on Sunday, really exciting it has been, learning soo much new about figma. keep going ma'am I'm grateful for this content!
haha Im always in sing song mode 🤗☀️
18:24 That was the funniest moment of truth I've seen in a while :D
Thanks for the fantastic tutorial Tair
haha thanks! ☀️🙏🏻💛
Love your work, thank you so much for releasing these series
Thanks! You’re welcome ☀️💛
I love this series
I'm glad it helped! ☀️🙏🏻
Your level of focus is inspiring
Thanks! ☀️🙏🏻
Simply amazing - so skilled
Thanks! ☀️🙏🏻💛
This is an amazing video. I love this. Why not put this together as a whole UX design course. This is amazing. 🎉❤
Thank you! ☀️🙏🏻💛
This is cool! I've been looking for some tutorials on how to use Figma design tokens (cause then I can theoretically just export those directly to CSS / Tailwind). Can you do fonts with variable tokens too? Rather than making like 100 font styles (cause I have font styles for regular text, code, icons all at 2-3 weights, and at like 10 sizes)
Fonts are not yet manageable by variables but Figma say they are in the works! ☀️🙏🏻
blown away with the way u used renaking panel to make components
Its such a great trick right?? ☀️🤗
@@TDSunshine does that mean all the layers are named when u used bulk renaming right , there is no need to rename them as we design right ?
@@smilli6415 yes which ever layers you selected will be renamed :)
This is incredible, you just earned a new subscriber
Thanks! ☀️🙏🏻💛
I love all your videos, really great work! I am trying to learn variables as well, and considering these are still in Beta, I am really in owe of your knowledge and ease of working with them :) well done!
Thank you ! ☀️🙏🏼 variables are so fun I can’t stop playing with them 🤪
@@TDSunshine Same! and your videos are super helpful! I am gathering some feedback for Figma team as there are some bits that could be very helpful in official release ;)
This is so amazing, and the makes my work easy. Thank you so much 🙏🏾🌹
You're welcome! ☀️🙏🏻💛
You are so fun to watch! Keep it up!
haha thanks! ☀️🙏🏻
If to add button inner gap as a paddings of label wrap itself, then you'll not needed separate instance for Icon only button.
Example:
- label has itself wrapper with 8px horizontal paddings
- icon and label wrapper will have 0px gap (because 8px was already added)
- button as a parent container will have the same vertical & horizontal paddings for ex also 8px
Then no matter, was icon only selected or label only - you'll have right paddings:
for text button - bigger (8+default8=16hor & 8vertical),
for Icon only - smaller, default only 8 hor x 8 vert.
Also you could play with hidden paddings trick in left or right icon wrappers, or provide Icon Only with a separate Third icon as a property.
It's more about performance for huge highly-loaded libraries.
Figma doesn't like duplicating instances, but loves properties)
Great tips thanks! 🙏🏼☀️
Brilliant...again. I'm wondering if it would be possible to change the color of the icons using the variables?
Yes of course! You can connect the icon fill colour to a variable colour and then use modes to change that ☀️🙏🏻💛
Thank you for this tutorial! but i wanna ask after making this button components and adding it to the design for the prototype, why aren’t there any actions like hover or selected? do i need to prototype it again? if so, is there a tutorial for it?
Yes! I put all the prototyping into a different video because it was too long ☀️🙏🏻 - th-cam.com/video/to8ZXM1HFJU/w-d-xo.html
You are just an amazing teacher!
aww thanks! 🙏🏻☀️💛
Great video!!! (and nice hair 😁)
Thanks! 💁🏽♀️ ☀️
Thanks for your videos, they are great! I have a doubt, at minute 19:58 when applying the text property, I lost the original color of the label in each type of button. Most of the texts took the value of the primitive variable “White”. Do you know if there is a way to create the text property without this happening? In advance, thank you very much!
oo thats strange! This feels like a bit of a bug tbh not sure why it happened... ☀️🙏🏻
Hi, Tair. I'm trying to build a component library. I have a question, what if I have different sizes of icons with DIFFERENT STROKE WEIGHTS, Should I define one more variable for stroke. Because I have a icons collection with different sizes and if follow the advice i the video it manages the icon size but not the stroke weight. What should I do?
That’s a great idea! I filmed this video before you couldn’t use variables for stroke but Figma keep making amazing updates! It could be a great idea to use them that way ☀️🤗
Could you tell me what's a different between h-padding and v-padding. Thank you🙏
Of course! H padding is horizontal padding so the padding the goes on the right and left of the elements inside the auto layout and the auto layout. And v padding is the vertical padding, so the padding that goes above and below. I hope that helps! 🙏🏼☀️
Thank you for making tutorial videos. Your videos have been a great resource in learning how to use the variable/token system. I have one question about using semantic colors. In the case where one might want to have a light dark mode, do you have to abandon the semantic color tokens? So instead of having 4 different modes, you would have two modes (light vs dark). In that case, I guess it would make the most sense to then have semantic colors as variables (surface_primary, surface_error, etc)? Hopefully, I am making sense. Thank you again! You are awesome!
Thanks! its a matter of approach and need. If you are more in need of dark and light then maybe setting them up as modes is more useful or maybe semantics are more useful modes. You can always use variables on components for the colour change alone by just changing the variable and not the variables mode. I hope that makes sense ☀️🤗
Thank you@@TDSunshine !
OUAW!!! Thanks you! I love you knowledge, it's fun to learn with you! 🔥🔥🔥
aww thanks! ☀️💛🙏🏻
Thank you so much for making these great videos! I'm learning a lot from them. When I made my buttons, I realized that the icon I used was only a vector, so I could not select all instances to create the instance swap. Do you know of a solution to this problem?
You’re welcome! You can only use instance swap on other components so once you make your icons into components it should work 🤞🏼☀️
@@TDSunshine I'll try that. Thanks for the tip!
You can click the styles button to add a border (or anything) in the right colour, you don’t need to click the + first :)
Great tip! ☀️🙏🏻💛
Amazing and clean explanation
Glad you liked it! ☀️🤗🙏
I've learned so much from this series, thank you!!
I do have a question about maintaining aspect ratio for icons that don't have the same width and height. When using a variable (icon-size) for the width of my icons, the height does not adjust automatically to keep the icon's aspect ratio and the icon becomes warped. How would you go about using variables in this scenario?
Great question! aspect ratio is always a bit of a tricky one when resizing or fitting things into a new space. I think you can try different combinations of constraints or fixed/fill/hug and see if any of them make the swapping work better and keep the icons from distorting. Another good trick is to wrap all your icons in a square frame and set your icon inside to scale scale. that can just make swapping a bit easier. I hope that helps! ☀️🙏🏻
Thank you so much for your answer@@TDSunshine ! I like your frame trick, I'll stick with that.
the best sunshi 👍
Thank you! ☀️🙏🏻💛
Thank you sooo much for this videos, they are great! But I have a question: My icons are all in 1 color, so when I change the Icon on my buttons it doesn't come with the color assigned to the previous one. Is there any way I can create a controller for color like that on the button or do I have to create an instance for all my icons with multiple colors?
You're welcome! 💛 That's a great question I hate when that happens! the solution I found to this is pretty silly but it works 🙃 you just need to make sure that the icons all have the same name. and by that I mean the vector itself has the same name across all the icons. They can still be components or component sets with different names but the icon itself should all have the same name. I hope that helps ☀️🙏🏻
I have a case about a set width for a button. mostly I use the width is hug content. but in some cases, I want to fill a container. Ex: form sign-up, the width button is 100% (that means the width is fill container). Can we create a token with width as auto?
hmm... I think this isn't possible right now :/ maybe check on Figma's forum though some people might have found ways around this! ☀️
@@TDSunshine I think so, For now, Manual setting up.
Thank u for sharing, appreciate it very much. 🙏🏼
My pleasure!☀️🤗
Hi, Can you tell me how can you add the icon before the text 22:27?
22:27 is the end of the video so not sure what bit you are asking about, but my buttons are in an auto layout which makes it easy to put an icon before or after the text ☀️🙏🏻
@@TDSunshine thanks, done
Thank you so very much , that helped a lot. I had to listen to it with a 0.75 playback speed to follow you along 🤣
hahah You're welcome! ☀️🙏🏻💛
I still enjoy watching your videos, though I set the playback speed on 0.5 and it's also very funny :D
😂😂 sorry I know I speak a bit too fast sometimes 🙈🙈 glad you’re still with me though 🙏🏼☀️
YOU ARE THE BEST!! TY
Aww thanks! ☀️🙏🏼💛
Thank you for your explanation
Do you have a video for how to make buttons in different states like error success?
You're welcome! I go into the colour system I use that includes error stats in this video - *Colour System* - th-cam.com/video/qPL3ubdlkRM/w-d-xo.html ☀️🙏🏻💛
amazing tutorial!😍
Thank you! 😊☀️
Great series of videos! Learning loads from them atm. I did have a quick question about the radius group in the sizing tokens though. What is the reasoning for this and would it not just be easier to have a collection called 'Component Tokens' and have a Radius group in there, seeing as generally radius will just be set on components? Many thanks :)
Thanks! My answer is as always - it depends 🙃 I think for me I found that radius is used a lot on components but I also use it on single elements sometimes when designing so it's a good one to have defined kind of separate to any component. If there is something you feel might be used across all your designs like page margins, graphic element sizing, spacings, or paddings it's great to have a collection for those. ☀️
@@TDSunshine thanks for your reply! Makes total sense. I’m just starting out a brand new design system for a large rewrite and trying to think of as much as possible up front before getting started….nightmare 😂
good luck! planning ahead is a great idea but remember design systems are ever evolving and Figma is also ever-evolving! haha so if in a few weeks, you find out you actually want to do something in a different way just remember that that's part of the fun! #breathdeepandchangeitagain 🤪 @@kieronsykes
you are amazing! keep it up!
Thank you! Will do! ☀️🙏🏻💛
Thank you sister !! you have been a great help ! btw could you please tell me the usage of pill , sorry i didn understand that part
You’re welcome! sometimes you might need two types of buttons in your system but sometimes one is enough 🙃 I guess I wanted to show a version with both as an example. I think pill buttons are great to use as part of tables for example or in cards . But there is no one right way of when to use them. ☀️🙏🏼
ahhh following along so well but when it came to the time when to duplicate them set to small medium and large they grew but started to over lap. maybe i missed a step, are each group in an auto format themselves??
Yes that can happen! while selecting all of them use alignment tools to Tidy Up and then you can adjust the spacing between them in the design panel! ☀️🙏🏻
great practical video!
Glad it was helpful! ☀️💛🙏🏼
Hi! Thanks for the video. Am I missing why at the beginning of the "Variable it" part you are adding a token just for this button? Does this mean that each component that I am going to add to the design system will have its own set of variables values? Thanks in advance
Hey! This is one approach yes! If you use aliases you can have the primitive values stored once in a collection then you alias and reuse them for each component. That makes it easier when you create that component to just assign the variables. But like I always say, no one way fits all! It's all about what works for you and your design system ☀️🙏🏻💛
Your content has been incredibly helpful to me as I work on creating a new design system with variables. I have a question: I’m following your video step by step, but at the end, when I change the icon of a button that I copied from my button component set within a frame, the color and size of the new icon don't match what I defined in my button component set. Why?!
Make sure to name all your vector icons the same name, that way they will stay the same colour! I hope that helps ☀️🙏🏻💛
@@TDSunshine 🥰🥰Thanks alot
Great video. Your videos are really well explained if a bit fast! I find keeping up difficult - must be my age! One comment I have is your icons are centred with padding so when you add left and right icons the padding left and right is inconsistent over the whole button, and it looks off to me. How do you get around that? I realise we need icons to be consistent sizes which is why they are within a regular square and some icons are irregular shapes. But I find it really jarring for there to be more visible padding on the outer side where the icon appears. Any thoughts?
I'm a fast speaker I know sorry 🙈 The icon issue is a very common one! I do prefer having them in frames sometimes to make sure that they are all the same size regardless of the shape of the icon itself but I see your pint completely about it creating different paddings sometimes 🙃 at the end of the day I think its all up to your preference as a designer. If the designs end up going to someone else its really important to have good documentation to show this point because like you said, it can be jarring to have padding there but not know where it came from. Hope that helps! ☀️🤗
Thanks@@TDSunshine - I have another query about the icons, sorry if I am asking dumb questions! I have set up the buttons using the variable including sizing for the icons - small, med and large. But when I switch modes the icons size is not changing. What have I done wrong! I haven't named or made them into components yet as I need to fix the icon sizing. Do I need to put the icon into an autolayout and make it hug? I don't need the icon in the button to change just resize for small, medium and large. Thanks so much.
I actually worked it out, but even so, when I change the variable for small, med and large, I have to change both dimensions, horizontal and vertical - it doesn't scale even though my icons are set to scale - must have done something wrong!
so! this is where old-school constraints come in! the icon is in a frame so you need to set up how the vector reacts when its parent changes size. I have a video where I go through constraints if you want to check it out -> *Figma Frames & Constraints* - th-cam.com/video/GeXF7r0Xfn4/w-d-xo.html @@karenbeal2387
@@TDSunshine - thanks - I worked out what I had done wrong in the end, thanks for the link!
Button size? It can not be same as icon size tokens did I miss video about button sizing tokens or?
Hey! I go through the sizes at 7:44 ☀️🙏🏻💛
Really helpful! great job buddy
thanks! ☀️🙏🏻
Great video thank you! I am running into an issue with my icon swapping. When I set my button to disabled state with an icon and then swap the icon to something else the icon does not keep the same color it changes to the original color of my icon not the one I set on the button. Do you have a fix for this?
Great question! the icon vector levels need to all have the same name for them to stay the same colour. So it's ok that they are in frames with different names but the "lowest level" need to all be named the same. I hope that helps ☀️💛🙏🏻
wow... just wow. I really love the way you rename all of them. I used to cmd c cmd v at the left layers and its killing me LOL. Also with the component token, does that means theres no need for us to create variant of small medium large icon anymore? 🤩
Yes! tokens for different sizes are a real game changer ☀️🙏🏻💛
Hi, first of all I would like to tell you that I love your videos and they are very useful and for that THANK YOU! but I think I have a problem with the V-padding of all the "label" buttons: despite following all the steps the button is smaller. Can you please tell me what the problem might be?
Thanks! I'm glad you like them! ☀️🙏🏻 Check that your button is set to "hug" in the width? it might not be hugging and therefore ignoring the size of the label + the padding. I hope that helps!
Is the quick selection menu (CMD + /) a plugin or something? I get a different menu when I type that hotkey.
Figma's UI has changed since I filmed this video so the quick actions menu now comes up from the bottom toolbar. ☀️🙏🏻
How to add Boolean using naming convention, if you can please suggest
You can't create component properties through naming sadly only variants :/ BUT if you have a variant property which is a true/false one than you can use naming this way - "name of property = True" (or false) and then in the instance you will have a toggle to control this variant. Hope that makes sense 🙏🏻 I go through this in this video at 17:13 ☀️
@@TDSunshine yeah actually I was able to find solution to that..but thanks!
Crazy good!
Appreciate it! ☀️🙏🏻💛
What about buttons that have an icon on both sides? Does it make sense to use Boolean in that case? But then there remains the case for displaying only one icon (Alone). Well done! Keep going!
Hmm double icon buttons are always a bit tricky :/ you could use Boolean component properties on both, label them left and right and then you can toggle the visibility so you can see just the left just the right , both or none. Sometimes variants are more appropriate and sometimes component properties 🙃 hope that helps! ☀️💛
So useful, thank you for the video
You are welcome! 🙏☀️
Can we find somewhere the "Button Specs" for every basic component? Just as a remember guide. Great videos :)
You can find the spec tables in the figma files linked in the description ☀️🙏🏻💛
Thank you so much, This video was extremely helpful
Thanks! 🙏🏻☀️💛
I couldn't find the video you mentioned where you created your icons for this project. Would you mind sharing the link?
here you go -> *Passive income - Icon set* - th-cam.com/video/8V3LMRq5cEs/w-d-xo.html
☀️
@@TDSunshine Thanks!
@TDSunshine Thanks a lot for such great tutorial. It Helped me a lot. Just a small problem where I stuck, when I change button from small to medium and large, the button without icon is smaller than buttons with icon. Can you suggest how to fix?
You're welcome! You can trey fixing the size of the button so it stays the same size with or without the button! I hope that helps 🙏🏻☀️💛
@@TDSunshine Thank you for suggestion, I already fixed by increasing line height 😎. I really loved the way you explain. It is really motivating and helpful for me. Keep posting your amazing works..
you are amazing ❣
Thanks! ☀️🙏🏻💛
at 2:30 you talk about a video where you dive into icons, can't seem to find it? :D
Here you go - Creating an Icon Set - Passive Income for Designers [Figma & ChatGPT]
th-cam.com/video/8V3LMRq5cEs/w-d-xo.html
🙏🏼☀️
@@TDSunshine Thank you!
Great Videos, the only issue I have is, When I swap the Icons it goes back to the button orginal color which is Icon/Default but my button Icon is set to Neutral/Test/Negative. Please advice. I am sure you have a solution for this and I know I am not doing it correct.
Thanks! yes this is a weird one! you need all your icon vectors to have the same name and then it should keep the colour. I hope that helps! ☀️
If I have 3 colors: primary, secondary, and accent, how can organize all these colors in button component? Or should I create another new component for each of the secondary, accent colors?
there are a few approaches you can take. You could make 3 variants of the button, each with a different color, and then give them a "state" property with values for primary, secondary, and accent. Or you could keep just one button colour and then when you use an instance of it you can just change the background colour as you please. I think the first option is better for documentation and you can add a description for each variant on when to use it.
I hope that helps! ☀️
@@TDSunshine Thank you so much💞
Nice tips 😁👍
Thanks 😁☀️
Have followed along with all your videos but when I choose the appropriate Primitive Number Scale for the Spacing it doesn't show the actual value like in your video here, just the token name like 2XS and so forth which isn't that practical. Any idea?
Yes I agree with you actually! In my first video where I set up the number scale primitives I used XS, S, M etc. But then, just like you, I realised it wasn't practical so I changed the primitive variable names to reflect their actual value. ☀️🙃 I'm also still trying to learn what's the most easy way to use variables and like I always say with Figma there is never just one way to do something! its al about what suits your preferences and needs best 🙏🏻🤗
You are the best!!! Thank you very much!
aww thank you so much! ☀️🙏🏻
Your channel is such a gem! ✨ Thank you, thank you so much for being generous with your knowledge! 💖🫶
awww thanks! 🙏🏻☀️💛
Thank you, great video🫶🏻🤍🤍
Glad you liked it!☀️🙏🏼
That’s amazing. I just have a question, if the line-height of text using 120%. Maybe the height of text larger/smaller with icon. the issue is the heigh of button will be different between icon only with text only. we will fix with fix line-height of text , right?
So I would recommend either fixing the height of the button so that the elements inside don’t change its height OR you can change the line height of your text. I hope that helps! 🙏🏼☀️
Thanks for this tutorials! I'm really looking forward to Design System Part 6, 7, 8. Are they coming?
Hey! you can find them all here ☀️ - th-cam.com/play/PLx-zZQ15gdAqcVCE_EQvm820iWfgoKarq.html
Hello again, I have a question. In the last part, if I want to use icons of different sizes, how can I do it? So if I want to use a smaller icon on the smallest button
Great question! you have a few options for this. You can either just change the size of the icon instance in the different button variants OR you can create different variants of the original icon in different sizes and then select the right variant when you use an instance of it in the different buttons. I hope that makes sense. ☀️🙏🏻💛
Hey if you are able to please help with this: I got an error message about my small icon buttons after creating a component set; It reads like this : Some layers have invalid names. Prop=Value, Prop=Value...Do you have any idea to fix this? Thank you
Make sure you have commas separating each prop = value, and also make sure that you don’t have a comma at the end. I hope that helps 🤞🏼🤗☀️
Alright, thank you!🙏@hine
Thank youuu, i will adapt to your workflow 😊
You're welcome 😊☀️
Thanks you so much, FOLLLOWING your tutorials, thanks
You’re very welcome! ☀️🙏🏼🤗
I can't seem to find how to create the icon instance swap in UI3. Do you know? Thanks!
In UI3 when you select an instance all the controls will be at the very top of the design panel ☀️🙏🏻💛
@@TDSunshine Thanks so much!
You should extend this series. Please.. Please (like components for dropdowns, accordions, tags etc.)
Working on it ! ☀️🙏🏻💛
Thoughts on using Typography variables with different sizes buttons?
Yeah, you could do that ! Typography variables weren't out yet when I filmed this but now I would use them for sure! ☀️🙏🏻💛
you are like supet jet fast..........hard to caught you 😀very good tutorial👌👌
Haha sorry! 🏎️🏎️ hope you were still able to follow along! 🙈☀️
@@TDSunshine need to change my video speed to slow and have to watch to caught your speed.... you are very exited to teach us 😀
What was the plugin that you used for the naming tool? You said 'battery'? I tried command R but nothing. Any tips?
It’s the batch renaming tool in Figma 🤩 if you select a few elements at the same time and hit CMD+R you will get it ☀️
Sorry I know a bit fast sometimes 🙈
Oh amazing! that worked. thanks so much. love your whole channel. just discovered it. keep on doing what your doing :)@@TDSunshine
@@alimo-studios thanks! 🥹🙏🏼❤️