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

ืฉื•ืžืจ ืžืกืš

ืืœืžื ื˜ ืขืฃ ื‘ืชื•ืš ืงื•ืคืกื” ื•ืงื•ืคืฅ ืžื”ืงื™ืจื•ืช, ื›ืžื• ืœื•ื’ื• ื”-DVD ื”ื™ืฉืŸ.

ื”ืชืืžื”

color
accentColor
highlightColor

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

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

9 ืžืืคื™ื™ื ื™ื
ืžืืคื™ื™ืŸืกื•ื’ื‘ืจื™ืจืช ืžื—ื“ืœืชื™ืื•ืจ
speednumber3ืžื”ื™ืจื•ืช, ื‘ืคื™ืงืกืœื™ื ืœืคืจื™ื™ื.
startAnglenumber45ื›ื™ื•ื•ืŸ ื”ื”ืชื—ืœื”, ื‘ืžืขืœื•ืช.
startPosition{ x: number; y: number }"{ x: 0, y: 0 }"ื ืงื•ื“ืช ื”ื”ืชื—ืœื” ื‘ืื—ื•ื–ื™ื ืžื”ืžื›ืœ.
containerRefRefObject<HTMLElement | null>โ€”ื”ืคื ื™ื” ืœืงื•ืคืกื” ืฉื”ืืœืžื ื˜ ืงื•ืคืฅ ืžื”ืงื™ืจื•ืช ืฉืœื”.
childrenReactNodeโ€”ืžื” ืฉืขืฃ: ืœื•ื’ื•, ืชืžื•ื ื”, ืชื’ื™ืช.
colorstring"#ffffff"ื”ืฆื‘ืข ื”ืจืืฉื™. ื”ื™ืœื“ื™ื ืงื•ืจืื™ื ืื•ืชื• ื“ืจืš var(--screensaver-c1).
accentColorstring"#a3a3a3"ื”ืฆื‘ืข ื”ืฉื ื™. ื”ื™ืœื“ื™ื ืงื•ืจืื™ื ืื•ืชื• ื“ืจืš var(--screensaver-c2).
highlightColorstring"#ffffff"ืฆื‘ืข ื”ื“ื’ืฉื” ื‘ื”ื™ืจ. ื”ื™ืœื“ื™ื ืงื•ืจืื™ื ืื•ืชื• ื“ืจืš var(--screensaver-c3).
classNamestringโ€”ืžื—ืœืงื•ืช ืœืืœืžื ื˜ ื”ืžืขื•ืคืฃ.

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

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

npm install motion clsx tailwind-merge

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

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