@@ -22,6 +22,11 @@ module.exports = function(prefix = 'dark') {
2222 return getSelector ( { container, separator, variant } ) ;
2323 } ) ;
2424
25+ addVariant ( `${ prefix } :disabled` , ( { container, separator } ) => {
26+ const variant = 'disabled' ;
27+ return getSelector ( { container, separator, variant } ) ;
28+ } ) ;
29+
2530 addVariant ( `${ prefix } :group-hover` , ( { container, separator } ) => {
2631 const variant = 'group-hover' ;
2732 return getSelector ( { container, separator, variant } ) ;
@@ -32,6 +37,16 @@ module.exports = function(prefix = 'dark') {
3237 return getSelector ( { container, separator, variant } ) ;
3338 } ) ;
3439
40+ addVariant ( `${ prefix } :odd` , ( { container, separator } ) => {
41+ const variant = 'odd' ;
42+ return getSelector ( { container, separator, variant } ) ;
43+ } ) ;
44+
45+ addVariant ( `${ prefix } :even` , ( { container, separator } ) => {
46+ const variant = 'even' ;
47+ return getSelector ( { container, separator, variant } ) ;
48+ } ) ;
49+
3550 function getSelector ( { container, separator, variant } ) {
3651 const supportsRule = postcss . atRule ( { name : 'media' , params : '(prefers-color-scheme: dark)' } ) ;
3752 supportsRule . append ( container . nodes ) ;
@@ -50,9 +65,18 @@ module.exports = function(prefix = 'dark') {
5065 case 'active' :
5166 rule . selector = `.${ e ( `${ prefix } :active${ separator } ${ rule . selector . slice ( 1 ) } ` ) } :active` ;
5267 break ;
68+ case 'disabled' :
69+ rule . selector = `.${ e ( `${ prefix } :disabled${ separator } ${ rule . selector . slice ( 1 ) } ` ) } :disabled` ;
70+ break ;
5371 case 'group-hover' :
5472 rule . selector = `.group:hover .${ e ( `${ prefix } :group-hover${ separator } ${ rule . selector . slice ( 1 ) } ` ) } ` ;
5573 break ;
74+ case 'odd' :
75+ rule . selector = `.${ e ( `${ prefix } :odd${ separator } ${ rule . selector . slice ( 1 ) } ` ) } :nth-child(odd)` ;
76+ break ;
77+ case 'even' :
78+ rule . selector = `.${ e ( `${ prefix } :even${ separator } ${ rule . selector . slice ( 1 ) } ` ) } :nth-child(even)` ;
79+ break ;
5680 default :
5781 rule . selector = `.${ e ( `${ prefix } ${ separator } ${ rule . selector . slice ( 1 ) } ` ) } ` ;
5882 break ;
0 commit comments