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

زر

خمسة أنماط عبر ست نبرات، يُعرض على الخادم بلا JavaScript. ومن خلال render يصبح رابطًا حقيقيًا بالشكل نفسه.

server - 0 KB

زر

server - 0 KB

خمسة أنماط عبر ست نبرات، يُعرض على الخادم بلا JavaScript. ومن خلال render يصبح رابطًا حقيقيًا بالشكل نفسه.

تثبيت

جرّبه

variant
tone
size
loading
fullWidth

الشيفرة

button.tsx
import { Button } from 'topclassui/button'

<Button>Save</Button>

loading يمنع النقر ويعلن عن نفسه عبر aria-busy، لكنه يحتفظ بلونه كاملًا فلا يبدو معطّلًا.

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

5 حالات

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

topclassui/button
import { Button } from 'topclassui/button'

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

أمثلة

  • لكل ما يفعله المستخدم في الصفحة: الإرسال، الحفظ، التأكيد، فتح نافذة حوار.
  • للانتقال إلى مكان آخر أبقِ Button ومرّر render={<Link href="/docs" />}: يبقى رابطًا حقيقيًا، فيعمل النقر بالزر الأوسط و«الفتح في علامة تبويب جديدة».
  • loading يحتفظ بلونه كاملًا ويعرض مؤشر انتظار، والزر المعطّل يخفت. كلاهما يمنع الزر، والرابط render={<a href />} الممنوع يفقد href فلا يمكن اتباعه.
  • النص الطويل ينتهي بعلامة حذف ولا يوسّع الصفحة أبدًا، وfullWidth يمدّ الزر بعرض حاويته.
  • size="custom" لا يضيف أصناف حجم، فيحدد className الخاص بك الارتفاع والحشو.
variants
tones
sizes
with-icon
as-link
full-width
long-label
custom-size
skeleton
بالعربية، من اليمين إلى اليسار

الخصائص

خصائص Button
الخاصيةالنوعالافتراضيالحدودالوصف
childrenReactNode--The label, and any icon beside it.
fullWidthbooleanfalse-Stretches the button to the width of its container.
loadingbooleanfalse-Shows a spinner, marks the button busy and blocks clicks.
renderReactElement--Render as another element, such as a framework link, and keep the button look.
sizexs | sm | md | lg | xl | custom"md"-The shared control scale; custom emits no size classes.
toneprimary | neutral | success | warning | danger | info"primary"-The meaning it signals, which picks its colour ramp.
variantsolid | soft | outline | ghost | link"solid"-How much weight the button carries on the page.

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

لوحة مفاتيح Button
المفاتيحما يفعله
Tabينقل التركيز إلى الزر.
Enterيفعّل الزر، أو يتبع الرابط الذي يعرضه.
Spaceيفعّل الزر الأصلي.
  • افتراضيًا هو <button type="button"> أصلي، يُسمّى بنصه، والأيقونة بجانب النص مخفية عن قارئ الشاشة.
  • أثناء المنع يحمل الزر الأصلي السمة disabled ويخرج من ترتيب التنقل، وأي عنصر آخر يأخذ aria-disabled وtabindex="-1".
  • لا يقل عن 24 في 24 بكسل، و44 تحت مؤشر لمس، مع حلقة تركيز ظاهرة.

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

لا شيء يُضبط: الحشو والفراغ منطقيان، فتتبادل الأيقونة والنص موضعيهما معًا، وتنقلب الأيقونة الاتجاهية مثل السهم.

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

يُعرض على الخادم ولا يرسل أي JavaScript.

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

على الشارة: server - 0 KB.