Skip to content

Commit 6378808

Browse files
committed
Merge branch 'master' into skew
2 parents 12cd6e6 + 5ee1eb4 commit 6378808

21 files changed

+3714
-25
lines changed

__tests__/fixtures/tailwind-output-important.css

Lines changed: 1725 additions & 10 deletions
Large diffs are not rendered by default.

__tests__/fixtures/tailwind-output.css

Lines changed: 1725 additions & 10 deletions
Large diffs are not rendered by default.

__tests__/plugins/strokeWidth.test.js

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import _ from 'lodash'
2+
import escapeClassName from '../../src/util/escapeClassName'
3+
import plugin from '../../src/plugins/strokeWidth'
4+
5+
test('the width of the stroke to be applied to the shape', () => {
6+
const addedUtilities = []
7+
8+
const config = {
9+
theme: {
10+
strokeWidth: {
11+
'0': '0',
12+
'1': '1px',
13+
'2': '2px',
14+
'3': '3px',
15+
'4': '4px',
16+
},
17+
},
18+
variants: {
19+
strokeWidth: ['responsive'],
20+
},
21+
}
22+
23+
const getConfigValue = (path, defaultValue) => _.get(config, path, defaultValue)
24+
const pluginApi = {
25+
config: getConfigValue,
26+
e: escapeClassName,
27+
theme: (path, defaultValue) => getConfigValue(`theme.${path}`, defaultValue),
28+
variants: (path, defaultValue) => {
29+
if (_.isArray(config.variants)) {
30+
return config.variants
31+
}
32+
33+
return getConfigValue(`variants.${path}`, defaultValue)
34+
},
35+
addUtilities(utilities, variants) {
36+
addedUtilities.push({
37+
utilities,
38+
variants,
39+
})
40+
},
41+
}
42+
43+
plugin()(pluginApi)
44+
45+
expect(addedUtilities).toEqual([
46+
{
47+
utilities: {
48+
'.stroke-w-0': { 'stroke-width': '0' },
49+
'.stroke-w-1': { 'stroke-width': '1px' },
50+
'.stroke-w-2': { 'stroke-width': '2px' },
51+
'.stroke-w-3': { 'stroke-width': '3px' },
52+
'.stroke-w-4': { 'stroke-width': '4px' },
53+
},
54+
variants: ['responsive'],
55+
},
56+
])
57+
})

src/corePlugins.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ import resize from './plugins/resize'
5252
import boxShadow from './plugins/boxShadow'
5353
import fill from './plugins/fill'
5454
import stroke from './plugins/stroke'
55+
import strokeWidth from './plugins/strokeWidth'
5556
import tableLayout from './plugins/tableLayout'
5657
import textAlign from './plugins/textAlign'
5758
import textColor from './plugins/textColor'
@@ -74,6 +75,18 @@ import scale from './plugins/scale'
7475
import rotate from './plugins/rotate'
7576
import translate from './plugins/translate'
7677
import skew from './plugins/skew'
78+
import gap from './plugins/gap'
79+
import columnGap from './plugins/columnGap'
80+
import rowGap from './plugins/rowGap'
81+
import gridAutoFlow from './plugins/gridAutoFlow'
82+
import gridTemplateColumns from './plugins/gridTemplateColumns'
83+
import gridColumn from './plugins/gridColumn'
84+
import gridColumnStart from './plugins/gridColumnStart'
85+
import gridColumnEnd from './plugins/gridColumnEnd'
86+
import gridTemplateRows from './plugins/gridTemplateRows'
87+
import gridRow from './plugins/gridRow'
88+
import gridRowStart from './plugins/gridRowStart'
89+
import gridRowEnd from './plugins/gridRowEnd'
7790

7891
import configurePlugins from './util/configurePlugins'
7992

@@ -133,6 +146,7 @@ export default function({ corePlugins: corePluginConfig }) {
133146
boxShadow,
134147
fill,
135148
stroke,
149+
strokeWidth,
136150
tableLayout,
137151
textAlign,
138152
textColor,
@@ -149,6 +163,18 @@ export default function({ corePlugins: corePluginConfig }) {
149163
wordBreak,
150164
width,
151165
zIndex,
166+
gap,
167+
columnGap,
168+
rowGap,
169+
gridAutoFlow,
170+
gridTemplateColumns,
171+
gridColumn,
172+
gridColumnStart,
173+
gridColumnEnd,
174+
gridTemplateRows,
175+
gridRow,
176+
gridRowStart,
177+
gridRowEnd,
152178
transform,
153179
transformOrigin,
154180
scale,

src/plugins/boxSizing.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ export default function() {
22
return function({ addUtilities, variants }) {
33
addUtilities(
44
{
5-
'.box-border': { 'box-sizing': 'border' },
6-
'.box-content': { 'box-sizing': 'content' },
5+
'.box-border': { 'box-sizing': 'border-box' },
6+
'.box-content': { 'box-sizing': 'content-box' },
77
},
88
variants('boxSizing')
99
)

src/plugins/columnGap.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('columnGap', [['col-gap', ['gridColumnGap', 'columnGap']]])
5+
}

src/plugins/display.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ export default function() {
1717
'.inline-flex': {
1818
display: 'inline-flex',
1919
},
20+
'.grid': {
21+
display: 'grid',
22+
},
2023
'.table': {
2124
display: 'table',
2225
},

src/plugins/gap.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gap', [['gap', ['gridGap', 'gap']]])
5+
}

src/plugins/gridAutoFlow.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
export default function() {
2+
return function({ addUtilities, variants }) {
3+
addUtilities(
4+
{
5+
'.grid-flow-row': { gridAutoFlow: 'row' },
6+
'.grid-flow-col': { gridAutoFlow: 'column' },
7+
'.grid-flow-row-dense': { gridAutoFlow: 'row dense' },
8+
'.grid-flow-col-dense': { gridAutoFlow: 'column dense' },
9+
},
10+
variants('gridAutoFlow')
11+
)
12+
}
13+
}

src/plugins/gridColumn.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gridColumn', [['col', ['gridColumn']]])
5+
}

src/plugins/gridColumnEnd.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gridColumnEnd', [['col-end', ['gridColumnEnd']]])
5+
}

src/plugins/gridColumnStart.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gridColumnStart', [['col-start', ['gridColumnStart']]])
5+
}

src/plugins/gridRow.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gridRow', [['row', ['gridRow']]])
5+
}

src/plugins/gridRowEnd.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gridRowEnd', [['row-end', ['gridRowEnd']]])
5+
}

src/plugins/gridRowStart.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gridRowStart', [['row-start', ['gridRowStart']]])
5+
}

src/plugins/gridTemplateColumns.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gridTemplateColumns', [['grid-cols', ['gridTemplateColumns']]])
5+
}

src/plugins/gridTemplateRows.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('gridTemplateRows', [['grid-rows', ['gridTemplateRows']]])
5+
}

src/plugins/rowGap.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function() {
4+
return createUtilityPlugin('rowGap', [['row-gap', ['gridRowGap', 'rowGap']]])
5+
}

src/plugins/strokeWidth.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import _ from 'lodash'
2+
3+
export default function() {
4+
return function({ addUtilities, e, theme, variants }) {
5+
const utilities = _.fromPairs(
6+
_.map(theme('strokeWidth'), (value, modifier) => {
7+
return [
8+
`.${e(`stroke-${modifier}`)}`,
9+
{
10+
strokeWidth: value,
11+
},
12+
]
13+
})
14+
)
15+
16+
addUtilities(utilities, variants('strokeWidth'))
17+
}
18+
}

stubs/defaultConfig.stub.js

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,11 @@ module.exports = {
368368
stroke: {
369369
current: 'currentColor',
370370
},
371+
strokeWidth: {
372+
'0': '0',
373+
'1': '1',
374+
'2': '2',
375+
},
371376
textColor: theme => theme('colors'),
372377
width: theme => ({
373378
auto: 'auto',
@@ -410,6 +415,75 @@ module.exports = {
410415
'40': '40',
411416
'50': '50',
412417
},
418+
gap: theme => theme('spacing'),
419+
rowGap: {},
420+
columnGap: {},
421+
gridTemplateColumns: {
422+
none: 'none',
423+
'1': 'repeat(1, minmax(0, 1fr))',
424+
'2': 'repeat(2, minmax(0, 1fr))',
425+
'3': 'repeat(3, minmax(0, 1fr))',
426+
'4': 'repeat(4, minmax(0, 1fr))',
427+
'5': 'repeat(5, minmax(0, 1fr))',
428+
'6': 'repeat(6, minmax(0, 1fr))',
429+
'7': 'repeat(7, minmax(0, 1fr))',
430+
'8': 'repeat(8, minmax(0, 1fr))',
431+
'9': 'repeat(9, minmax(0, 1fr))',
432+
'10': 'repeat(10, minmax(0, 1fr))',
433+
'11': 'repeat(11, minmax(0, 1fr))',
434+
'12': 'repeat(12, minmax(0, 1fr))',
435+
},
436+
gridColumn: {
437+
auto: 'auto',
438+
'span-1': 'span 1 / span 1',
439+
'span-2': 'span 2 / span 2',
440+
'span-3': 'span 3 / span 3',
441+
'span-4': 'span 4 / span 4',
442+
'span-5': 'span 5 / span 5',
443+
'span-6': 'span 6 / span 6',
444+
'span-7': 'span 7 / span 7',
445+
'span-8': 'span 8 / span 8',
446+
'span-9': 'span 9 / span 9',
447+
'span-10': 'span 10 / span 10',
448+
'span-11': 'span 11 / span 11',
449+
'span-12': 'span 12 / span 12',
450+
},
451+
gridColumnStart: {
452+
auto: 'auto',
453+
'1': '1',
454+
'2': '2',
455+
'3': '3',
456+
'4': '4',
457+
'5': '5',
458+
'6': '6',
459+
'7': '7',
460+
'8': '8',
461+
'9': '9',
462+
'10': '10',
463+
'11': '11',
464+
'12': '12',
465+
'13': '13',
466+
},
467+
gridColumnEnd: {
468+
auto: 'auto',
469+
'1': '1',
470+
'2': '2',
471+
'3': '3',
472+
'4': '4',
473+
'5': '5',
474+
'6': '6',
475+
'7': '7',
476+
'8': '8',
477+
'9': '9',
478+
'10': '10',
479+
'11': '11',
480+
'12': '12',
481+
'13': '13',
482+
},
483+
gridTemplateRows: {},
484+
gridRow: {},
485+
gridRowStart: {},
486+
gridRowEnd: {},
413487
transformOrigin: {
414488
center: 'center',
415489
top: 'top',
@@ -509,6 +583,7 @@ module.exports = {
509583
position: ['responsive'],
510584
resize: ['responsive'],
511585
stroke: ['responsive'],
586+
strokeWidth: ['responsive'],
512587
tableLayout: ['responsive'],
513588
textAlign: ['responsive'],
514589
textColor: ['responsive', 'hover', 'focus'],
@@ -521,6 +596,18 @@ module.exports = {
521596
width: ['responsive'],
522597
wordBreak: ['responsive'],
523598
zIndex: ['responsive'],
599+
gap: ['responsive'],
600+
columnGap: ['responsive'],
601+
rowGap: ['responsive'],
602+
gridAutoFlow: ['responsive'],
603+
gridTemplateColumns: ['responsive'],
604+
gridColumn: ['responsive'],
605+
gridColumnStart: ['responsive'],
606+
gridColumnEnd: ['responsive'],
607+
gridTemplateRows: ['responsive'],
608+
gridRow: ['responsive'],
609+
gridRowStart: ['responsive'],
610+
gridRowEnd: ['responsive'],
524611
transform: ['responsive'],
525612
transformOrigin: ['responsive'],
526613
scale: ['responsive', 'hover', 'focus'],

yarn.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1822,9 +1822,9 @@ eslint-config-postcss@^2.0.2:
18221822
integrity sha1-yuHGCTzteFCJSluF++HR4jK3Kvs=
18231823

18241824
eslint-config-prettier@^6.0.0:
1825-
version "6.8.0"
1826-
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.8.0.tgz#36bd7559dcef9f97d7596779b38e6a879abb89d3"
1827-
integrity sha512-aq4M7mjjVregZ2l45O9qz6Mv6f5zVMl/IqfmUL8hNOoDAzVKYMhYPJytbqE/lPIVO1iMDXIFqjiEE59BfJZpZw==
1825+
version "6.9.0"
1826+
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.9.0.tgz#430d24822e82f7deb1e22a435bfa3999fae4ad64"
1827+
integrity sha512-k4E14HBtcLv0uqThaI6I/n1LEqROp8XaPu6SO9Z32u5NlGRC07Enu1Bh2KEFw4FNHbekH8yzbIU9kUGxbiGmCA==
18281828
dependencies:
18291829
get-stdin "^6.0.0"
18301830

0 commit comments

Comments
 (0)