ื›ืคืชื•ืจื™ืื—ื“ืฉ

ื›ืคืชื•ืจ ืžืจืงื

ื›ืคืชื•ืจ ืขื ืžืกื’ืจืช ืฉื›ื‘ืชื™ืช ื•ืžืขื‘ืจ ืฆื‘ืข ืจืš ืฉืžืจื’ื™ืฉ ื›ืžื• ืžืงืฉ ืืžื™ืชื™. ื™ืฉ ื’ืจืกืื•ืช ืจืืฉื™ืช, ืžืฉื ื™ืช, ืžื™ื ื™ืžืœื™ืช ื•ืขื’ื•ืœื”.

ื”ืชืืžื”

color
secondaryColor
highlightColor

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

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

8 ืžืืคื™ื™ื ื™ื
ืžืืคื™ื™ืŸืกื•ื’ื‘ืจื™ืจืช ืžื—ื“ืœืชื™ืื•ืจ
variant'primary' | 'secondary' | 'accent' | 'destructive' | 'minimal' | 'icon'"primary"ืกื’ื ื•ืŸ ื”ื›ืคืชื•ืจ.
size'default' | 'sm' | 'lg' | 'icon'"default"ื’ื•ื“ืœ ื”ื›ืคืชื•ืจ.
asChildbooleanfalseืœื”ืขื‘ื™ืจ ืืช ื”ืกื’ื ื•ืŸ ืœืืœืžื ื˜ ื”ื™ืœื“, ืœืžืฉืœ ืงื™ืฉื•ืจ.
childrenReactNodeโ€”ื˜ืงืกื˜ ื•ืื™ื™ืงื•ื ื™ื ืฉืœ ื”ื›ืคืชื•ืจ.
classNamestringโ€”ืžื—ืœืงื•ืช ื ื•ืกืคื•ืช.
colorstring"#f5f5f5"ืฆื‘ืข ื”ืžืฉื˜ื— ืฉืœ ื”ื›ืคืชื•ืจ. ื”ื˜ืงืกื˜ ื”ื•ืคืš ืœื›ื”ื” ืื• ืœื‘ืŸ ืœื‘ื“.
secondaryColorstring"#d4d4d4"ื”ืฆื‘ืข ื”ืชื—ืชื•ืŸ ืฉืœ ื”ืžืขื‘ืจ ื•ื’ื•ื•ืŸ ื”ืžืกื’ืจืช.
highlightColorstring"rgba(255,255,255,0.8)"ื‘ืจืง ื“ืง ืœืื•ืจืš ื”ืงืฆื” ื”ืขืœื™ื•ืŸ.

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

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

npm install @radix-ui/react-slot class-variance-authority clsx tailwind-merge

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

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