آواتار — Avatar
آواتار هویت یک کاربر را در فهرست، نظر، کارت یا نمایهٔ کاربر نشان میدهد. اگر تصویر نباشد یا بارگذاری نشود، حروف اول نام نمایش داده میشود؛ این حروف با تابع کپی کد ساخته میشوند. کپی کد چند آواتار را با همپوشانی کنار هم میگذارد و بقیه را در «+N» جمع میکند. آواتار غیرتعاملی است و نام شخص همیشه منبع نام دسترسی آن است.
وضعیت: beta · لایه: ۳ (کپی کد) · کد: کپی کد
import { Avatar, AvatarGroup, getInitials } from '@tokapps/tuk';نمونهٔ زنده

کد قابل کپی
پایه: حروف اول و تصویر
import { Avatar } from '@tokapps/tuk';export function UserAvatars() { return ( <> <Avatar name="علی رضایی" /> <Avatar name="سارا" /> <Avatar name="Sara Khan" /> <Avatar name="مریم احمدی" src="/avatars/maryam.jpg" /> </> );}پیشرفته: گروه با سقف نمایش و شکل گوشهگرد
import { Avatar, AvatarGroup } from '@tokapps/tuk';export function TeamGroup() { return ( <AvatarGroup label="اعضای تیم" max={3} size="lg"> <Avatar name="علی رضایی" shape="rounded" /> <Avatar name="سارا محمدی" shape="rounded" /> <Avatar name="Mehdi Karimi" shape="rounded" /> <Avatar name="نیلوفر پارسا" shape="rounded" /> <Avatar name="پویا کریمی" shape="rounded" /> </AvatarGroup> );}تصویر خراب و نام تزئینی
اگر تصویر بارگذاری نشود، آواتار به حروف اول برمیگردد (در این مثال «ما»). در حالت کپی کد صفحهخوان آواتار را نمیخواند، چون نام کنار آن نوشته شده است.
import { Avatar } from '@tokapps/tuk';export function CommentAuthor() { return ( <span style={{ display: 'inline-flex', alignItems: 'center', gap: 'var(--tds-space-2)' }}> <Avatar name="مریم احمدی" src="/broken/404.jpg" size="sm" decorative /> مریم احمدی </span> );}تابع کپی کد
import { getInitials } from '@tokapps/tuk';getInitials('علی رضایی'); // «عر» (با نیمفاصله)getInitials('Sara Khan'); // «SK»getInitials('سارا'); // «س»getInitials('Mehdi Karimi', 1); // «M»همهٔ پیکربندیها
کپی کد
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| کپی کد | کپی کد | — (الزامی) | نام شخص؛ نام دسترسی و منبع حروف اول. |
| کپی کد | کپی کد | — | نشانی تصویر. در خطای بارگذاری یا نبودن آن، حروف اول نمایش داده میشود. |
| کپی کد | کپی کد · کپی کد · کپی کد · کپی کد | کپی کد | اندازه از توکنهای کپی کد؛ اندازهٔ فونت متناسب است. |
| کپی کد | کپی کد · کپی کد | کپی کد | دایره یا گوشهگرد. |
| کپی کد | کپی کد | کپی کد | اگر نام کنار آواتار نوشته شده، آن را برای صفحهخوان پنهان میکند. |
| کپی کد | کپی کد · کپی کد | کپی کد | کپی کد آواتار را در چاپ پنهان میکند. |
| کپی کد | کپی کد | — | کلاس روی ریشه. |
| سایر ویژگیها | کپی کد | — | مثل کپی کد و کپی کد روی ریشه اعمال میشوند. کپی کد اگر داده شود بعد از نام قرار میگیرد و آن را بازنویسی میکند. |
کپی کد
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| کپی کد | کپی کد | — (الزامی) | نام گروه برای صفحهخوان، مثلاً «اعضای تیم». |
| کپی کد | کپی کد | کپی کد | حداکثر تعداد آواتار نمایشدادهشده؛ بقیه در «+N» جمع میشوند. |
| کپی کد | کپی کد · کپی کد · کپی کد · کپی کد | کپی کد | اندازهٔ همهٔ آواتارهای داخل گروه را تعیین میکند. |
| کپی کد | کپی کد | — | آواتارها. |
| کپی کد | کپی کد | — | کلاس روی ریشه. |
| سایر ویژگیها | کپی کد | — | روی ریشهٔ گروه اعمال میشوند. |
کپی کد
| ورودی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| کپی کد | کپی کد | — | نام کامل. |
| کپی کد | کپی کد | کپی کد | اگر کمتر از کپی کد باشد فقط حرف اول کلمهٔ اول برمیگردد. |
خروجی کپی کد است. قواعد: نام فارسی یا عربیحروف → حروف اول کلمهٔ اول و آخر با نیمفاصله (کپی کد)؛ نام لاتین → حروف بزرگ (کپی کد)؛ نام تککلمهای → فقط یک حرف؛ رشتهٔ خالی → خروجی خالی. نیمفاصله فقط وقتی اضافه میشود که حروف خروجی فارسی یا عربی باشند.
ساختار و اسلاتها
Avatar (span) data-tds="avatar" data-size data-shape [data-fallback] [data-overflow] data-print├─ img data-part="image" (وقتی تصویر بارگذاری شده)└─ span data-part="initials" aria-hidden (وقتی حروف اول نمایش داده میشود)AvatarGroup (div) data-tds="avatar-group" data-size role="group"├─ Avatar … (حداکثر max تا)└─ span «+N» data-tds="avatar" data-overflow="true" role="img" data-part="initials" > bdiبخش ثابت: ریشهٔ کپی کد با کپی کد، تصویر یا حروف اول، و ساختار گروه با کپی کد. بخش قابلتغییر: کپی کد، کپی کد، کپی کد و توکنهای کپی کد.
همهٔ حالتها
| حالت | نشانه | نمایش |
|---|---|---|
| تصویر | کپی کد و بدون کپی کد | تصویر با کپی کد. |
| حروف اول | کپی کد | حروف اول روی زمینهٔ کپی کد. |
| خطای تصویر | کپی کد تصویر، سپس کپی کد | بازگشت خودکار به حروف اول. |
| تزئینی | کپی کد (کپی کد، بدون کپی کد) | برای صفحهخوان پنهان است. |
| گروه بیش از سقف | کپی کد روی آواتار «+N» | نمایش تعداد مازاد با کپی کد مثل «۳ نفر دیگر». |
| چاپ پنهان | کپی کد | آواتار در چاپ پنهان. |
آواتار تعاملی نیست و حالتهای hover، focus، فعال یا غیرفعال ندارد. در کد حالت بارگذاری (کپی کد) تعریف نشده است.
تغییرات مجاز برای توسعهدهنده
- اندازه: کپی کد، کپی کد، کپی کد، کپی کد (روی آواتار یا گروه).
- شکل: کپی کد یا کپی کد.
- منبع تصویر: کپی کد؛ در خطا یا نبودن، حروف اول.
- گروه: سقف نمایش با کپی کد؛ برچسب دسترسی با کپی کد.
- چاپ: کپی کد یا کپی کد.
- نقاط توسعه: کپی کد؛ توکنهای سطح کامپوننت کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد؛ ویژگیهای کپی کد روی ریشه.
- متنهای ترجمهپذیر: در کد فقط برچسب شمارندهٔ «+N» («N نفر دیگر») ثابت است و اعداد با کپی کد فارسی میشوند.
- variant: در کد تعریف نشده است.
تغییرات ممنوع (بنیان ثابت)
- ریشه باید کپی کد و کپی کد برابر نام داشته باشد، مگر در حالت کپی کد.
- حروف اول باید کپی کد باشند تا نام دوباره خوانده نشود.
- آواتار تعاملی نمیشود؛ اگر داخل دکمه یا لینک قرار گیرد، همان عنصر والد فوکوس میگیرد.
- همپوشانی گروه با حاشیهٔ منطقی (کپی کد) انجام میشود؛ تبدیل آن به مقدار فیزیکی ممنوع است.
- رنگ زمینهٔ حروف اول تزئینی و ثابت است و هویت فقط با نام یا تصویر منتقل میشود.
RTL، کیبورد و صفحهخوان
- اولین آواتار گروه در RTL سمت راست قرار میگیرد و همپوشانی از راست انجام میشود.
- حروف فارسی با نیمفاصله (ZWNJ) از هم جدا میشوند تا به هم نچسبند.
- کیبورد: آواتار فوکوس نمیگیرد. کپی کد از آن رد میشود.
- صفحهخوان: کپی کد با کپی کد = نام؛ گروه با کپی کد و کپی کد؛ «+N» با متن «N نفر دیگر».
صدا، حرکت، چاپ و کاهش حرکت
- صدا: در کد پراپ کپی کد تعریف نشده و کامپوننت بیصداست.
- حرکت: ندارد (کپی کد). در کاهش حرکت هم تغییری لازم نیست.
- چاپ: پیشفرض کپی کد با حفظ رنگ (کپی کد)؛ کپی کد؛ با کپی کد پنهان میشود.
توکنها
- معنایی: کپی کد، کپی کد، کپی کد، کپی کد، کپی کد.
- کامپوننتی: کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد.
- مقیاس: کپی کد.
- فایل توکن: کپی کد؛ فهرست مصرفی در کپی کد.
قرارداد ARCH
- آیکون در این کامپوننت استفاده نمیشود؛ هویت فقط با نام یا تصویر است.
- تصویر فقط با کپی کد داده میشود و مسیر فایل داخلی در کد مستند نمیشود.
- تم فقط توکنها را تغییر میدهد؛ ساختار و ARIA ثابت است.
- Gesture ندارد.