1- import { cva } from 'class-variance-authority'
21import {
32 Clock ,
43 Code ,
@@ -12,40 +11,39 @@ import {
1211 TextSelect ,
1312 Trash2 ,
1413} from 'lucide-react'
14+ import { tv } from 'tailwind-variants'
1515
16- // CVA configuration for stat badges
17- export const badgeCVA = cva (
18- 'inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-normal h-5' ,
19- {
20- defaultVariants : {
21- clickable : false ,
16+ // TV configuration for stat badges
17+ export const badgeCVA = tv ( {
18+ base : 'inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-normal h-5' ,
19+ defaultVariants : {
20+ clickable : false ,
21+ } ,
22+ variants : {
23+ clickable : {
24+ false : '' ,
25+ true : 'cursor-pointer border border-transparent hover:border-current border-dashed' ,
26+ } ,
27+ selected : {
28+ false : '' ,
29+ true : '!border-solid !border-current' ,
2230 } ,
23- variants : {
24- clickable : {
25- false : '' ,
26- true : 'cursor-pointer border border-transparent hover:border-current border-dashed' ,
27- } ,
28- selected : {
29- false : '' ,
30- true : '!border-solid !border-current' ,
31- } ,
32- type : {
33- blank : 'bg-transparent text-gray-700' ,
34- code : 'bg-pink-50 text-pink-700' ,
35- hideTrashed : 'bg-transparent text-gray-700' ,
36- image : 'bg-purple-50 text-purple-700' ,
37- link : 'bg-blue-50 text-blue-700' ,
38- open : 'bg-cyan-50 text-cyan-700' ,
39- sent : 'bg-green-50 text-green-700' ,
40- settings : 'bg-gray-50 text-gray-700' ,
41- text : 'bg-gray-50 text-gray-700' ,
42- time : 'bg-gray-50 text-gray-700' ,
43- trashed : 'bg-gray-50 text-yellow-700' ,
44- unsent : 'bg-amber-100 text-amber-700' ,
45- } ,
31+ type : {
32+ blank : 'bg-transparent text-gray-700' ,
33+ code : 'bg-pink-50 text-pink-700' ,
34+ hideTrashed : 'bg-transparent text-gray-700' ,
35+ image : 'bg-purple-50 text-purple-700' ,
36+ link : 'bg-blue-50 text-blue-700' ,
37+ open : 'bg-cyan-50 text-cyan-700' ,
38+ sent : 'bg-green-50 text-green-700' ,
39+ settings : 'bg-gray-50 text-gray-700' ,
40+ text : 'bg-gray-50 text-gray-700' ,
41+ time : 'bg-gray-50 text-gray-700' ,
42+ trashed : 'bg-gray-50 text-yellow-700' ,
43+ unsent : 'bg-amber-100 text-amber-700' ,
4644 } ,
4745 } ,
48- )
46+ } )
4947
5048// Map types to their icons
5149export const typeIcons = {
0 commit comments