@@ -11,46 +11,46 @@ const buttonStyles = tv({
11
11
extend : focusButtonStyles ,
12
12
base : [
13
13
"kbt32x relative inline-flex items-center justify-center gap-x-2 border font-medium" ,
14
- "forced-colors:[--btn-icon:ButtonText] forced-colors:data-hovered :[--btn-icon:ButtonText]" ,
15
- "*:data-[slot=icon]:-mx-0.5 data-hovered: *:data-[slot=icon]:text-current/90 data-pressed: *:data-[slot=icon]:text-current *:data-[slot=icon]:my-1 *:data-[slot=icon]:size-4 *:data-[slot=icon]:shrink-0 *:data-[slot=icon]:text-current/60 *:data-[slot=icon]:transition " ,
14
+ "forced-colors:[--btn-icon:ButtonText] forced-colors:hover :[--btn-icon:ButtonText]" ,
15
+ "*:data-[slot=icon]:-mx-0.5 *:data-[slot=icon]:my-1 *:data-[slot=icon]:size-4 *:data-[slot=icon]:shrink-0 *:data-[slot=icon]:text-current/60 pressed: *:data-[slot=icon]:text-current *:data-[slot=icon]:transition hover: *:data-[slot=icon]:text-current/90 " ,
16
16
"*:data-[slot=avatar]:-mx-0.5 *:data-[slot=avatar]:my-1 *:data-[slot=avatar]:*:size-4 *:data-[slot=avatar]:size-4 *:data-[slot=avatar]:shrink-0" ,
17
17
"inset-ring-0 dark:inset-ring dark:border-0" ,
18
18
"inset-ring-(--btn-border) inset-shadow-2xs border-(--btn-border) bg-(--btn-bg) text-(--btn-fg)" ,
19
- "data-hovered :bg-(--btn-bg-hovered) data-hovered :ring-(--btn-border-hovered)" ,
20
- "data- pressed:border-(--btn-border) data- pressed:bg-(--btn-bg)" ,
19
+ "hover :bg-(--btn-bg-hovered) hover :ring-(--btn-border-hovered)" ,
20
+ "pressed:border-(--btn-border) pressed:bg-(--btn-bg)" ,
21
21
] ,
22
22
variants : {
23
23
intent : {
24
24
primary : [
25
25
"outline-primary [--btn-bg:theme(--color-primary/95%)] [--btn-border:var(--color-primary)] [--btn-fg:var(--color-primary-fg)] dark:[--btn-bg:theme(--color-primary/90%)]" ,
26
26
"[--btn-bg-hovered:theme(--color-primary/87%)] [--btn-border-hovered:theme(--color-primary/87%)] dark:[--btn-bg-hovered:theme(--color-primary)] dark:[--btn-border-hovered:theme(--color-primary)]" ,
27
- "inset-shadow-primary-fg/20 data-hovered :inset-shadow-primary-fg/25 data-pressed :inset-shadow-primary-fg/20 " ,
27
+ "inset-shadow-primary-fg/20 pressed :inset-shadow-primary-fg/20 hover :inset-shadow-primary-fg/25 " ,
28
28
] ,
29
29
secondary : [
30
30
"[--btn-bg:theme(--color-secondary/95%)] [--btn-border:theme(--color-secondary-fg/10%)] [--btn-fg:var(--color-secondary-fg)] dark:[--btn-bg:theme(--color-secondary/85%)] dark:[--btn-border:theme(--color-secondary-fg/7%)]" ,
31
31
"[--btn-bg-hovered:color-mix(in_oklab,var(--color-secondary)_60%,white_20%)] dark:[--btn-bg-hovered:color-mix(in_oklab,var(--color-secondary)_96%,white_4%)]" ,
32
- "inset-shadow-white/15 data-hovered :inset-shadow-white/20 data-pressed :inset-shadow-white/15 " ,
32
+ "inset-shadow-white/15 pressed :inset-shadow-white/15 hover :inset-shadow-white/20 " ,
33
33
] ,
34
34
warning : [
35
35
"[--btn-warning:theme(--color-warning/97%)]" ,
36
36
"[--btn-warning-hovered:color-mix(in_oklab,var(--color-warning)_85%,white_15%)]" ,
37
37
"dark:[--btn-warning-hovered:color-mix(in_oklab,var(--color-warning)_90%,white_10%)]" ,
38
38
"outline-warning [--btn-bg:var(--btn-warning)] [--btn-border:var(--btn-warning)] [--btn-fg:var(--color-warning-fg)]" ,
39
39
"[--btn-bg-hovered:var(--btn-warning-hovered)] [--btn-border-hovered:var(--btn-warning-hovered)]" ,
40
- "inset-shadow-white/25 data-hovered :inset-shadow-white/30 data-pressed :inset-shadow-white/25 " ,
40
+ "inset-shadow-white/25 pressed :inset-shadow-white/25 hover :inset-shadow-white/30 " ,
41
41
] ,
42
42
danger : [
43
43
"outline-danger [--btn-bg:theme(--color-danger/95%)] [--btn-border:var(--color-danger)] [--btn-fg:var(--color-danger-fg)] dark:[--btn-bg:var(--color-danger)]" ,
44
44
"[--btn-danger-hovered:color-mix(in_oklab,var(--color-danger)_93%,white_7%)]" ,
45
45
"dark:[--btn-danger-hovered:color-mix(in_oklab,var(--color-danger)_96%,white_4%)]" ,
46
46
"[--btn-bg-hovered:var(--btn-danger-hovered)] [--btn-border-hovered:var(--btn-danger-hovered)]" ,
47
- "inset-shadow-danger-fg/30 data-hovered :inset-shadow-danger-fg/35 data-pressed :inset-shadow-danger-fg/30 " ,
47
+ "inset-shadow-danger-fg/30 pressed :inset-shadow-danger-fg/30 hover :inset-shadow-danger-fg/35 " ,
48
48
] ,
49
49
outline : [
50
- "inset-ring-0 inset-shadow-none [--btn-border:var(--color-border)] data-hovered:bg-secondary data-pressed :bg-secondary" ,
50
+ "inset-ring-0 inset-shadow-none pressed:bg-secondary [--btn-border:var(--color-border)] hover :bg-secondary" ,
51
51
] ,
52
52
plain :
53
- "inset-ring-0 inset-shadow-none [--btn-border:transparent] data-hovered:bg-secondary data-pressed :bg-secondary" ,
53
+ "inset-ring-0 inset-shadow-none pressed:bg-secondary [--btn-border:transparent] hover :bg-secondary" ,
54
54
} ,
55
55
size : {
56
56
"extra-small" :
@@ -66,8 +66,8 @@ const buttonStyles = tv({
66
66
circle : "rounded-full" ,
67
67
} ,
68
68
isDisabled : {
69
- false : "cursor-pointer forced-colors:data- disabled:text-[GrayText]" ,
70
- true : "inset-shadow-none cursor-default border-0 opacity-50 ring-0 dark:inset-ring-0 forced-colors:data- disabled:text-[GrayText]" ,
69
+ false : "cursor-pointer forced-colors:disabled:text-[GrayText]" ,
70
+ true : "inset-shadow-none cursor-default border-0 opacity-50 ring-0 dark:inset-ring-0 forced-colors:disabled:text-[GrayText]" ,
71
71
} ,
72
72
isPending : {
73
73
true : "cursor-default opacity-50" ,
0 commit comments