From 486772a82d0c4c2052e609a0a53db990b2c04ed5 Mon Sep 17 00:00:00 2001 From: Enzo Innocenzi Date: Tue, 18 Aug 2020 22:35:29 +0200 Subject: [PATCH] fix(gradientColorStops): correctly handle color closures --- src/plugins/gradientColorStops.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/plugins/gradientColorStops.js b/src/plugins/gradientColorStops.js index 01d3c9341..4340f13cb 100644 --- a/src/plugins/gradientColorStops.js +++ b/src/plugins/gradientColorStops.js @@ -12,6 +12,16 @@ export default function() { const utilities = _(colors) .map((value, modifier) => { + const getColorValue = (color, type) => { + if (_.isFunction(color)) { + return value({ + opacityVariable: `--gradient-${type}-opacity`, + }) + } + + return color + } + const transparentTo = (() => { try { const [r, g, b] = toRgba(value) @@ -25,21 +35,21 @@ export default function() { [ `.${e(`from-${modifier}`)}`, { - '--gradient-from-color': value, + '--gradient-from-color': getColorValue(value, 'from'), '--gradient-color-stops': `var(--gradient-from-color), var(--gradient-to-color, ${transparentTo})`, }, ], [ `.${e(`via-${modifier}`)}`, { - '--gradient-via-color': value, + '--gradient-via-color': getColorValue(value, 'via'), '--gradient-color-stops': `var(--gradient-from-color), var(--gradient-via-color), var(--gradient-to-color, ${transparentTo})`, }, ], [ `.${e(`to-${modifier}`)}`, { - '--gradient-to-color': value, + '--gradient-to-color': getColorValue(value, 'to'), }, ], ]