@@ -12,19 +12,25 @@ export default (options: Required<ModuleOptions>) => ({
1212 gridBody : 'grid' ,
1313 headCell : 'rounded-md' ,
1414 cell : 'relative text-center' ,
15- cellTrigger : [ 'm-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-muted data-unavailable:line-through data-unavailable:text-muted data-unavailable:pointer-events-none data-[selected]:text-inverted data- today:font-semibold data-[outside-view]:text-muted' , options . theme . transitions && 'transition' ]
15+ cellTrigger : [ 'm-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-muted data-unavailable:line-through data-unavailable:text-muted data-unavailable:pointer-events-none data-today:font-semibold data-[outside-view]:text-muted' , options . theme . transitions && 'transition' ]
1616 } ,
1717 variants : {
1818 color : {
1919 ...Object . fromEntries ( ( options . theme . colors || [ ] ) . map ( ( color : string ) => [ color , {
2020 headCell : `text-${ color } ` ,
21- cellTrigger : `focus-visible:ring-${ color } data-[selected]:bg- ${ color } data-today:not-data-[selected]:text- ${ color } data-[highlighted]:bg- ${ color } /20 hover:not-data-[selected]:bg- ${ color } /20 `
21+ cellTrigger : `focus-visible:ring-${ color } `
2222 } ] ) ) ,
2323 neutral : {
2424 headCell : 'text-highlighted' ,
25- cellTrigger : 'focus-visible:ring-inverted data-[selected]:bg-inverted data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10 '
25+ cellTrigger : 'focus-visible:ring-inverted'
2626 }
2727 } ,
28+ variant : {
29+ solid : '' ,
30+ outline : '' ,
31+ soft : '' ,
32+ subtle : ''
33+ } ,
2834 size : {
2935 xs : {
3036 heading : 'text-xs' ,
@@ -57,8 +63,58 @@ export default (options: Required<ModuleOptions>) => ({
5763 }
5864 }
5965 } ,
66+ compoundVariants : [ ...( options . theme . colors || [ ] ) . map ( ( color : string ) => ( {
67+ color,
68+ variant : 'solid' ,
69+ class : {
70+ cellTrigger : `data-[selected]:bg-${ color } data-[selected]:text-inverted data-today:not-data-[selected]:text-${ color } data-[highlighted]:bg-${ color } /20 hover:not-data-[selected]:bg-${ color } /20`
71+ }
72+ } ) ) , ...( options . theme . colors || [ ] ) . map ( ( color : string ) => ( {
73+ color,
74+ variant : 'outline' ,
75+ class : {
76+ cellTrigger : `data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-${ color } /50 data-[selected]:text-${ color } data-today:not-data-[selected]:text-${ color } data-[highlighted]:bg-${ color } /10 hover:not-data-[selected]:bg-${ color } /10`
77+ }
78+ } ) ) , ...( options . theme . colors || [ ] ) . map ( ( color : string ) => ( {
79+ color,
80+ variant : 'soft' ,
81+ class : {
82+ cellTrigger : `data-[selected]:bg-${ color } /10 data-[selected]:text-${ color } data-today:not-data-[selected]:text-${ color } data-[highlighted]:bg-${ color } /20 hover:not-data-[selected]:bg-${ color } /20`
83+ }
84+ } ) ) , ...( options . theme . colors || [ ] ) . map ( ( color : string ) => ( {
85+ color,
86+ variant : 'subtle' ,
87+ class : {
88+ cellTrigger : `data-[selected]:bg-${ color } /10 data-[selected]:text-${ color } data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-${ color } /25 data-today:not-data-[selected]:text-${ color } data-[highlighted]:bg-${ color } /20 hover:not-data-[selected]:bg-${ color } /20`
89+ }
90+ } ) ) , {
91+ color : 'neutral' ,
92+ variant : 'solid' ,
93+ class : {
94+ cellTrigger : 'data-[selected]:bg-inverted data-[selected]:text-inverted data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10'
95+ }
96+ } , {
97+ color : 'neutral' ,
98+ variant : 'outline' ,
99+ class : {
100+ cellTrigger : 'data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-accented data-[selected]:text-default data-[selected]:bg-default data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/10 hover:not-data-[selected]:bg-inverted/10'
101+ }
102+ } , {
103+ color : 'neutral' ,
104+ variant : 'soft' ,
105+ class : {
106+ cellTrigger : 'data-[selected]:bg-elevated data-[selected]:text-default data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10'
107+ }
108+ } , {
109+ color : 'neutral' ,
110+ variant : 'subtle' ,
111+ class : {
112+ cellTrigger : 'data-[selected]:bg-elevated data-[selected]:text-default data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-accented data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10'
113+ }
114+ } ] ,
60115 defaultVariants : {
61116 size : 'md' ,
62- color : 'primary'
117+ color : 'primary' ,
118+ variant : 'solid'
63119 }
64120} )
0 commit comments