nili/ui
كل المكوّنات

ProgressBar

عرض شامل
١٥ تصدير٥ محور تنويع٤١ خاصيّة٤ ملف
import { ProgressBar, ProgressCircle } from '@nili/ui';

هذه صفحة العرض الشامل الخاصة بالمكتبة، معروضة حيّة. غيّر اللغة أو السمة من الأعلى وسَتتبعك.

أساسي

تُحصر value بين ٠ وmax. ويحتاج شريط بلا تسمية ظاهرة إلى aria-label — إذ لا شيء آخر في خلية الجدول يسمّيه.

Storage70‎%‎
الملفات٧ من ١٠ ملفات
import { ProgressBar } from "@nili/ui"

export function Example() {
  return (
    <>
      <ProgressBar value={35} aria-label={t('upload')} />
      <ProgressBar value={70} label={t('storage')} showValue />
      <ProgressBar value={7} max={10} label="Files" valueLabel="7 of 10 files" />
    </>
  )
}

الألوان

أربعة ألوان. اللون إشارة لا زينة — فـwarning وerror يجب أن تعنيا أن الرقم سيّئ، لا مجرّد أنه مرتفع.

primary40‎%‎
success100‎%‎
warning85‎%‎
error95‎%‎
import { ProgressBar } from "@nili/ui"

export function Example() {
  return (
    <>
      <ProgressBar value={40} color="primary" label="Primary" />
      <ProgressBar value={100} color="success" label="Success" />
      <ProgressBar value={85} color="warning" label="Warning" />
      <ProgressBar value={95} color="error" label="Error" />
    </>
  )
}

موضع التسمية والإجراءات

labelPosition هو On Top / On Right في فيجما، وهو منطقي — فـend يتبع اتجاه القراءة. وlinkButton هو الإجراء تحت الشريط.

أعلى
التخزين60‎%‎
النهاية
التخزين60‎%‎
مع إجراء
التخزين92‎%‎
ترقية الخطة
import { ProgressBar, LinkButton } from "@nili/ui"

export function Example() {
  return (
    <>
      <ProgressBar value={60} label="Storage" labelPosition="top" showValue />
      <ProgressBar value={60} label="Storage" labelPosition="end" showValue />

      <ProgressBar
        value={92}
        color="warning"
        label="Storage"
        showValue
        linkButton={<LinkButton href="#" size="sm">Upgrade plan</LinkButton>}
      />
    </>
  )
}

غير محدّد

لعمل مجهول المدة. ويُسقط aria-valuenow، فتعلن التقنيات المساعدة «مشغول» بدل اختلاق نسبة مئوية.

Syncing…
import { ProgressBar, ProgressCircle } from "@nili/ui"

export function Example() {
  return (
    <>
      <ProgressBar indeterminate label={t('indet.syncing')} />
      <ProgressCircle indeterminate aria-label={t('indet.loading')} />
    </>
  )
}

دائرة التقدّم

واجهة البرمجة نفسها في حلقة. ستة أحجام، وthickness بالبكسل حين لا يناسب السمك الافتراضي السياق.

الأحجام
65‎%‎
80
65‎%‎
72
65‎%‎
64
65‎%‎
56
65‎%‎
48
65‎%‎
40
الألوان
40‎%‎
100‎%‎
85‎%‎
95‎%‎
السمك والمركز المخصّص
65‎%‎
65‎%‎
13/20
import { ProgressCircle } from "@nili/ui"

export function Example() {
  return (
    <>
      <ProgressCircle value={65} showValue aria-label="Complete" />
      <ProgressCircle value={65} size={80} showValue aria-label="Complete" />
      <ProgressCircle value={65} thickness={2} showValue aria-label="Complete" />

      {/* anything in the middle */}
      <ProgressCircle value={65} aria-label="Complete">
        <span className="text-[12px]">65/100</span>
      </ProgressCircle>
    </>
  )
}