From 07193bb31079e4ae170fb628f97e7e3542016c5f Mon Sep 17 00:00:00 2001 From: Adam Wathan Date: Wed, 9 Jan 2019 21:17:49 -0500 Subject: [PATCH] Port fontWeights module to plugin --- src/defaultPlugins.js | 2 ++ src/generators/fontWeights.js | 10 ---------- src/plugins/fontWeights.js | 13 +++++++++++++ src/utilityModules.js | 2 -- 4 files changed, 15 insertions(+), 12 deletions(-) delete mode 100644 src/generators/fontWeights.js create mode 100644 src/plugins/fontWeights.js diff --git a/src/defaultPlugins.js b/src/defaultPlugins.js index 9a50335ab..60800ee2d 100644 --- a/src/defaultPlugins.js +++ b/src/defaultPlugins.js @@ -1,3 +1,4 @@ +import fontWeights from './plugins/fontWeights' import height from './plugins/height' import leading from './plugins/leading' import margin from './plugins/margin' @@ -33,6 +34,7 @@ import zIndex from './plugins/zIndex' export default function (config) { return [ + config.modules.fontWeights === false ? () => {} : fontWeights(), config.modules.height === false ? () => {} : height(), config.modules.leading === false ? () => {} : leading(), config.modules.margin === false ? () => {} : margin(), diff --git a/src/generators/fontWeights.js b/src/generators/fontWeights.js deleted file mode 100644 index d959b8161..000000000 --- a/src/generators/fontWeights.js +++ /dev/null @@ -1,10 +0,0 @@ -import _ from 'lodash' -import defineClass from '../util/defineClass' - -export default function({ fontWeights }) { - return _.map(fontWeights, (weight, modifier) => { - return defineClass(`font-${modifier}`, { - 'font-weight': `${weight}`, - }) - }) -} diff --git a/src/plugins/fontWeights.js b/src/plugins/fontWeights.js new file mode 100644 index 000000000..6d669e973 --- /dev/null +++ b/src/plugins/fontWeights.js @@ -0,0 +1,13 @@ +import _ from 'lodash' + +export default function () { + return function ({ addUtilities, config, e }) { + const utilities = _.fromPairs(_.map(config('fontWeights'), (value, modifier) => { + return [`.${e(`font-${modifier}`)}`, { + 'font-weight': value, + }] + })) + + addUtilities(utilities, config('modules.fontWeights')) + } +} diff --git a/src/utilityModules.js b/src/utilityModules.js index fb98007bb..430572cbd 100644 --- a/src/utilityModules.js +++ b/src/utilityModules.js @@ -15,7 +15,6 @@ import display from './generators/display' import flexbox from './generators/flexbox' import float from './generators/float' import fonts from './generators/fonts' -import fontWeights from './generators/fontWeights' export default [ { name: 'lists', generator: lists }, @@ -35,5 +34,4 @@ export default [ { name: 'flexbox', generator: flexbox }, { name: 'float', generator: float }, { name: 'fonts', generator: fonts }, - { name: 'fontWeights', generator: fontWeights }, ]