Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/lib/evaluateTailwindFunctions.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
import _ from 'lodash'
import functions from 'postcss-functions'

export default function(config) {
export default function(config, postcssFunctions = []) {
return functions({
functions: {
theme: (path, ...defaultValue) => {
return _.thru(_.get(config.theme, _.trim(path, `'"`), defaultValue), value => {
if (value.hasOwnProperty('default')) {
return value.default
}
return Array.isArray(value) ? value.join(', ') : value
})
},
...postcssFunctions,
},
})
}
4 changes: 2 additions & 2 deletions src/plugins/backgroundColor.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import _ from 'lodash'
import flattenColorPalette from '../util/flattenColorPalette'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(flattenColorPalette(theme('backgroundColor')), (value, modifier) => {
_.map(flattenColorPalette(config('theme.backgroundColor')), (value, modifier) => {
return [
`.${e(`bg-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/backgroundPosition.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('backgroundPosition'), (value, modifier) => {
_.map(config('theme.backgroundPosition'), (value, modifier) => {
return [
`.${e(`bg-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/backgroundSize.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('backgroundSize'), (value, modifier) => {
_.map(config('theme.backgroundSize'), (value, modifier) => {
return [
`.${e(`bg-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/borderColor.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import _ from 'lodash'
import flattenColorPalette from '../util/flattenColorPalette'

export default function() {
return function({ addUtilities, e, theme, variants }) {
const colors = flattenColorPalette(theme('borderColor'))
return function({ addUtilities, e, config, variants }) {
const colors = flattenColorPalette(config('theme.borderColor'))

const utilities = _.fromPairs(
_.map(_.omit(colors, 'default'), (value, modifier) => {
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/borderRadius.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const generators = [
(value, modifier) => ({
[`.${e(`rounded${modifier}`)}`]: { borderRadius: `${value}` },
Expand Down Expand Up @@ -33,7 +33,7 @@ export default function() {
]

const utilities = _.flatMap(generators, generator => {
return _.flatMap(theme('borderRadius'), (value, modifier) => {
return _.flatMap(config('theme.borderRadius'), (value, modifier) => {
return generator(value, modifier === 'default' ? '' : `-${modifier}`)
})
})
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/borderWidth.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const generators = [
(value, modifier) => ({
[`.${e(`border${modifier}`)}`]: { borderWidth: `${value}` },
Expand All @@ -15,7 +15,7 @@ export default function() {
]

const utilities = _.flatMap(generators, generator => {
return _.flatMap(theme('borderWidth'), (value, modifier) => {
return _.flatMap(config('theme.borderWidth'), (value, modifier) => {
return generator(value, modifier === 'default' ? '' : `-${modifier}`)
})
})
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/boxShadow.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import _ from 'lodash'
import prefixNegativeModifiers from '../util/prefixNegativeModifiers'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('boxShadow'), (value, modifier) => {
_.map(config('theme.boxShadow'), (value, modifier) => {
const className =
modifier === 'default' ? 'shadow' : `${e(prefixNegativeModifiers('shadow', modifier))}`
return [
Expand Down
14 changes: 8 additions & 6 deletions src/plugins/container.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ function extractMinWidths(breakpoints) {
}

module.exports = function() {
return function({ addComponents, theme }) {
const minWidths = extractMinWidths(theme('container.screens', theme('screens')))
return function({ addComponents, config }) {
const minWidths = extractMinWidths(config('theme.container.screens', config('theme.screens')))

const atRules = _(minWidths)
.sortBy(minWidth => parseInt(minWidth))
Expand All @@ -44,11 +44,13 @@ module.exports = function() {
{
'.container': Object.assign(
{ width: '100%' },
theme('container.center', false) ? { marginRight: 'auto', marginLeft: 'auto' } : {},
_.has(theme('container', {}), 'padding')
config('theme.container.center', false)
? { marginRight: 'auto', marginLeft: 'auto' }
: {},
_.has(config('theme.container', {}), 'padding')
? {
paddingRight: theme('container.padding'),
paddingLeft: theme('container.padding'),
paddingRight: config('theme.container.padding'),
paddingLeft: config('theme.container.padding'),
}
: {}
),
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/cursor.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('cursor'), (value, modifier) => {
_.map(config('theme.cursor'), (value, modifier) => {
return [
`.${e(`cursor-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/fill.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import _ from 'lodash'
import flattenColorPalette from '../util/flattenColorPalette'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(flattenColorPalette(theme('fill')), (value, modifier) => {
_.map(flattenColorPalette(config('theme.fill')), (value, modifier) => {
return [
`.${e(`fill-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/flex.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('flex'), (value, modifier) => {
_.map(config('theme.flex'), (value, modifier) => {
return [
`.${e(`flex-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/flexGrow.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
addUtilities(
_.fromPairs(
_.map(theme('flexGrow'), (value, modifier) => {
_.map(config('theme.flexGrow'), (value, modifier) => {
const className = modifier === 'default' ? 'flex-grow' : `flex-grow-${modifier}`
return [
`.${e(className)}`,
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/flexShrink.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
addUtilities(
_.fromPairs(
_.map(theme('flexShrink'), (value, modifier) => {
_.map(config('theme.flexShrink'), (value, modifier) => {
const className = modifier === 'default' ? 'flex-shrink' : `flex-shrink-${modifier}`
return [
`.${e(className)}`,
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/fontFamily.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('fontFamily'), (value, modifier) => {
_.map(config('theme.fontFamily'), (value, modifier) => {
return [
`.${e(`font-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/fontSize.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('fontSize'), (value, modifier) => {
_.map(config('theme.fontSize'), (value, modifier) => {
return [
`.${e(`text-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/fontWeight.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('fontWeight'), (value, modifier) => {
_.map(config('theme.fontWeight'), (value, modifier) => {
return [
`.${e(`font-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/height.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('height'), (value, modifier) => {
_.map(config('theme.height'), (value, modifier) => {
return [
`.${e(`h-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/inset.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import _ from 'lodash'
import prefixNegativeModifiers from '../util/prefixNegativeModifiers'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const generators = [
(size, modifier) => ({
[`.${e(prefixNegativeModifiers('inset', modifier))}`]: {
Expand Down Expand Up @@ -31,7 +31,7 @@ export default function() {
]

const utilities = _.flatMap(generators, generator => {
return _.flatMap(theme('inset'), generator)
return _.flatMap(config('theme.inset'), generator)
})

addUtilities(utilities, variants('inset'))
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/letterSpacing.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import _ from 'lodash'
import prefixNegativeModifiers from '../util/prefixNegativeModifiers'

export default function() {
return function({ addUtilities, theme, variants, e }) {
return function({ addUtilities, config, variants, e }) {
const utilities = _.fromPairs(
_.map(theme('letterSpacing'), (value, modifier) => {
_.map(config('theme.letterSpacing'), (value, modifier) => {
return [
`.${e(prefixNegativeModifiers('tracking', modifier))}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/lineHeight.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('lineHeight'), (value, modifier) => {
_.map(config('theme.lineHeight'), (value, modifier) => {
return [
`.${e(`leading-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/listStyleType.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('listStyleType'), (value, modifier) => {
_.map(config('theme.listStyleType'), (value, modifier) => {
return [
`.${e(`list-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/margin.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import _ from 'lodash'
import prefixNegativeModifiers from '../util/prefixNegativeModifiers'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const generators = [
(size, modifier) => ({
[`.${e(prefixNegativeModifiers('m', modifier))}`]: { margin: `${size}` },
Expand All @@ -26,7 +26,7 @@ export default function() {
]

const utilities = _.flatMap(generators, generator => {
return _.flatMap(theme('margin'), generator)
return _.flatMap(config('theme.margin'), generator)
})

addUtilities(utilities, variants('margin'))
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/maxHeight.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('maxHeight'), (value, modifier) => {
_.map(config('theme.maxHeight'), (value, modifier) => {
return [
`.${e(`max-h-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/maxWidth.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('maxWidth'), (value, modifier) => {
_.map(config('theme.maxWidth'), (value, modifier) => {
return [
`.${e(`max-w-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/minHeight.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('minHeight'), (value, modifier) => {
_.map(config('theme.minHeight'), (value, modifier) => {
return [
`.${e(`min-h-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/minWidth.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('minWidth'), (value, modifier) => {
_.map(config('theme.minWidth'), (value, modifier) => {
return [
`.${e(`min-w-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/objectPosition.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('objectPosition'), (value, modifier) => {
_.map(config('theme.objectPosition'), (value, modifier) => {
return [
`.${e(`object-${modifier}`)}`,
{
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/opacity.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import _ from 'lodash'

export default function() {
return function({ addUtilities, e, theme, variants }) {
return function({ addUtilities, e, config, variants }) {
const utilities = _.fromPairs(
_.map(theme('opacity'), (value, modifier) => {
_.map(config('theme.opacity'), (value, modifier) => {
return [
`.${e(`opacity-${modifier}`)}`,
{
Expand Down
Loading