mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
Rename selector to rule, extract plugin processing
This commit is contained in:
parent
73a6b6da85
commit
47518404c0
@ -8,7 +8,7 @@ import escapeClassName from '../util/escapeClassName'
|
||||
import generateModules from '../util/generateModules'
|
||||
import wrapWithVariants from '../util/wrapWithVariants'
|
||||
|
||||
function defineSelector(selector, properties) {
|
||||
function defineRule(selector, properties) {
|
||||
const decls = _.map(properties, (value, property) => {
|
||||
return postcss.decl({
|
||||
prop: `${property}`,
|
||||
@ -19,24 +19,30 @@ function defineSelector(selector, properties) {
|
||||
return postcss.rule({ selector }).append(decls)
|
||||
}
|
||||
|
||||
function processPlugins(config) {
|
||||
const pluginComponents = []
|
||||
const pluginUtilities = []
|
||||
|
||||
config.plugins.forEach(plugin => {
|
||||
plugin({
|
||||
rule: defineRule,
|
||||
addUtilities: (utilities, variants) => {
|
||||
pluginUtilities.push(wrapWithVariants(utilities, variants))
|
||||
},
|
||||
addComponents: components => {
|
||||
pluginComponents.push(...components)
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
return [pluginComponents, pluginUtilities]
|
||||
}
|
||||
|
||||
export default function(config) {
|
||||
return function(css) {
|
||||
const unwrappedConfig = config()
|
||||
|
||||
const pluginComponents = []
|
||||
const pluginUtilities = []
|
||||
|
||||
unwrappedConfig.plugins.forEach(plugin => {
|
||||
plugin({
|
||||
selector: defineSelector,
|
||||
addUtilities: (utilities, variants) => {
|
||||
pluginUtilities.push(wrapWithVariants(utilities, variants))
|
||||
},
|
||||
addComponents: components => {
|
||||
pluginComponents.push(...components)
|
||||
},
|
||||
})
|
||||
})
|
||||
const [pluginComponents, pluginUtilities] = processPlugins(unwrappedConfig)
|
||||
|
||||
css.walkAtRules('tailwind', atRule => {
|
||||
if (atRule.params === 'preflight') {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user