From d1d9f00b1bd660842addf5e6b1d1b64c852a9eea Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 5 Nov 2023 17:16:09 +0800 Subject: added hover prefixer --- node_modules/postcss-prefix-hover/index.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 node_modules/postcss-prefix-hover/index.js (limited to 'node_modules/postcss-prefix-hover/index.js') diff --git a/node_modules/postcss-prefix-hover/index.js b/node_modules/postcss-prefix-hover/index.js new file mode 100644 index 00000000..4d28a34b --- /dev/null +++ b/node_modules/postcss-prefix-hover/index.js @@ -0,0 +1,25 @@ +module.exports = (opts) => { + const useCssModulesGlobal = opts && typeof opts.useCssModulesGlobal !== "undefined" ? opts.useCssModulesGlobal : false; + const prefix = opts && typeof opts.prefix !== "undefined" ? opts.prefix : ".using-mouse"; + + function setPrefix (selector) { + const thePrefix = (useCssModulesGlobal ? ":global(" : "") + prefix + (useCssModulesGlobal ? ")" : ""); + return selector + .split(",") + .map((item) => item.indexOf(":hover") > -1 ? item.replace(/^(\s*)/, "$1" + thePrefix + " ") : item) + .join(","); + } + + return { + postcssPlugin: 'postcss-prefix-hover', + Root (root) { + root.walkRules((rule) => { + if (rule.selector.indexOf(":hover") > -1) { + rule.selector = setPrefix(rule.selector); + } + }); + } + } +} + +module.exports.postcss = true; -- cgit v1.2.3