diff options
| author | Philipp Tanlak <philipp.tanlak@gmail.com> | 2025-11-24 20:54:57 +0100 |
|---|---|---|
| committer | Philipp Tanlak <philipp.tanlak@gmail.com> | 2025-11-24 20:57:48 +0100 |
| commit | b1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch) | |
| tree | 49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/tailwindcss/src/util/createUtilityPlugin.js | |
Docs
Diffstat (limited to 'node_modules/tailwindcss/src/util/createUtilityPlugin.js')
| -rw-r--r-- | node_modules/tailwindcss/src/util/createUtilityPlugin.js | 37 |
1 files changed, 37 insertions, 0 deletions
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), + } + ) + } + } +} |