|
1 |
| -module.exports = function (variants) { |
2 |
| - return function ({ addUtilities }) { |
3 |
| - addUtilities( |
4 |
| - { |
5 |
| - // Background |
6 |
| - // Background Image |
| 1 | +var _ = require('lodash') |
| 2 | +var flatten = require('flat') |
7 | 3 |
|
8 |
| - // Background Clip |
9 |
| - '.bg-clip-border': { backgroundClip: 'border-box' }, |
10 |
| - '.bg-clip-padding': { backgroundClip: 'padding-box' }, |
11 |
| - '.bg-clip-content': { backgroundClip: 'content-box' }, |
12 |
| - '.bg-clip-text': { backgroundClip: 'text' }, |
| 4 | +module.exports = function () { |
| 5 | + return function ({ |
| 6 | + addUtilities, addComponents, addBase, addVariant, |
| 7 | + e, prefix, theme, variants, config, |
| 8 | + }) { |
| 9 | + const pluginUtilities = { |
| 10 | + // '.bg': {}, |
| 11 | + // '.bg-image': {}, |
13 | 12 |
|
14 |
| - // Background Origin |
15 |
| - '.bg-origin-border': { backgroundOrigin: 'border-box' }, |
16 |
| - '.bg-origin-padding': { backgroundOrigin: 'padding-box' }, |
17 |
| - '.bg-origin-content': { backgroundOrigin: 'content-box' }, |
18 |
| - }, |
19 |
| - variants |
20 |
| - ) |
| 13 | + clip: { |
| 14 | + border: { backgroundClip: 'border-box' }, |
| 15 | + padding: { backgroundClip: 'padding-box' }, |
| 16 | + content: { backgroundClip: 'content-box' }, |
| 17 | + text: { backgroundClip: 'text' }, |
| 18 | + }, |
| 19 | + origin: { |
| 20 | + border: { backgroundOrigin: 'border-box' }, |
| 21 | + padding: { backgroundOrigin: 'padding-box' }, |
| 22 | + content: { backgroundOrigin: 'content-box' }, |
| 23 | + }, |
| 24 | + } |
| 25 | + |
| 26 | + Object.entries(pluginUtilities).forEach(([ modifier, values ]) => { |
| 27 | + const variantName = _.camelCase(`background-${modifier}`) |
| 28 | + const utilities = flatten( |
| 29 | + { [`.${e(`bg-${modifier}`)}`]: values }, |
| 30 | + { delimiter: '-', maxDepth: 2 }, |
| 31 | + ) |
| 32 | + |
| 33 | + addUtilities(utilities, variants(variantName, ['responsive'])) |
| 34 | + }) |
21 | 35 | }
|
22 | 36 | }
|
0 commit comments