Skip to content

Commit 0d2a178

Browse files
committed
Support safelisting default modifiers
1 parent c320fd5 commit 0d2a178

File tree

4 files changed

+667
-404
lines changed

4 files changed

+667
-404
lines changed

src/index.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const merge = require('lodash/merge')
33
const castArray = require('lodash/castArray')
44
const uniq = require('lodash/uniq')
55
const styles = require('./styles')
6+
const { isUsableColor } = require('./utils')
67

78
const computed = {
89
// Reserved for future "magic properties", for example:
@@ -19,10 +20,22 @@ function configToCss(config = {}) {
1920
)
2021
}
2122

22-
const DEFAULT_MODIFIERS = ['DEFAULT', 'sm', 'lg', 'xl', '2xl']
2323
module.exports = plugin.withOptions(
24-
({ modifiers = DEFAULT_MODIFIERS, className = 'prose' } = {}) => {
24+
({ modifiers, className = 'prose' } = {}) => {
2525
return function ({ addComponents, theme, variants }) {
26+
const DEFAULT_MODIFIERS = [
27+
'DEFAULT',
28+
'sm',
29+
'lg',
30+
'xl',
31+
'2xl',
32+
...Object.entries(theme('colors'))
33+
.filter(([color, values]) => {
34+
return isUsableColor(color, values)
35+
})
36+
.map(([color]) => color),
37+
]
38+
modifiers = modifiers === undefined ? DEFAULT_MODIFIERS : modifiers
2639
const config = theme('typography')
2740

2841
const all = uniq([

0 commit comments

Comments
 (0)