nili/ui
همه‌ی کامپوننت‌ها

Avatar

نمای کلی
۲۵ اکسپورت۲ محور واریانت۴۲ پراپ۹ فایل
import { Avatar, AvatarGroup, CompactAvatarGroup, FlatAvatar } from '@nili/ui';

این همان صفحه‌ی نمای کلیِ خود کتابخانه است که زنده رندر می‌شود. زبان یا تم را از هدر عوض کنید، همراهش می‌آید.

اندازه‌ها

نُه اندازه، از ۸۰ تا ۱۶ پیکسل. name الزامی است: آواتار بی‌نام یا تصویری بی‌برچسب است یا یک لکهٔ تزئینی، و فقط محل استفاده می‌داند کدام. برای تزئینی‌کردنش رشتهٔ خالی بدهید.

AL
3xl
AL
2xl
AL
xl
AL
lg
AL
md
AL
sm
A
xs
A
2xs
A
3xs
import { Avatar } from "@nili/ui"

export function Example() {
  return (
    <>
      <Avatar size="3xl" name="Ada Lovelace" />
      <Avatar size="xl" name="Ada Lovelace" />
      <Avatar size="md" name="Ada Lovelace" />
      <Avatar size="2xs" name="Ada Lovelace" />
    </>
  )
}

جایگزین‌ها

بدون تصویر، حروف اول از name درمی‌آید. با initials بازنویسی‌شان کنید، با fallback کاملاً جایگزینشان کنید، یا برای شبح از placeholder استفاده کنید — حسابی که نه عکس دارد و نه نامی که ارزش مخفف‌شدن داشته باشد.

AL
م‌ر
🦊
import { Avatar } from "@nili/ui"

export function Example() {
  return (
    <>
      {/* initials from the name */}
      <Avatar name="Ada Lovelace" />

      {/* explicit initials */}
      <Avatar name="محمد رضایی" initials="م‌ر" />

      {/* an image, with initials behind it */}
      <Avatar name="Grace Hopper" src="/avatars/grace.png" />

      {/* the silhouette */}
      <Avatar name="" placeholder />
    </>
  )
}

تن‌ها

فیگما روی Avatar محور رنگ ندارد — تن‌ها یک افزوده‌اند و برای گروه‌ها وجود دارند: پشتهٔ شش دایرهٔ خاکستریِ یکسان خوانا نیست، و رنگ‌زدنشان ارزان‌ترین راه تشخیصشان پیش از بارگذاری تصویرهاست.

S
soft
Y
yellow
B
blue
G
green
P
pink
P
purple
R
red
import { Avatar } from "@nili/ui"

export function Example() {
  return (
    <>
      <Avatar name="Ada Lovelace" tone="soft" />
      <Avatar name="Grace Hopper" tone="blue" />
      <Avatar name="Radia Perlman" tone="pink" />
    </>
  )
}

وضعیت‌ها

یک نشانگر بالا و یکی پایین. به آن statusLabel بدهید — یک نقطهٔ رنگی نام دسترس‌پذیری ندارد. همهٔ اندازه‌ها نمی‌توانند نشانگر بگیرند؛ سر کوچک طیف به‌جای کشیدن یک لکهٔ ناخوانا، نشانگر را حذف می‌کند.

پایین
AL
online
AL
offline
AL
busy
AL
away
AL
company
بالا
AL
verified
AL
pin
AL
favorite
AL
add
AL
remove
AL
notification
import { Avatar, Icon } from "@nili/ui"
import { RiBuilding2Line } from "@remixicon/react"

export function Example() {
  return (
    <>
      <Avatar name="Ada Lovelace" bottomStatus="online" statusLabel="Online" />
      <Avatar name="Ada Lovelace" bottomStatus="busy" statusLabel="Busy" />
      <Avatar name="Ada Lovelace" topStatus="verified" statusLabel="Verified" />
      <Avatar
        name="Apex Financial"
        bottomStatus="company"
        companyIcon={<Icon icon={RiBuilding2Line} />}
        statusLabel="Company account"
      />
    </>
  )
}

گروه آواتار

یک پشته با چیپ «+N». max سقف تعداد رسم‌شده را می‌گذارد؛ overflowCount باقی‌ماندهٔ محاسبه‌شده را بازنویسی می‌کند وقتی فهرستی که در دست دارید فقط یک صفحه از مجموعه‌ای بزرگ‌تر است.

اندازه‌ها
AL
GH
KJ
RP
AL
GH
KJ
RP
AL
GH
KJ
RP
AL
GH
KJ
RP
AL
GH
KJ
RP
سرریز
AL
GH
KJ
+3
AL
GH
+24
import { AvatarGroup } from "@nili/ui"

const team = [
  { id: "a", name: "Ada Lovelace", tone: "blue" },
  { id: "b", name: "Grace Hopper", tone: "purple" },
  { id: "c", name: "Katherine Johnson", tone: "green" },
  { id: "d", name: "Radia Perlman", tone: "pink" },
]

export function Example() {
  return (
    <>
      <AvatarGroup items={team} label="Team members" />
      <AvatarGroup items={team} max={3} label="Team members" />
      <AvatarGroup items={team} max={2} overflowCount={24} label="Team" />
    </>
  )
}

گروه آواتار فشرده

پشته‌ای فشرده‌تر داخل یک قرص — برای ردیف‌های جدول و آیتم‌های فهرست، جایی که فاصله‌گذاری Avatar Group زیادی سخاوتمند است. سه اندازه، دو پرداخت.

default
AL
GH
KJ
A
G
K
A
G
K
stroke
AL
GH
KJ
A
G
K
A
G
K
import { CompactAvatarGroup } from "@nili/ui"

export function Example() {
  return (
    <>
      <CompactAvatarGroup items={team} max={3} label="Assignees" />
      <CompactAvatarGroup items={team} max={3} appearance="stroke" label="Assignees" />
    </>
  )
}

آواتار تخت

آواتار تصویرسازی‌شده، ساخته‌شده از قطعات جایگزین‌پذیر فیگما. اندیس‌ها دور می‌زنند، پس هر عددی انتخابی معتبر و قطعی است — برای ساختن آواتاری پایدار از شناسهٔ کاربر به کار می‌آید.

import { FlatAvatar } from "@nili/ui"

export function Example() {
  return (
    <>
      <FlatAvatar size="2xl" background={4} hair={2} outfit={1} label="" />

      {/* derived from an id — same user, same face, every time */}
      <FlatAvatar
        size="xl"
        background={userId % 8}
        hair={userId % 6}
        eye={userId % 4}
        label=""
      />
    </>
  )
}