ืื ื™ืžืฆื™ื•ืชื—ื“ืฉ

ืฉื•ื‘ืœ ืขืœ ื”ืžืกื’ืจืช

ืงื˜ืข ืื•ืจ ืงืฆืจ ืจืฅ ืกื‘ื™ื‘ ืžืกื’ืจืช ื”ื›ืจื˜ื™ืก. ืžืชืื™ื ืœืžืฆื‘ ื˜ืขื™ื ื”.

ื”ืชืืžื”

color
tailColor

ืžื‘ื•ืกืก ืขืœ Border Trail (MIT ืจื™ืฉื™ื•ืŸ) ยท ืชื ืื™ ืฉื™ืžื•ืฉ

ืžืืคื™ื™ื ื™ื

8 ืžืืคื™ื™ื ื™ื
ืžืืคื™ื™ืŸืกื•ื’ื‘ืจื™ืจืช ืžื—ื“ืœืชื™ืื•ืจ
sizenumber60ืื•ืจืš ื”ืฉื•ื‘ืœ ื”ื–ื•ื”ืจ ื‘ืคื™ืงืกืœื™ื.
durationnumber5ืฉื ื™ื•ืช ืœื”ืงืคื”.
transitionTransitionโ€”ืžืขื‘ืจ Motion ืžืฉืœื›ื. ื’ื•ื‘ืจ ืขืœ duration.
onAnimationComplete() => voidโ€”ื ืงืจื ืื—ืจื™ ื”ื”ืงืคื” ื”ืื—ืจื•ื ื” ื›ืฉื”ื—ื–ืจื” ืกื•ืคื™ืช.
styleCSSPropertiesโ€”ืกื’ื ื•ื ื•ืช ื”ืฉื•ื‘ืœ ื”ื–ื•ื”ืจ.
colorstring"#ffffff"ืฆื‘ืข ื”ืจืืฉ ื”ื‘ื”ื™ืจ ืฉืœ ื”ืฉื•ื‘ืœ.
tailColorstring"#a3a3a3"ื”ืฆื‘ืข ืฉื”ืฉื•ื‘ืœ ืขื•ื‘ืจ ื‘ื• ืœืคื ื™ ืฉื”ื•ื ื“ื•ืขืš.
classNamestringโ€”ืžื—ืœืงื•ืช ื”ืฉื•ื‘ืœ, ืœืžืฉืœ ื’ืจื“ื™ืื ื˜ from-white/0 via-white.

ืชืœื•ื™ื•ืช

3 ื—ื‘ื™ืœื•ืช ื ื“ืจืฉื•ืช

npm install motion clsx tailwind-merge

ืจื›ื™ื‘ื™ื ื“ื•ืžื™ื

ืœื›ืœ ื”ืจื›ื™ื‘ื™ื