UNPKG

weapp-tailwindcss

Version:

把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!

63 lines (62 loc) 2.53 kB
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;