@@ -53,31 +53,29 @@ export function getButtonStyles(
5353 variant : {
5454 base : [
5555 'group inline-flex gap-x-2 justify-center items-center font-semibold' ,
56- 'text-base/6 text-(--btn-color) sm:text-sm/6 [&_svg [data-ui=icon]:not([class*=size-])]:size-(--icon-size)' ,
56+ 'text-base/6 text-(--btn-color) sm:text-sm/6 [&>svg [data-ui=icon]:not([class*=size-])]:size-(--icon-size)' ,
5757 isPressed && 'scale-[0.98]' ,
5858 ! isIconOnly && [
59- variant === 'solid'
60- ? '[--icon-color:var(--btn-color)]/75'
61- : '[--icon-color:var(--btn-color)]/50' ,
59+ '[--icon-color:var(--btn-color)]/75'
6260 ] ,
6361 ! isHovered &&
64- ! isPressed &&
65- '[&_svg [data-ui=icon]:not([class*=text-])]:text-(--icon-color)' ,
62+ ! isPressed &&
63+ '[&>svg [data-ui=icon]:not([class*=text-])]:text-(--icon-color)' ,
6664 variant === 'solid'
6765 ? [
68- '[--btn-bg:var(--accent)] [--btn-color:lch(from_var(--btn-bg)_calc((49.44_-_l)_*_infinity)_0_0)]' ,
69- color === 'red' &&
70- '[--btn-bg:var(--color-red-600)] [--btn-color:white]' ,
71- color === 'green' &&
72- '[--btn-bg:var(--color-green-600)] [--btn-color:white]' ,
73- ]
66+ '[--btn-bg:var(--accent)] [--btn-color:lch(from_var(--btn-bg)_calc((49.44_-_l)_*_infinity)_0_0)]' ,
67+ color === 'red' &&
68+ '[--btn-bg:var(--color-red-600)] [--btn-color:white]' ,
69+ color === 'green' &&
70+ '[--btn-bg:var(--color-green-600)] [--btn-color:white]' ,
71+ ]
7472 : [
75- '[--btn-color:var(--foreground)]' ,
76- color === 'accent' && '[--btn-color:var(--accent)]' ,
77- color === 'red' &&
78- '[--btn-color:var(--color-red-600)] dark:[--btn-color:var(--color-red-500)]' ,
79- color === 'green' && '[--btn-color:var(--color-green-600)]' ,
80- ] ,
73+ '[--btn-color:var(--foreground)]' ,
74+ color === 'accent' && '[--btn-color:var(--accent)]' ,
75+ color === 'red' &&
76+ '[--btn-color:var(--color-red-600)] dark:[--btn-color:var(--color-red-500)]' ,
77+ color === 'green' && '[--btn-color:var(--color-green-600)]' ,
78+ ] ,
8179 ] ,
8280 solid : [ 'bg-(--btn-bg)' , isHovered && ! isDisabled && 'opacity-85' ] ,
8381 outline : [
@@ -97,19 +95,19 @@ export function getButtonStyles(
9795 isIconOnly
9896 ? 'size-8 sm:size-7 [--icon-size:--spacing(5)] sm:[--icon-size:--spacing(4)]'
9997 : variant !== 'link' &&
100- 'h-8 sm:h-7 [--icon-size:--spacing(3)] text-sm/6 sm:text-xs/6 px-3' ,
98+ 'h-8 sm:h-7 [--icon-size:--spacing(3)] text-sm/6 sm:text-xs/6 px-3' ,
10199 ] ,
102100 md : [
103101 '[--icon-size:--spacing(5)] sm:[--icon-size:--spacing(4)]' ,
104102 isIconOnly
105- ? 'p-2.5 sm:p-1.5 [&_svg [data-ui=icon]]:m-0.5 sm:[&_svg [data-ui=icon]]:m-1'
103+ ? 'p-2.5 sm:p-1.5 [&>svg [data-ui=icon]]:m-0.5 sm:[&>svg [data-ui=icon]]:m-1'
106104 : variant !== 'link' && 'px-3.5 py-2.5 sm:py-1.5' ,
107105 ] ,
108106 lg : [
109107 // lg: 44px,
110108 '[--icon-size:--spacing(5)]' ,
111109 isIconOnly
112- ? 'p-2.5 [&_svg [data-ui=icon]]:m-0.5'
110+ ? 'p-2.5 [&>svg [data-ui=icon]]:m-0.5'
113111 : variant !== 'link' && 'px-3.5 py-2.5' ,
114112 ] ,
115113 } ,
@@ -121,8 +119,8 @@ export function getButtonStyles(
121119 style . variant [ variant ] ,
122120 style . size [ size ] ,
123121 ! isCustomPending &&
124- isPending &&
125- 'text-transparent [&_svg [data-ui=icon]:not([data-spinner])]:text-transparent' ,
122+ isPending &&
123+ 'text-transparent [&>svg [data-ui=icon]:not([data-spinner])]:text-transparent' ,
126124 className ,
127125 ] ) ;
128126}
0 commit comments