08

حرکت

توکن‌های مدت، ایزینگ به سبک Apple و قرارداد حرکت کاهش‌یافته.

مدت‌ها

TokenValueUseAnchor
duration-fast200mshover color and transformbg:motion:duration-fast
duration-normal300mscard hover, FAQ answer collapsebg:motion:duration-normal
duration-slow600msscroll-reveal transitionsbg:motion:duration-slow
duration-colors150msquick color flipsbg:motion:duration-colors

منحنی‌های ایزینگ

ease-out
ease-out
bg:motion:ease-out
ease-apple
cubic-bezier(0.32, 0.72, 0, 1)
bg:motion:ease-apple

بلندشدن کارت

card-lift-smtranslateY(-2px)bg:motion:card-lift-sm
card-lift-mdtranslateY(-4px)bg:motion:card-lift-md

حرکت کاهش‌یافته

قانون قطعی. هر انیمیشنی باید شامل یک override برای @media (prefers-reduced-motion: reduce) باشد که آن را غیرفعال یا با حالت ایستا جایگزین کند. ریست پایه در base.css تمام transitionها را برای کاربران حرکت کاهش‌یافته خنثی می‌کند؛ انیمیشن‌های هر کامپوننت باید transformها در hover را نیز حذف کنند.
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}