SDAIA

إدخال كلمة المرور

حقل إدخال نصي بأيقونة قفل وزر لإظهار القيمة أو إخفائها عند كتابة البيانات السرية. يوضح النص المساعد قاعدة كلمة المرور قبل الكتابة.

التثبيت

npx sdaia-ui@latest add password-input

الاستخدام

import { PasswordInput } from "@/components/ui/PasswordInput"
<PasswordInput label="Password" helperText="Use at least 8 characters." />

افتراضي

حقل فارغ يعرض النص التوضيحي وقاعدة كلمة المرور كنص مساعد.

جارٍ تحميل العرض التوضيحي: password-input-default

أمثلة

ظاهرة

الحالة Visibility=Shown: زر العين يُظهر القيمة؛ ويُتحكَّم به هنا عبر visibility وonVisibilityChange.

جارٍ تحميل العرض التوضيحي: password-input-shown

خطأ

القيمة لا تحقق القاعدة، والرسالة توضح طريقة الإصلاح. أضف أحرفًا لإزالتها.

جارٍ تحميل العرض التوضيحي: password-input-error

معطّل

لا يمكن استخدام الحقل ولا زر الإظهار.

جارٍ تحميل العرض التوضيحي: password-input-disabled

RTL

التخطيط العربي: أيقونة القفل في البداية (اليمين) وزر الإظهار في النهاية (اليسار).

جارٍ تحميل العرض التوضيحي: password-input-rtl

تسجيل الدخول

نموذج تسجيل دخول مع رابط «نسيت كلمة المرور؟» تحت الحقل في جهة النهاية.

جارٍ تحميل العرض التوضيحي: password-input-sign-in

الخصائص

الخاصية

النوع

القيمة الافتراضية

مطلوبة

label

string

—

اختيارية

placeholder

string

—

اختيارية

helperText

string

—

اختيارية

error

string

—

اختيارية

visibility

"hidden" | "shown"

—

اختيارية

defaultVisibility

"hidden" | "shown"

"hidden"

اختيارية

onVisibilityChange

(visibility) => void

—

اختيارية

autoComplete

string

"current-password"

اختيارية

labels

Partial<PasswordInputLabels>

—

اختيارية

disabled

boolean

false

اختيارية

required

boolean

false

اختيارية

size

"medium" | "large"

responsive

اختيارية

dir

"ltr" | "rtl"

—

اختيارية

value / onChange / …

InputHTMLAttributes

—

اختيارية

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

  • تسمية مرئية <label for> تسمّي الحقل؛ ويُربط النص المساعد ورسالة الخطأ عبر aria-describedby، ويضبط الخطأ aria-invalid ويُعلَن عنه (role="alert").
  • زر العين <button aria-pressed> منفصل باسم «إظهار كلمة المرور» (عبر labels.toggle) بمساحة نقر 24 × 24 بكسل، ولا يوضع داخل عنصر تفاعلي آخر.
  • لا يُمنع اللصق أبدًا. وعند إظهار كلمة المرور يتوقف التدقيق الإملائي والتصحيح التلقائي.
  • اضبط autoComplete على "current-password" لتسجيل الدخول أو "new-password" للإنشاء والتغيير لتعمل مديرات كلمات المرور.
  • يظهر التركيز كحدّ بعرض 2px بلون Border/border-brand، ولزر الإظهار حلقة تركيز خاصة.

السلوك المتجاوب

  • الحقل مرن: يملأ الحاوية (fullWidth) ولا يفرض عرضًا أدنى.
  • الحجم غير المعيَّن يتبع حقل الإدخال النصي: متوسط تحت 768px وكبير من 768px (الحقل في Figma كبير).
  • المسافات والخطوط تستخدم رموز التصميم المتجاوبة دون نقاط توقف خاصة بالمكوّن.