Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CSS Grid utilities #1274

Merged
merged 9 commits into from Dec 30, 2019
1,655 changes: 1,655 additions & 0 deletions __tests__/fixtures/tailwind-output-important.css

Large diffs are not rendered by default.

1,655 changes: 1,655 additions & 0 deletions __tests__/fixtures/tailwind-output.css

Large diffs are not rendered by default.

24 changes: 24 additions & 0 deletions src/corePlugins.js
Expand Up @@ -71,6 +71,18 @@ import transformOrigin from './plugins/transformOrigin'
import scale from './plugins/scale'
import rotate from './plugins/rotate'
import translate from './plugins/translate'
import gap from './plugins/gap'
import columnGap from './plugins/columnGap'
import rowGap from './plugins/rowGap'
import gridAutoFlow from './plugins/gridAutoFlow'
import gridTemplateColumns from './plugins/gridTemplateColumns'
import gridColumn from './plugins/gridColumn'
import gridColumnStart from './plugins/gridColumnStart'
import gridColumnEnd from './plugins/gridColumnEnd'
import gridTemplateRows from './plugins/gridTemplateRows'
import gridRow from './plugins/gridRow'
import gridRowStart from './plugins/gridRowStart'
import gridRowEnd from './plugins/gridRowEnd'

import configurePlugins from './util/configurePlugins'

Expand Down Expand Up @@ -144,6 +156,18 @@ export default function({ corePlugins: corePluginConfig }) {
wordBreak,
width,
zIndex,
gap,
columnGap,
rowGap,
gridAutoFlow,
gridTemplateColumns,
gridColumn,
gridColumnStart,
gridColumnEnd,
gridTemplateRows,
gridRow,
gridRowStart,
gridRowEnd,
transform,
transformOrigin,
scale,
Expand Down
5 changes: 5 additions & 0 deletions src/plugins/columnGap.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('columnGap', [['col-gap', ['gridColumnGap', 'columnGap']]])
}
3 changes: 3 additions & 0 deletions src/plugins/display.js
Expand Up @@ -17,6 +17,9 @@ export default function() {
'.inline-flex': {
display: 'inline-flex',
},
'.grid': {
display: 'grid',
},
'.table': {
display: 'table',
},
Expand Down
5 changes: 5 additions & 0 deletions src/plugins/gap.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gap', [['gap', ['gridGap', 'gap']]])
}
13 changes: 13 additions & 0 deletions src/plugins/gridAutoFlow.js
@@ -0,0 +1,13 @@
export default function() {
return function({ addUtilities, variants }) {
addUtilities(
{
'.grid-flow-row': { gridAutoFlow: 'row' },
'.grid-flow-col': { gridAutoFlow: 'column' },
'.grid-flow-row-dense': { gridAutoFlow: 'row dense' },
'.grid-flow-col-dense': { gridAutoFlow: 'column dense' },
},
variants('gridAutoFlow')
)
}
}
5 changes: 5 additions & 0 deletions src/plugins/gridColumn.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gridColumn', [['col', ['gridColumn']]])
}
5 changes: 5 additions & 0 deletions src/plugins/gridColumnEnd.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gridColumnEnd', [['col-end', ['gridColumnEnd']]])
}
5 changes: 5 additions & 0 deletions src/plugins/gridColumnStart.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gridColumnStart', [['col-start', ['gridColumnStart']]])
}
5 changes: 5 additions & 0 deletions src/plugins/gridRow.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gridRow', [['row', ['gridRow']]])
}
5 changes: 5 additions & 0 deletions src/plugins/gridRowEnd.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gridRowEnd', [['row-end', ['gridRowEnd']]])
}
5 changes: 5 additions & 0 deletions src/plugins/gridRowStart.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gridRowStart', [['row-start', ['gridRowStart']]])
}
5 changes: 5 additions & 0 deletions src/plugins/gridTemplateColumns.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gridTemplateColumns', [['grid-cols', ['gridTemplateColumns']]])
}
5 changes: 5 additions & 0 deletions src/plugins/gridTemplateRows.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('gridTemplateRows', [['grid-rows', ['gridTemplateRows']]])
}
5 changes: 5 additions & 0 deletions src/plugins/rowGap.js
@@ -0,0 +1,5 @@
import createUtilityPlugin from '../util/createUtilityPlugin'

export default function() {
return createUtilityPlugin('rowGap', [['row-gap', ['gridRowGap', 'rowGap']]])
}
81 changes: 81 additions & 0 deletions stubs/defaultConfig.stub.js
Expand Up @@ -405,6 +405,75 @@ module.exports = {
'40': '40',
'50': '50',
},
gap: theme => theme('spacing'),
rowGap: {},
columnGap: {},
gridTemplateColumns: {
none: 'none',
'1': 'repeat(1, minmax(0, 1fr))',
'2': 'repeat(2, minmax(0, 1fr))',
'3': 'repeat(3, minmax(0, 1fr))',
'4': 'repeat(4, minmax(0, 1fr))',
'5': 'repeat(5, minmax(0, 1fr))',
'6': 'repeat(6, minmax(0, 1fr))',
'7': 'repeat(7, minmax(0, 1fr))',
'8': 'repeat(8, minmax(0, 1fr))',
'9': 'repeat(9, minmax(0, 1fr))',
'10': 'repeat(10, minmax(0, 1fr))',
'11': 'repeat(11, minmax(0, 1fr))',
'12': 'repeat(12, minmax(0, 1fr))',
},
gridColumn: {
auto: 'auto',
'span-1': 'span 1 / span 1',
'span-2': 'span 2 / span 2',
'span-3': 'span 3 / span 3',
'span-4': 'span 4 / span 4',
'span-5': 'span 5 / span 5',
'span-6': 'span 6 / span 6',
'span-7': 'span 7 / span 7',
'span-8': 'span 8 / span 8',
'span-9': 'span 9 / span 9',
'span-10': 'span 10 / span 10',
'span-11': 'span 11 / span 11',
'span-12': 'span 12 / span 12',
},
gridColumnStart: {
auto: 'auto',
'1': '1',
'2': '2',
'3': '3',
'4': '4',
'5': '5',
'6': '6',
'7': '7',
'8': '8',
'9': '9',
'10': '10',
'11': '11',
'12': '12',
'13': '13',
},
gridColumnEnd: {
auto: 'auto',
'1': '1',
'2': '2',
'3': '3',
'4': '4',
'5': '5',
'6': '6',
'7': '7',
'8': '8',
'9': '9',
'10': '10',
'11': '11',
'12': '12',
'13': '13',
},
gridTemplateRows: {},
gridRow: {},
gridRowStart: {},
gridRowEnd: {},
transformOrigin: {
center: 'center',
top: 'top',
Expand Down Expand Up @@ -513,6 +582,18 @@ module.exports = {
width: ['responsive'],
wordBreak: ['responsive'],
zIndex: ['responsive'],
gap: ['responsive'],
columnGap: ['responsive'],
rowGap: ['responsive'],
gridAutoFlow: ['responsive'],
gridTemplateColumns: ['responsive'],
gridColumn: ['responsive'],
gridColumnStart: ['responsive'],
gridColumnEnd: ['responsive'],
gridTemplateRows: ['responsive'],
gridRow: ['responsive'],
gridRowStart: ['responsive'],
gridRowEnd: ['responsive'],
transform: ['responsive'],
transformOrigin: ['responsive'],
scale: ['responsive', 'hover', 'focus'],
Expand Down