diff options
Diffstat (limited to 'node_modules/tailwindcss/src/util/applyImportantSelector.js')
| -rw-r--r-- | node_modules/tailwindcss/src/util/applyImportantSelector.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/tailwindcss/src/util/applyImportantSelector.js b/node_modules/tailwindcss/src/util/applyImportantSelector.js new file mode 100644 index 0000000..ff9ec4f --- /dev/null +++ b/node_modules/tailwindcss/src/util/applyImportantSelector.js @@ -0,0 +1,27 @@ +import parser from 'postcss-selector-parser' +import { movePseudos } from './pseudoElements' + +export function applyImportantSelector(selector, important) { + let sel = parser().astSync(selector) + + sel.each((sel) => { + // Wrap with :is if it's not already wrapped + let isWrapped = + sel.nodes[0].type === 'pseudo' && + sel.nodes[0].value === ':is' && + sel.nodes.every((node) => node.type !== 'combinator') + + if (!isWrapped) { + sel.nodes = [ + parser.pseudo({ + value: ':is', + nodes: [sel.clone()], + }), + ] + } + + movePseudos(sel) + }) + + return `${important} ${sel.toString()}` +} |