پرش به محتوا
بناBana UI

حالت نمایش

پالت رنگی

با ↑ ↓ جابه‌جا شوید و Enter را بزنید. Esc برای بستن.

کامپوننت‌های محتوایی

Card

محصول

توضیح کوتاه

اطلاعات محصول در این بخش قرار می‌گیرد.

کارت تعاملی

با Hover بالا می‌آید

مناسب لینک به صفحه دیگر.

کارت تخت

بدون سایه، با پس‌زمینه فرورفته.

کد
<div ui="grid" style="--bana-grid-min:15rem">
  <article ui="card"><header><h3>محصول</h3><p>توضیح کوتاه</p></header><p>اطلاعات محصول در این بخش قرار می‌گیرد.</p><footer><button ui="primary">ذخیره</button><button ui="ghost">لغو</button></footer></article>
  <article ui="card interactive"><header><h4>کارت تعاملی</h4><p>با Hover بالا می‌آید</p></header><p>مناسب لینک به صفحه دیگر.</p></article>
  <article ui="card sunken flat"><header><h4>کارت تخت</h4></header><p>بدون سایه، با پس‌زمینه فرورفته.</p></article>
</div>
Badge و Avatar
پیش‌فرضبرندفعال در انتظاررد شدهاطلاعات عمس ابج
کد
<div ui="cluster">
  <span ui="badge">پیش‌فرض</span><span ui="badge accent">برند</span><span ui="badge success dot">فعال</span>
  <span ui="badge warning dot">در انتظار</span><span ui="badge danger dot">رد شده</span><span ui="badge info">اطلاعات</span>
  <span ui="avatar">عم</span><span ui="avatar large">س</span>
  <span ui="avatar-group"><span ui="avatar small">ا</span><span ui="avatar small">ب</span><span ui="avatar small">ج</span></span>
</div>
Alert (role را متناسب با شدت بگذارید)
اطلاعاتنسخه جدید در دسترس است.
موفقتغییرات ذخیره شد.
هشداراشتراک شما رو به پایان است.
خطااتصال به سرور برقرار نشد.
کد
<div ui="stack tight">
  <div ui="alert info" role="status"><bana-icon name="info"></bana-icon><div><strong>اطلاعات</strong>نسخه جدید در دسترس است.</div></div>
  <div ui="alert success" role="status"><bana-icon name="check"></bana-icon><div><strong>موفق</strong>تغییرات ذخیره شد.</div></div>
  <div ui="alert warning" role="alert"><bana-icon name="warning"></bana-icon><div><strong>هشدار</strong>اشتراک شما رو به پایان است.</div></div>
  <div ui="alert danger" role="alert"><bana-icon name="error"></bana-icon><div><strong>خطا</strong>اتصال به سرور برقرار نشد.</div></div>
</div>
Progress، Spinner، Divider
62% 100%
یا
کد
<div ui="stack">
  <progress ui="progress" value="62" max="100" aria-label="پیشرفت بارگذاری">62%</progress>
  <progress ui="progress success large" value="100" max="100" aria-label="کامل">100%</progress>
  <div ui="cluster"><span ui="spinner small" role="status" aria-label="در حال بارگذاری"></span><span ui="spinner" role="status" aria-label="در حال بارگذاری"></span></div>
  <div ui="divider">یا</div>
</div>
Skeleton (محتوای جعلی نمی‌سازد؛ aria-hidden + aria-busy)
کد
<div aria-busy="true" ui="stack tight">
  <div ui="cluster"><span ui="skeleton circle" aria-hidden="true"></span><div style="flex:1" ui="stack tight"><span ui="skeleton text" aria-hidden="true" style="inline-size:50%"></span><span ui="skeleton text" aria-hidden="true"></span></div></div>
  <span ui="skeleton block" aria-hidden="true"></span>
</div>
Empty State

نتیجه‌ای پیدا نشد

عبارت دیگری را جست‌وجو کنید یا فیلترها را پاک کنید.

کد
<div ui="empty"><bana-icon name="search"></bana-icon><h4>نتیجه‌ای پیدا نشد</h4><p>عبارت دیگری را جست‌وجو کنید یا فیلترها را پاک کنید.</p><button ui="primary">پاک‌کردن فیلترها</button></div>
جدول
کاربران اخیر
نامایمیلوضعیتامتیاز
علی رضاییali@example.comفعال۱٬۲۴۰
مریم احمدیmaryam@example.comدر انتظار۸۹۰
سارا کریمیsara@example.comمسدود۲۱۰
کد
<div ui="table-wrap"><table ui="table hover">
  <caption>کاربران اخیر</caption>
  <thead><tr><th scope="col">نام</th><th scope="col">ایمیل</th><th scope="col">وضعیت</th><th scope="col" ui="end">امتیاز</th></tr></thead>
  <tbody>
    <tr><th scope="row">علی رضایی</th><td class="ltr">ali@example.com</td><td><span ui="badge success dot">فعال</span></td><td ui="end">۱٬۲۴۰</td></tr>
    <tr><th scope="row">مریم احمدی</th><td class="ltr">maryam@example.com</td><td><span ui="badge warning dot">در انتظار</span></td><td ui="end">۸۹۰</td></tr>
    <tr><th scope="row">سارا کریمی</th><td class="ltr">sara@example.com</td><td><span ui="badge danger dot">مسدود</span></td><td ui="end">۲۱۰</td></tr>
  </tbody>
</table></div>
Code Block
const total = items.reduce((a, b) => a + b.price, 0);
کد
<pre ui="code"><code>const total = items.reduce((a, b) =&gt; a + b.price, 0);</code></pre>

ویرایش این صفحه در GitHub