diff options
Diffstat (limited to 'node_modules/tailwindcss/lib/util/prefixSelector.js')
| -rw-r--r-- | node_modules/tailwindcss/lib/util/prefixSelector.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/node_modules/tailwindcss/lib/util/prefixSelector.js b/node_modules/tailwindcss/lib/util/prefixSelector.js new file mode 100644 index 0000000..ee2ce98 --- /dev/null +++ b/node_modules/tailwindcss/lib/util/prefixSelector.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, /** + * @template {string | import('postcss-selector-parser').Root} T + * + * Prefix all classes in the selector with the given prefix + * + * It can take either a string or a selector AST and will return the same type + * + * @param {string} prefix + * @param {T} selector + * @param {boolean} prependNegative + * @returns {T} + */ "default", { + enumerable: true, + get: function() { + return _default; + } +}); +const _postcssselectorparser = /*#__PURE__*/ _interop_require_default(require("postcss-selector-parser")); +function _interop_require_default(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +function _default(prefix, selector, prependNegative = false) { + if (prefix === "") { + return selector; + } + /** @type {import('postcss-selector-parser').Root} */ let ast = typeof selector === "string" ? (0, _postcssselectorparser.default)().astSync(selector) : selector; + ast.walkClasses((classSelector)=>{ + let baseClass = classSelector.value; + let shouldPlaceNegativeBeforePrefix = prependNegative && baseClass.startsWith("-"); + classSelector.value = shouldPlaceNegativeBeforePrefix ? `-${prefix}${baseClass.slice(1)}` : `${prefix}${baseClass}`; + }); + return typeof selector === "string" ? ast.toString() : ast; +} |