Mercato

المكونات

بطاقة الطلبية

بطاقة توجز طلبية واحدة: الإجمالي، وحالتها، ورقمها، والعميل، والوقت والمندوب، وعدد المواد. شكلها حبّة، مبنية بالكامل من رموز الأساس.

جاهز، مؤكّد من فيغماعرضاتجاه منطقي
النضج
جاهز
الإصدار
1.0
المالك
فريق نظام التصميم
المنصّة
Mercato B2B

نظرة عامة

بطاقة الطلبية هي وحدة العرض في قوائم الطلبات: تقرأ الإجمالي والحالة والرقم في سطر، والعميل والوقت والمندوب في الثاني، وعدد المواد في الأسفل. الحالة تحمل لونا ونصا معا.

جرّبه
IRD 7,890,300قيد المعالجة#22112457
ليلى عبد الرحمن9:05 PMخالد الغامدي
5 مواد
الإجمالي
الحالة
الرقم
العميل
المندوب
المواد

الحالات

الحالة تظهر بمكوّن الشارة نفسه من النظام: محايدة للمعالَجة، وملوّنة حين تحمل الحالة معنى.

IRD 7,890,300قيد المعالجة#22112457
ليلى عبد الرحمن حسين6:50 PMخالد الغامدي
5 مواد
IRD 1,045,670تم التسليم#22112458
سارة جمال الدوسري6:50 PMنور أحمد الزهراني
1 مادة
IRD 452,000تحتاج متابعة#22112460
محمد عبدالله6:50 PMريم سالم
3 مواد
IRD 220,900تعالجت#22112461
هالة يوسف6:50 PMطارق حسن
2 مادة

التركيب

كل خاصية من طبقة أساس: الشكل حبّة (الاستدارة)، والتعبئة (الألوان)، والحشو والفجوة (المسافات)، والإجمالي والرقم والحالة (الطباعة والألوان)، والبيانات الفرعية (الألوان الخافتة).

الجزءالطبقة والرمز
الشكلRadius · shape.rounded (stadium)
التعبئةColor · bg.base.section
الإجمالي والرقمTypography · body/label + Color · fg.base.primary
شارة الحالةComponent · Badge (soft, tone by status)
العميل والوقتColor · fg.base.tertiary
الحشو والفجوةSpacing · inset + stack

السلوك

بطاقة الطلبية قابلة للنقر لفتح تفاصيل الطلبية، وقابلة للتركيز بلوحة المفاتيح وتُفعّل بمفتاحي Enter وSpace. عند التحويم أو الضغط ترتفع تغذية بصرية خفيفة عبر رموز الحركة، ويظهر مخطط تركيز واضح حول البطاقة عند التنقّل بلوحة المفاتيح. البطاقة كلها هي هدف النقر، وشارة الحالة داخلها قراءةٌ فقط لا زر مستقل.

افعل ولا تفعل

افعل
  • أظهر الحالة بشارة تحمل لونا ونصا معا.
  • اقطع الأسماء الطويلة بثلاث نقاط للحفاظ على السطر.
لا تفعل
  • لا تعتمد على لون الحالة وحده دون نص.
  • لا تحشُر أكثر من سطرين من البيانات الفرعية.

إمكانية الوصول

  • الحالة تحمل نصا دائما، لا لونا وحده.
  • الإجمالي ورقم الطلبية يحقّقان تباين النص على تعبئة البطاقة.

الشيفرة

بطاقة الطلبية تُستورد من حزمة المكوّنات، وتُنسّق بالكامل من الرموز الدلالية. الاستخدام في React أولا، ثم الجزء الجوهري من تنفيذها: الغلاف المبني من الرموز وشارة الحالة التي تعيد استخدام مكوّن الشارة المشترك.

React
import { OrderCard } from "@mercato/components";

<OrderCard
  total="IRD 7,890,300"
  status="processing"
  orderNo="#22112457"
  customer="ليلى عبد الرحمن"
  time="9:05 PM"
  agent="خالد الغامدي"
  items="5 مواد"
/>
Implementation
// The status maps onto the shared Badge: one component, one status
// vocabulary. Never re-implement the pill.
function StatusPill({ status }) {
  const s = STATUS[status]; // { label, tone }
  return <Badge status={s.tone} content={s.label} />;
}

// The card tile: a stadium pill authored from foundation tokens only.
<div
  style={{
    backgroundColor: "var(--color-bg-base-section)",
    borderRadius: "var(--shape-rounded)",
    padding: "var(--spacing-inset-sm)",
  }}
>
  <span style={{ color: "var(--color-fg-base-primary)" }}>{total}</span>
  <StatusPill status={status} />
  <span style={{ color: "var(--color-fg-base-tertiary)" }}>{customer}</span>
</div>

لا تحمل البطاقة قيمة لون أو استدارة أو مسافة مباشرة: تبديل الوضع الداكن أو إعادة العلامة يسري تلقائيا لأن كل شيء يمرّ عبر الرموز.

الخطأما يفسدالصواب
إعادة بناء شارة الحالة يدوياينحرف عن مفردات الحالة وألوانها<Badge status={tone} content={label} />
لون تعبئة ثابت للبطاقةيكسر الوضع الداكن وإعادة العلامةvar(--color-bg-base-section)
border-radius بقيمة بكسل ثابتةينحرف عن سلّم الأشكالvar(--shape-rounded)
الاعتماد على لون الحالة وحدهيفشل بلا لون (عمى الألوان)اقرن اللون بنص الحالة دائما