انتقل إلى المحتوى
TopClass UI

وسم

شريحة تسمية لموضوع، تُعرض على الخادم. تمرير onRemove يضيف زر إزالة، وهو الجزء الوحيد الذي يعمل في المتصفح.

split - الحجم لم يُقَس بعد

وسم

split - الحجم لم يُقَس بعد

شريحة تسمية لموضوع، تُعرض على الخادم. تمرير onRemove يضيف زر إزالة، وهو الجزء الوحيد الذي يعمل في المتصفح.

تثبيت
Design systems

جرّبه

tone
size

الشيفرة

tag.tsx
import { Tag } from 'topclassui/tag'

<Tag>Design systems</Tag>

الوسم العادي يبقى على الخادم، وonRemove هو ما يضيف زر الإزالة، وإخراج الوسم من القائمة مسؤوليتك.

كل الحالات، بدون تمرير الفأرة

حالتان
PlainRemovable

أو استورده من الحزمة

topclassui/tag
import { Tag } from 'topclassui/tag'

ثبّت مرة واحدة:npm i topclassui@beta zod

أمثلة

  • لموضوع أو فئة أو كلمة مفتاحية، وعادةً عدة وسوم في صف يلتف. ولحالة مثل «مدفوع» أو «متأخر» استخدم Badge.
  • لا دور ARIA لـTag، فالنص هو ما يحمل المعنى، واللون وحده لا يحمله أبدًا. القيمة الافتراضية لـtone هي neutral، فيبقى صف الوسوم هادئًا.
  • زر الإزالة يستدعي onRemove فقط. لا يمرّره مكوّن خادم إلا كإجراء خادم، ولحفظ القائمة في الحالة ضعها في مكوّن عميل.
  • يبقى الوسم في سطر واحد: النص العادي ينتهي بعلامة حذف، والعنصر المُمرَّر كتسمية يُقصّ عند الحافة، ويبقى زر الإزالة كاملًا دائمًا. وفي صف لا يلتف أضف className="shrink" ليتقلّص.
  • للوسم المرتبط برابط ضع tagVariants() على الرابط نفسه والتسمية في span خاص بها، ولا تضع رابطًا داخل Tag أبدًا.
topics
Design systemsAccessibilityReactTailwindRight to leftServer Components
tones
PrimaryNeutralSuccessWarningDangerInfo
sizes
Extra smallSmallMediumLargeExtra large
with-icon
VerifiedDraft
removable
  • Design systems
  • Accessibility
  • React
  • Tailwind
  • Right to left
  • Server Components
removable-sizes
Extra smallSmallMediumLargeExtra large
link
long-label
Infrastructure, platform reliability and developer experience working group
Infrastructure, platform reliability and developer experience working group
Infrastructure, platform reliability and developer experience working group
Infrastructure, platform reliability and developer experience working groupInfrastructure, platform reliability and developer experience working group
element-label
Infrastructure, platform reliability and developer experience working group
Infrastructure, platform reliability and developer experience working group
sha256_9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
custom-size
The scaleYour own row
بالعربية، من اليمين إلى اليسار
موثّقتصميمإمكانية الوصولعاجل

الخصائص

خصائص Tag
الخاصيةالنوعالافتراضيالحدودالوصف
childrenReactNode--The label, and any icon beside it. The text carries the meaning; colour never does alone.
sizexs | sm | md | lg | xl | custom"md"-The shared size scale; custom emits no size classes.
toneprimary | neutral | success | warning | danger | info"neutral"-The meaning it signals, which picks the soft tint and its label colour.

لوحة المفاتيح وإمكانية الوصول

لوحة مفاتيح Tag
المفاتيحما يفعله
Tabينقل التركيز إلى زر الإزالة في الوسم القابل للإزالة، والوسم العادي لا يأخذ التركيز.
Enterيستدعي onRemove.
Spaceيستدعي onRemove.
  • يُسمّى زر الإزالة بكلمته ثم بالتسمية، فيُقرأ «إزالة React»، والكلمة تأتي من تسميات المزوّد («Remove» بالإنجليزية).
  • زر الإزالة المحذوف يأخذ التركيز معه: أرسله إلى الزر التالي أو السابق، وإلى عنصر تحكم بعد القائمة عندما تفرغ.
  • زر الإزالة 24 بكسل، و44 تحت مؤشر لمس، مع حلقة تركيز ظاهرة.

من اليمين إلى اليسار

الحشو منطقي، فينتقل زر الإزالة إلى نهاية السطر والأيقونة إلى بدايته بلا شيفرة إضافية.

الخادم والمتصفح

يُعرض على الخادم، والجزء التفاعلي مكوّن متصفح لا يُرسل إلا عند استخدامه.

الملفات: index.tsx, client.tsx.

على الشارة: split - الحجم لم يُقَس بعد.