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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
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