@@ -3,6 +3,7 @@ const merge = require('lodash/merge')
33const castArray = require ( 'lodash/castArray' )
44const uniq = require ( 'lodash/uniq' )
55const styles = require ( './styles' )
6+ const { isUsableColor } = require ( './utils' )
67
78const 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' ]
2323module . 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 ( [
@@ -41,5 +54,8 @@ module.exports = plugin.withOptions(
4154 )
4255 }
4356 } ,
44- ( ) => ( { theme : { typography : styles } , variants : { typography : [ 'responsive' ] } } )
57+ ( ) => ( {
58+ theme : { typography : styles } ,
59+ variants : { typography : [ 'responsive' ] } ,
60+ } )
4561)
0 commit comments