
کامپوننتها یکی از مهمترین پایههای طراحی حرفهای در Figma هستند. وقتی یک دکمه، کارت، فیلد فرم یا هر المان تکرارشونده را به Component تبدیل میکنید، بهجای ساخت چندین کپی مستقل، یک منبع اصلی دارید که میتواند دهها یا صدها Instance را در فایلها و حتی Library تیم کنترل کند.
این مقاله بر اساس آموزش ضبطشده قسمت ۱۳ تدوین شده است. نسخه اولیه مقاله ساخت Component، Component Set و چهار Property شامل Variant، Boolean، Instance Swap و Text را توضیح میداد. برای بهروزماندن متن، مفهوم Slot هم بهعنوان تکمیل نوشتاری جدید اضافه شده است؛ اطلاعات اضافهشده را نباید خودکار جزو توضیحات ویدیوی اصلی فرض کرد.
در این آموزش چه چیزهایی یاد میگیرید؟
- Component و Instance در Figma دقیقا چه هستند و چه تفاوتی دارند
- چطور یک المان را به Component تبدیل کنیم
- تغییرات Main Component چطور روی Instanceها اعمال میشود
- Detach Instance چه زمانی مفید است و چه زمانی نباید از آن استفاده کنیم
- Component Set چیست و چه ارتباطی با Variants دارد
- چطور یک کامپوننت دکمه منعطف و قابلاستفاده مجدد بسازیم
- پنج نوع Component Property و کاربرد درست هرکدام
- چطور از زیادشدن بیدلیل Variants جلوگیری کنیم
ویدیوی کامل آموزش کامپوننت در Figma
اگر فیلترشکن شما خاموش است، ویدیو را همینجا از آپارات تماشا کنید. برای تماشای نسخه یوتیوب با بالاترین کیفیت، از دکمههای زیر استفاده کنید.
کامپوننت در فیگما چیست و چرا مهم است؟
Component یک المان قابلاستفاده مجدد است که ساختار و ویژگیهای پایه یک بخش از رابط کاربری را تعریف میکند. مثلا میتوانید دکمه اصلی محصول، کارت مقاله، آیتم منو، آواتار یا فیلد ورودی را یک بار طراحی کنید و بعد از نسخههای متصل آن در سراسر پروژه استفاده کنید.
مزیت اصلی فقط «سریعتر کپی کردن» نیست. کامپوننتها سه مشکل مهم را حل میکنند:
- یکپارچگی: ظاهر و رفتار اجزای تکراری در صفحات مختلف از یک منبع کنترل میشود.
- نگهداری سادهتر: تغییرات ساختاری در Main Component میتواند به Instanceهای متصل منتقل شود.
- همکاری تیمی: در Library میتوان کامپوننتهای استاندارد را بین فایلها و اعضای تیم به اشتراک گذاشت.
- مقیاسپذیری: بهجای انبوهی از کپیهای مستقل، یک سیستم قابلکنترل میسازید.
تفاوت Main Component و Instance چیست؟
Main Component منبع اصلی است. Instance نسخهای از همان کامپوننت است که در طراحی واقعی استفاده میکنید. اگر ساختار یا ویژگیهای اصلی Main Component را تغییر دهید، Instanceها میتوانند آن تغییر را دریافت کنند؛ در عین حال بعضی ویژگیهای هر Instance مثل متن، انتخاب Variant یا Propertyهای تعریفشده قابل شخصیسازی است.
این تفاوت همان چیزی است که کامپوننت را از یک Copy/Paste ساده جدا میکند. کپی معمولی بعد از Duplicate شدن ارتباطی با نسخه اصلی ندارد، اما Instance همچنان بخشی از سیستم کامپوننت است.
چطور در Figma یک Component بسازیم؟
برای ساخت کامپوننت، ابتدا المانی را که میخواهید چندبار استفاده شود طراحی کنید؛ مثلا یک دکمه با متن، آیکون و Auto Layout. سپس:
- لایه یا Frame موردنظر را انتخاب کنید.
- از پنل Properties گزینه Create component را بزنید.
- در ویندوز میتوانید از Ctrl + Alt + K و در macOS از Option + Command + K استفاده کنید.
- برای کامپوننت یک نام واضح و قابلجستوجو انتخاب کنید.
- از Assets یک Instance وارد Canvas کنید و رفتار آن را تست کنید.
از همین مرحله بهتر است ساختار لایهها، Auto Layout و نامگذاری را مرتب نگه دارید؛ چون هر پیچیدگی غیرضروری در Main Component در تمام Instanceهای بعدی تکرار میشود.
چه تغییراتی در Instance قابل انجام است؟
Instance قرار نیست کاملا قفل باشد. میتوانید برای استفاده واقعی آن را تنظیم کنید؛ مثلا متن دکمه را عوض کنید، Propertyهای مجاز را تغییر دهید یا یک nested instance را با گزینه دیگری جابهجا کنید. Figma این تغییرات را بهعنوان override نگه میدارد و در بسیاری از تغییرات Main Component حفظ میکند.
بهترین کار این است که بهجای مجبور کردن طراح به بازکردن لایههای داخلی، کنترلهای مهم را از طریق Component Properties در پنل Properties در دسترس قرار دهید. این کار استفاده از Design System را سریعتر و کمخطاتر میکند.
Detach Instance چیست و چه زمانی استفاده کنیم؟
اگر بخواهید یک Instance را کاملا از Main Component جدا کنید، میتوانید روی آن راستکلیک و Detach instance را انتخاب کنید. بعد از Detach، آن المان دیگر تغییرات Main Component را دریافت نمیکند و مثل یک مجموعه لایه مستقل رفتار میکند.
Detach برای استثناهای واقعی مفید است، اما نباید راهحل پیشفرض باشد. اگر مرتب برای تغییر آیکون، متن یا نمایش یک بخش مجبور به Detach میشوید، احتمالا کامپوننت به Component Property یا Variant مناسب نیاز دارد.
Component Set چیست؟
وقتی چند نسخه مرتبط از یک کامپوننت دارید، مثلا دکمه در حالتهای Default، Hover، Pressed و Disabled، میتوانید آنها را داخل یک Component Set سازماندهی کنید. هر نسخه داخل این مجموعه یک Variant است و تفاوتها با Variant Property و Valueهایی مثل State، Size یا Type تعریف میشوند.
جزئیات ساخت و مدیریت این مجموعه را در آموزش Variants در Figma کاملتر بررسی کردهایم.
Component Properties در Figma؛ ۵ نوع Property مهم
Component Properties مشخص میکنند کدام بخشهای یک کامپوننت قرار است توسط کاربر آن کامپوننت تغییر کند. در نسخه فعلی Figma پنج نوع اصلی وجود دارد: Boolean، Instance Swap، Text، Variant و Slot.
1. Boolean Property
برای روشن یا خاموش کردن visibility یک لایه استفاده میشود. مثلا در یک Button میتوانید نمایش آیکون سمت راست را اختیاری کنید، بدون اینکه برای «با آیکون» و «بدون آیکون» دو Variant جدا بسازید.
2. Instance Swap Property
برای تعویض یک Instance تودرتو با گزینه دیگری است؛ مثلا تغییر آیکون Search به Download یا جایگزینی Avatar. میتوانید Preferred instances تعریف کنید تا انتخابهای مرتبط سریعتر در دسترس باشند.
3. Text Property
به کاربر اجازه میدهد متن قابلتغییر را مستقیم از Properties ویرایش کند؛ مثلا Label دکمه، عنوان کارت یا متن Badge. این کار نیاز به انتخاب لایه متن در ساختار داخلی کامپوننت را کم میکند.
4. Variant Property
برای تفاوتهای مشخص و ساختاری بین Variantهای یک Component Set استفاده میشود؛ مثلا State = Default/Hover/Disabled یا Size = Small/Medium/Large. هر Variant باید ترکیب یکتایی از Property و Valueها داشته باشد.
5. Slot Property
بهروزرسانی مقاله: این بخش درباره Slot، توضیح تکمیلی نسخه نوشتاری است و در نسخه اولیه مقاله وجود نداشت.
Slot برای ناحیههایی است که باید محتوای انعطافپذیرتری بپذیرند. کاربر میتواند داخل Slot محتوا اضافه، حذف یا مرتب کند بدون اینکه برای این انعطاف مجبور به Detach کردن Instance شود. این Property برای الگوهایی مثل کارتها، Modalها و لیستهای تکرارشونده کاربردی است.
مثال عملی: ساخت یک Button Component حرفهای
برای اینکه تفاوت Properties روشن شود، فرض کنید یک دکمه برای Design System میسازیم:
- دکمه را با Auto Layout بسازید تا Padding و طول متن بهدرستی مدیریت شود.
- آن را به Main Component تبدیل کنید.
- برای متن دکمه یک Text Property تعریف کنید.
- برای نمایش یا مخفیکردن آیکون یک Boolean Property بسازید.
- خود آیکون را Nested Component کنید و با Instance Swap قابلتعویض کنید.
- برای تفاوتهای واقعی مثل Size یا State از Variants استفاده کنید.
- قبل از انتشار در Library، چند Instance واقعی بسازید و طول متن، وضعیت بدون آیکون و همه Stateها را تست کنید.
این روش معمولا بسیار تمیزتر از ساخت Variant برای هر ترکیب ممکن است. Variants را برای تفاوتهای مشخص مثل Style، Size و State و Component Properties را برای تغییرات محتوایی و انعطاف داخلی استفاده کنید.
اشتباهات رایج در ساخت Components
- Variant Explosion: برای هر تغییر کوچک یک Variant نسازید؛ بعضی تغییرات با Boolean، Text یا Instance Swap بهتر حل میشوند.
- Detach کردن زودهنگام: Detach ارتباط با سیستم را قطع میکند و نگهداری را سختتر میکند.
- نامگذاری مبهم: اسمهایی مثل Component 1 یا Property 2 در Library بزرگ سریع گیجکننده میشوند.
- ساختار بیشازحد تودرتو: Nested Component مفید است، اما پیچیدگی بدون دلیل استفاده و Debug را سخت میکند.
- نداشتن Documentation: برای کامپوننتهای تیمی توضیح کوتاه، لینک مستندات و قواعد استفاده را ثبت کنید.
Components چه نقشی در Design System دارند؟
در پروژه کوچک، کامپوننتها فقط سرعت طراحی را بالا میبرند؛ اما در Design System تبدیل به قرارداد مشترک بین طراحی و توسعه میشوند. نامگذاری، Stateها، Propertyها و Documentation مشخص میکنند هر جزء کجا و چگونه استفاده شود. برای کامپوننتها و Component Setها میتوانید توضیح و لینک مستندات ثبت کنید تا استفاده صحیح از Library سادهتر شود.
جمعبندی و ادامه مسیر
اگر بخواهیم ساده بگوییم: Main Component منبع اصلی است، Instance نسخه قابلاستفاده آن است، Component Properties کنترلهای مجاز را در اختیار طراح میگذارند و Component Set/Variants حالتهای ساختاری مرتبط را سازماندهی میکنند. ترکیب درست این ابزارها باعث میشود فایل Figma سریعتر، منسجمتر و قابلنگهداریتر شود.
- برای مرحله بعد: آموزش Variants و Component Set در Figma
- برای قسمت قبلی مجموعه: آموزش Text و Typography در Figma – قسمت ۱۲
- برای قسمت بعدی مجموعه: آموزش Export در Figma – قسمت ۱۴
- برای کل مسیر: راهنما و آموزشهای Figma در LearnUIX
- برای یادگیری عمیقتر ساخت سیستمهای مقیاسپذیر: دوره Design System









