1
1
const plugin = require ( 'tailwindcss/plugin' )
2
2
const merge = require ( 'lodash/merge' )
3
+ const castArray = require ( 'lodash/castArray' )
3
4
const styles = require ( './styles' )
4
5
// const union = require('lodash/union')
5
6
@@ -14,12 +15,12 @@ function configToCss(config) {
14
15
. reduce ( ( acc , cur ) => {
15
16
return { ...acc , ...computed [ cur ] ( config [ cur ] ) }
16
17
} , { } ) ,
17
- ...( config . css || { } ) ,
18
+ ...merge ( ... castArray ( config . css || { } ) ) ,
18
19
}
19
20
}
20
21
21
22
module . exports = plugin . withOptions (
22
- ( { modifiers = [ 'default' , ' sm', 'lg' , 'xl' , '2xl' ] } = { } ) => {
23
+ ( { modifiers = [ 'sm' , 'lg' , 'xl' , '2xl' ] } = { } ) => {
23
24
return function ( { addComponents, theme, variants } ) {
24
25
const config = theme ( 'typography' , { } )
25
26
@@ -42,41 +43,38 @@ module.exports = plugin.withOptions(
42
43
[ `@variants ${ variants ( 'typography' ) . join ( ', ' ) } ` ] : [
43
44
{
44
45
'.prose' : merge (
45
- styles . shared ,
46
- ! modifiers . includes ( 'default' )
47
- ? { }
48
- : styles . modifiers . default . css ,
46
+ ...castArray ( styles . default . css ) ,
49
47
configToCss ( config . default || { } )
50
48
) ,
51
49
...( ! modifiers . includes ( 'sm' )
52
50
? { }
53
51
: {
54
52
'.prose-sm' : merge (
55
- styles . modifiers . sm . css ,
53
+ ... castArray ( styles . sm . css ) ,
56
54
configToCss ( config . sm || { } )
57
55
) ,
58
56
} ) ,
59
57
...( ! modifiers . includes ( 'lg' )
60
58
? { }
61
59
: {
62
60
'.prose-lg' : merge (
63
- styles . modifiers . lg . css ,
61
+ ... castArray ( styles . lg . css ) ,
64
62
configToCss ( config . lg || { } )
65
63
) ,
66
64
} ) ,
67
65
...( ! modifiers . includes ( 'xl' )
68
66
? { }
69
67
: {
70
68
'.prose-xl' : merge (
71
- styles . modifiers . xl . css ,
69
+ ... castArray ( styles . xl . css ) ,
72
70
configToCss ( config . xl || { } )
73
71
) ,
74
72
} ) ,
75
73
...( ! modifiers . includes ( '2xl' )
76
74
? { }
77
75
: {
78
76
'.prose-2xl' : merge (
79
- styles . modifiers [ '2xl' ] . css ,
77
+ ... castArray ( styles [ '2xl' ] . css ) ,
80
78
configToCss ( config [ '2xl' ] || { } )
81
79
) ,
82
80
} ) ,
0 commit comments