MotionNumber · MotionText
رقم تتدحرج خاناته كالعجلات، بما فيها الخانات التي تظهر أو تختفي.
الويبReact Nativeالأرقام والنصوص
جرّبه
جارٍ تجهيز المثال…
أقصر استخدام
<MotionNumber value={count} />
<MotionNumber value={total} mode="roll" intl locale="en-US"
format={{ style: 'currency', currency: 'USD' }} />
<MotionText>{status}</MotionText>ما يتولّاه عنك
- الحمل:
999 → 1,000يدحرج كل خانة متغيّرة في الاتجاه نفسه، كعدّاد المسافات. - الخانات التي تظهر أو تختفي تتدحرج داخلة أو خارجة من عمودها بدل أن تقفز فجأة.
- الفواصل والإشارات ورموز العملات تظهر وتختفي مع الخانة التي تنتمي إليها.
- تنزلق الخانات المتبقية إلى مواضعها الجديدة أثناء تدحرجها، فلا ينقسم الرقم أبدًا.
- القيمة الجديدة في منتصف الحركة تكمل تمامًا مما على الشاشة.
- التنسيق لا يتطلب
Intlأبدًا: مرّر نصًا أو دالةformat، أو فعّله عبرintl.
استخدمه لـ
- مجموع سلة يتغيّر مع إضافة المنتجات.
- عدّاد أو نتيجة مباشرة.
- رقم في لوحة معلومات يتحدّث كل بضع ثوانٍ.
Props
MotionNumber
| Prop | النوع | الافتراضي | الوصف |
|---|---|---|---|
value | number | bigint | string | —إلزامي | الرقم، أو نص رقمي نسّقته أنت. |
mode | 'replace' | 'roll' | 'replace' | ينقل replace كل خانة متغيّرة خطوة واحدة؛ ويمر roll عبر الأرقام بينها. |
direction | 'auto' | 'digit' | 'up' | 'down' | 'auto' | يتبع auto تغيّر المقدار فتتدحرج الخانات المحمولة في اتجاه واحد؛ ويقارن digit كل خانة بمفردها. |
stagger | number | 45 | مللي ثوانٍ بين الخانات المتغيّرة، من الآحاد إلى الخارج. والموجة كلها محدودة المدة. |
format | (value) => string | Intl.NumberFormatOptions | دالة تعيد النص المراد عرضه، أو خيارات Intl.NumberFormat (مع intl). | |
intl | boolean | false | استخدم Intl.NumberFormat المدمج. معطّل افتراضيًا كي لا تحتاج أي بيئة تشغيل إلى Intl. |
locale | string | string[] | اللغة المحلية لـ intl. | |
prefix | string | نص قبل الرقم. | |
suffix | string | نص بعد الرقم. | |
transition | Transition | spring | منحنى توقيت { duration, easing } أو نابض { tempo: 'spring', spring }. تحتفظ النوابض بزخمها عند المقاطعة. |
onMotionComplete | (value) => void | يعمل مع القيمة بعد استقرار الخانات. |
MotionText
| Prop | النوع | الافتراضي | الوصف |
|---|---|---|---|
children | ReactNode | النص المراد عرضه. | |
as | element | 'span' | العنصر المراد عرضه. |
transition | Transition | spring | منحنى توقيت { duration, easing } أو نابض { tempo: 'spring', spring }. تحتفظ النوابض بزخمها عند المقاطعة. |
onMotionComplete | (text) => void | يعمل حين تستقر الحركة. |
تذهب props الأخرى إلى العنصر المعروض، فتعمل className وstyle ومعالجات الأحداث كالمعتاد.
الويب وReact Native
على الويب كل خانة كومة صغيرة من الرموز تشغّلها Web Animations API، ويبقى النص قابلًا للتحديد. يحرّك MotionText أي نص: النص الرقمي يتدحرج خانةً خانة، والنص الآخر يتبدّل.
في React Native يبقى الرقم Text حقيقيًا للتخطيط والتحديد وسهولة الوصول، بما في ذلك الالتفاف وnumberOfLines؛ وتتحرك الرموز على المشغّل الأصلي.
مستخدم في هذه الأمثلة
- ملخص الدفعتتدحرج الكميات ومجاميع الأسطر والإجمالي مع تغيّر السلة؛ ويدخل إشعار القسيمة ويخرج؛ والدفع يتطلب ضغطًا مطوّلًا مقصودًا.
MotionListMotionNumberMotionPresenceMotionHold - البريد الواردعلامات تبويب للتصفية بأعداد حية، وصفوف يمكن سحبها بعيدًا، وقائمة تسدّ الفراغ.
MotionHighlightMotionListMotionSwipeMotionNumber