weapp-tailwindcss
Version:
把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!
63 lines (62 loc) • 2.53 kB
JavaScript
const require_rolldown_runtime = require("./rolldown-runtime-CVvi-lCc.cjs");
const require_auto = require("./auto-DtU6f3X6.cjs");
require("./utils-CuKLf1Zv.cjs");
let tailwindcss_plugin = require("tailwindcss/plugin");
tailwindcss_plugin = require_rolldown_runtime.__toESM(tailwindcss_plugin, 1);
let _weapp_tailwindcss_shared = require("@weapp-tailwindcss/shared");
//#region src/css-macro/constants.ts
const queryKey = "weapp-tw-platform";
const ifdefAtRule = "weapp-tw-ifdef";
const ifndefAtRule = "weapp-tw-ifndef";
function quoteAtRuleParam(value) {
return `"${value.replaceAll("\\", "\\\\").replaceAll("\"", "\\\"")}"`;
}
function createConditionalAtRule(value) {
return `@${ifdefAtRule} ${quoteAtRuleParam(value)}{&}`;
}
function createNegativeConditionalAtRule(value) {
return `@${ifndefAtRule} ${quoteAtRuleParam(value)}{&}`;
}
new RegExp(`\\(\\s*${queryKey}\\s*:\\s*"([^)]*)"\\)`, "g");
//#endregion
//#region src/css-macro/index.ts
const defaultOptions = {
dynamic: true,
variantsMap: {}
};
const cssMacroFactory = tailwindcss_plugin.default.withOptions((options) => {
const { dynamic, variantsMap } = (0, _weapp_tailwindcss_shared.defu)(options ?? {}, defaultOptions);
const staticVariants = Object.entries(variantsMap).map(([name, config]) => {
if (typeof config === "string") return {
name,
negative: false,
value: config
};
return {
name,
negative: Boolean(config.negative),
value: config.value
};
});
return (api) => {
const { matchVariant, addVariant } = api;
if (dynamic && typeof matchVariant === "function") {
matchVariant("ifdef", (value) => createConditionalAtRule(value));
matchVariant("ifndef", (value) => createNegativeConditionalAtRule(value));
}
if (typeof addVariant === "function") for (const variant of staticVariants) {
const query = variant.negative ? createNegativeConditionalAtRule(variant.value) : createConditionalAtRule(variant.value);
addVariant(variant.name, query);
}
};
});
const cssMacro = require_auto.markCssMacroPlugin(((options) => {
return require_auto.markCssMacroPlugin(cssMacroFactory(options));
}));
const cssMacroOptionsFunction = cssMacro;
const cssMacroFactoryOptionsFunction = cssMacroFactory;
cssMacroOptionsFunction.__isOptionsFunction = cssMacroFactoryOptionsFunction.__isOptionsFunction;
cssMacroOptionsFunction.__pluginFunction = cssMacroFactoryOptionsFunction.__pluginFunction;
cssMacroOptionsFunction.__configFunction = cssMacroFactoryOptionsFunction.__configFunction;
//#endregion
module.exports = cssMacro;