11"use client" ;
2-
32import React , { ButtonHTMLAttributes , ReactNode } from "react" ;
43
54interface ButtonProps extends ButtonHTMLAttributes < HTMLButtonElement > {
@@ -8,7 +7,6 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
87 radius ?: "lg" | "full" ;
98 icon ?: ReactNode ;
109}
11-
1210/**
1311 * 버튼 컴포넌트
1412 * @param variant - 버튼 스타일 solid | outlined
@@ -20,7 +18,7 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
2018 * @param props - 추가 버튼 속성
2119 * @returns 버튼 컴포넌트
2220 */
23- const Button = ( {
21+ const Button : React . FC < ButtonProps > = ( {
2422 className = "" ,
2523 variant = "solid" ,
2624 width = "md" ,
@@ -29,22 +27,14 @@ const Button = ({
2927 disabled = false ,
3028 children,
3129 ...props
32- } : ButtonProps ) => {
30+ } ) => {
3331 const baseStyles = "inline-flex items-center justify-center transition-colors font-medium h-12" ;
3432
3533 const variants = {
36- solid : [
37- "bg-primary-orange-300 text-gray-100" ,
38- "hover:bg-primary-orange-200" ,
39- "focus:ring-1 focus:ring-primary-orange-200 focus:outline-none" ,
40- "disabled:bg-gray-100 disabled:cursor-not-allowed text-white" ,
41- ] . join ( " " ) ,
42- outlined : [
43- "border-2 border-primary-orange-300 text-primary-orange-300" ,
44- "hover:border-primary-orange-200 hover:text-primary-orange-200" ,
45- "focus:ring-1 focus:ring-primary-orange-200 focus:outline-none" ,
46- "disabled:border-gray-100 disabled:text-gray-100 disabled:cursor-not-allowed disabled:hover:bg-transparent" ,
47- ] . join ( " " ) ,
34+ solid :
35+ "bg-primary-orange-300 text-gray-100 hover:bg-primary-orange-200 focus:ring-1 focus:ring-primary-orange-200 focus:outline-none disabled:bg-gray-100 disabled:cursor-not-allowed text-white" ,
36+ outlined :
37+ "border-2 border-primary-orange-300 text-primary-orange-300 hover:border-primary-orange-200 hover:text-primary-orange-200 focus:ring-1 focus:ring-primary-orange-200 focus:outline-none disabled:border-gray-100 disabled:text-gray-100 disabled:cursor-not-allowed disabled:hover:bg-transparent" ,
4838 } ;
4939
5040 const widths = {
@@ -65,7 +55,7 @@ const Button = ({
6555 disabled = { disabled }
6656 { ...props }
6757 >
68- { icon && < span className = "mr-2" > { icon } </ span > } { /* 아이콘 렌더링 */ }
58+ { icon && < span className = "mr-2" > { icon } </ span > }
6959 { children }
7060 </ button >
7161 ) ;
0 commit comments