Skip to content
This repository was archived by the owner on Aug 23, 2021. It is now read-only.

Commit 7a6873d

Browse files
committed
Add dark variants for disabled, odd and even
1 parent f4c9c6f commit 7a6873d

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)