2019-01-09 21:13:57 -05:00
|
|
|
import _ from 'lodash'
|
|
|
|
|
|
2019-02-28 12:05:36 -05:00
|
|
|
export default function() {
|
2019-04-24 16:37:13 -04:00
|
|
|
return function({ addUtilities, className, theme, variants }) {
|
2019-01-09 21:13:57 -05:00
|
|
|
const generators = [
|
|
|
|
|
(size, modifier) => ({
|
2019-04-24 16:37:13 -04:00
|
|
|
[className('m', modifier)]: { margin: `${size}` },
|
2019-01-09 21:13:57 -05:00
|
|
|
}),
|
|
|
|
|
(size, modifier) => ({
|
2019-04-24 16:37:13 -04:00
|
|
|
[className('my', modifier)]: {
|
2019-04-23 20:04:24 -04:00
|
|
|
'margin-top': `${size}`,
|
|
|
|
|
'margin-bottom': `${size}`,
|
|
|
|
|
},
|
2019-04-24 16:37:13 -04:00
|
|
|
[className('mx', modifier)]: {
|
2019-04-23 20:04:24 -04:00
|
|
|
'margin-left': `${size}`,
|
|
|
|
|
'margin-right': `${size}`,
|
|
|
|
|
},
|
2019-01-09 21:13:57 -05:00
|
|
|
}),
|
|
|
|
|
(size, modifier) => ({
|
2019-04-24 16:37:13 -04:00
|
|
|
[className('mt', modifier)]: { 'margin-top': `${size}` },
|
|
|
|
|
[className('mr', modifier)]: { 'margin-right': `${size}` },
|
|
|
|
|
[className('mb', modifier)]: { 'margin-bottom': `${size}` },
|
|
|
|
|
[className('ml', modifier)]: { 'margin-left': `${size}` },
|
2019-01-09 21:13:57 -05:00
|
|
|
}),
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
const utilities = _.flatMap(generators, generator => {
|
2019-04-18 23:29:07 +02:00
|
|
|
return _.flatMap(theme('margin'), generator)
|
2019-01-09 21:13:57 -05:00
|
|
|
})
|
|
|
|
|
|
2019-04-18 09:42:21 -04:00
|
|
|
addUtilities(utilities, variants('margin'))
|
2019-01-09 21:13:57 -05:00
|
|
|
}
|
|
|
|
|
}
|