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

حقل نص

حقل إدخال أصلي يُعرض على الخادم ولا يشحن أي JavaScript. الأنواع ترفض حقلًا بلا اسم.

server - 0 KB

حقل نص

server - 0 KB

حقل إدخال أصلي يُعرض على الخادم ولا يشحن أي JavaScript. الأنواع ترفض حقلًا بلا اسم.

تثبيت

جرّبه

size
invalid
fullWidth

الشيفرة

input.tsx
import { Input } from 'topclassui/input'

<div className="grid max-w-sm gap-1">
  <label htmlFor="input-playground" className="text-sm font-medium text-body">Email</label>
  <Input id="input-playground" name="email" type="email" autoComplete="email" />
</div>

خارج Field يحتاج Input إلى id أو aria-label أو aria-labelledby: الأنواع ترفض حقلًا بلا تسمية.

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

6 حالات

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

topclassui/input
import { Input } from 'topclassui/input'

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

أمثلة

  • لـmaxLength قيمة افتراضية حسب النوع: 512 للنص، و254 للبريد، و32 للهاتف، و2048 للرابط، و256 للبحث وكلمة المرور. مرّر رقمك، أو maxLength={null} لإلغاء الحد.
  • الرقم والتاريخ ومربع الاختيار بلا حد للأحرف: الرقم تحدّه القيم الدنيا والعليا والخطوة.
  • يحتفظ بعرضه الخاص، --tc-input-width، ويقلّ في صف ضيّق. fullWidth يملأ الحاوية؛ وبجانب Button أعطِ Input الصنف flex-1.
  • size="custom" لا يضيف أي صنف للحجم، فأصنافك أنت تحدد الارتفاع والحشو وحجم الخط.
  • الحاوية التي تقص محتواها (overflow-hidden) تحتاج حشوًا بمقدار 4px، وإلا قطعت حلقة التركيز.
labelled
We never share it
types
sizes
full-width
row
custom-size
skeleton
بالعربية، من اليمين إلى اليسار

الخصائص

خصائص Input
الخاصيةالنوعالافتراضيالحدودالوصف
aria-labelstring--The name read out when no visible label names the control.
aria-labelledbystring--The id of the visible text that names the control.
idstring--The id a <label htmlFor> points at.
fullWidthbooleanfalse-Stretches the input to the width of its container.
invalidbooleanfalse-Marks the value as wrong: sets aria-invalid, and the border turns to danger and thickens.
maxLengthnumber | null--The character cap: your number, the default of the type, or null for none.
sizexs | sm | md | lg | xl | custom"md"-The shared control scale; custom emits no size classes.

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

لوحة مفاتيح Input
المفاتيحما يفعله
Tabينقل التركيز إلى الحقل، ثم إلى العنصر التالي.
Enterيرسل النموذج الذي يضم الحقل، كما يفعل حقل HTML الأصلي.
  • الاسم مطلوب: تسمية <label htmlFor> تشير إلى id، أو aria-label، أو aria-labelledby.
  • invalid يضبط aria-invalid، ويتحوّل الإطار إلى لون الخطر ويزداد سمكًا، فلا يعتمد الخطأ على اللون وحده.
  • على شاشة اللمس لا يقل النص عن 16px، كي لا يكبّر iOS الصفحة عند التركيز.

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

يبدأ النص من اليمين. حقول البريد والأرقام والهاتف والروابط تبقى من اليسار إلى اليمين، في جهة النموذج.

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

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

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

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