import React from 'react'; import { toEnglishDigits } from '../../lib/utils'; interface DigitInputProps extends Omit, 'value' | 'onChange' | 'type'> { value: string; onChange: (value: string) => void; /** حداکثر تعداد رقم (مثلاً ۱۱ برای موبایل، ۱۰ برای کد ملی). */ maxDigits?: number; } /** * ورودیِ فقط-عددی که ارقام فارسی/عربی را همان لحظه به انگلیسی تبدیل می‌کند و هر * کاراکتر غیررقمی را حذف می‌کند؛ همیشه LTR و کیبورد عددی. مناسب شماره تماس و کد ملی. */ export default function DigitInput({ value, onChange, maxDigits, ...rest }: DigitInputProps) { const handleChange = (e: React.ChangeEvent) => { let digits = toEnglishDigits(e.target.value).replace(/\D/g, ''); if (maxDigits) digits = digits.slice(0, maxDigits); onChange(digits); }; return ( ); }