From b1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c Mon Sep 17 00:00:00 2001 From: Philipp Tanlak Date: Mon, 24 Nov 2025 20:54:57 +0100 Subject: Docs --- .../tailwindcss/src/util/createUtilityPlugin.js | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 node_modules/tailwindcss/src/util/createUtilityPlugin.js (limited to 'node_modules/tailwindcss/src/util/createUtilityPlugin.js') diff --git a/node_modules/tailwindcss/src/util/createUtilityPlugin.js b/node_modules/tailwindcss/src/util/createUtilityPlugin.js new file mode 100644 index 0000000..32c2c8a --- /dev/null +++ b/node_modules/tailwindcss/src/util/createUtilityPlugin.js @@ -0,0 +1,37 @@ +import transformThemeValue from './transformThemeValue' + +export default function createUtilityPlugin( + themeKey, + utilityVariations = [[themeKey, [themeKey]]], + { filterDefault = false, ...options } = {} +) { + let transformValue = transformThemeValue(themeKey) + return function ({ matchUtilities, theme }) { + for (let utilityVariation of utilityVariations) { + let group = Array.isArray(utilityVariation[0]) ? utilityVariation : [utilityVariation] + + matchUtilities( + group.reduce((obj, [classPrefix, properties]) => { + return Object.assign(obj, { + [classPrefix]: (value) => { + return properties.reduce((obj, name) => { + if (Array.isArray(name)) { + return Object.assign(obj, { [name[0]]: name[1] }) + } + return Object.assign(obj, { [name]: transformValue(value) }) + }, {}) + }, + }) + }, {}), + { + ...options, + values: filterDefault + ? Object.fromEntries( + Object.entries(theme(themeKey) ?? {}).filter(([modifier]) => modifier !== 'DEFAULT') + ) + : theme(themeKey), + } + ) + } + } +} -- cgit v1.2.3