@@ -3,6 +3,7 @@ const merge = require('lodash/merge')
3
3
const castArray = require ( 'lodash/castArray' )
4
4
const uniq = require ( 'lodash/uniq' )
5
5
const styles = require ( './styles' )
6
+ const { isUsableColor } = require ( './utils' )
6
7
7
8
const computed = {
8
9
// Reserved for future "magic properties", for example:
@@ -19,10 +20,22 @@ function configToCss(config = {}) {
19
20
)
20
21
}
21
22
22
- const DEFAULT_MODIFIERS = [ 'DEFAULT' , 'sm' , 'lg' , 'xl' , '2xl' ]
23
23
module . exports = plugin . withOptions (
24
- ( { modifiers = DEFAULT_MODIFIERS , className = 'prose' } = { } ) => {
24
+ ( { modifiers, className = 'prose' } = { } ) => {
25
25
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
26
39
const config = theme ( 'typography' )
27
40
28
41
const all = uniq ( [
@@ -41,5 +54,8 @@ module.exports = plugin.withOptions(
41
54
)
42
55
}
43
56
} ,
44
- ( ) => ( { theme : { typography : styles } , variants : { typography : [ 'responsive' ] } } )
57
+ ( ) => ( {
58
+ theme : { typography : styles } ,
59
+ variants : { typography : [ 'responsive' ] } ,
60
+ } )
45
61
)
0 commit comments