Skip to content

Commit 3797220

Browse files
committed
Extract padding/margin values to spacing
1 parent 4763840 commit 3797220

2 files changed

Lines changed: 38 additions & 62 deletions

File tree

__tests__/applyAtRule.test.js

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import postcss from 'postcss'
22
import substituteClassApplyAtRules from '../src/lib/substituteClassApplyAtRules'
33
import processPlugins from '../src/util/processPlugins'
4+
import resolveConfig from '../src/util/resolveConfig'
45
import corePlugins from '../src/corePlugins'
56
import defaultConfig from '../defaultConfig.stub.js'
67

7-
const { utilities: defaultUtilities } = processPlugins(corePlugins(defaultConfig), defaultConfig)
8+
const { utilities: defaultUtilities } = processPlugins(
9+
corePlugins(resolveConfig([defaultConfig])),
10+
defaultConfig
11+
)
812

913
function run(input, config = defaultConfig, utilities = defaultUtilities) {
1014
return postcss([substituteClassApplyAtRules(config, utilities)]).process(input, {
@@ -200,10 +204,12 @@ test('you can apply utility classes without using the given prefix', () => {
200204
.foo { margin-top: 1rem; margin-bottom: 1rem; }
201205
`
202206

203-
const config = {
204-
...defaultConfig,
205-
prefix: 'tw-',
206-
}
207+
const config = resolveConfig([
208+
{
209+
...defaultConfig,
210+
prefix: 'tw-',
211+
},
212+
])
207213

208214
return run(input, config, processPlugins(corePlugins(config), config).utilities).then(result => {
209215
expect(result.css).toEqual(expected)
@@ -220,12 +226,14 @@ test('you can apply utility classes without using the given prefix when using a
220226
.foo { margin-top: 1rem; margin-bottom: 1rem; }
221227
`
222228

223-
const config = {
224-
...defaultConfig,
225-
prefix: () => {
226-
return 'tw-'
229+
const config = resolveConfig([
230+
{
231+
...defaultConfig,
232+
prefix: () => {
233+
return 'tw-'
234+
},
227235
},
228-
}
236+
])
229237

230238
return run(input, config, processPlugins(corePlugins(config), config).utilities).then(result => {
231239
expect(result.css).toEqual(expected)

defaultTheme.js

Lines changed: 20 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,23 @@ module.exports = function() {
8585
'pink-lighter': '#ffbbca',
8686
'pink-lightest': '#ffebef',
8787
},
88+
spacing: {
89+
px: '1px',
90+
'0': '0',
91+
'1': '0.25rem',
92+
'2': '0.5rem',
93+
'3': '0.75rem',
94+
'4': '1rem',
95+
'5': '1.25rem',
96+
'6': '1.5rem',
97+
'8': '2rem',
98+
'10': '2.5rem',
99+
'12': '3rem',
100+
'16': '4rem',
101+
'20': '5rem',
102+
'24': '6rem',
103+
'32': '8rem',
104+
},
88105
screens: {
89106
sm: '576px',
90107
md: '768px',
@@ -264,58 +281,9 @@ module.exports = function() {
264281
full: '100%',
265282
screen: '100vh',
266283
},
267-
padding: {
268-
px: '1px',
269-
'0': '0',
270-
'1': '0.25rem',
271-
'2': '0.5rem',
272-
'3': '0.75rem',
273-
'4': '1rem',
274-
'5': '1.25rem',
275-
'6': '1.5rem',
276-
'8': '2rem',
277-
'10': '2.5rem',
278-
'12': '3rem',
279-
'16': '4rem',
280-
'20': '5rem',
281-
'24': '6rem',
282-
'32': '8rem',
283-
},
284-
margin: {
285-
auto: 'auto',
286-
px: '1px',
287-
'0': '0',
288-
'1': '0.25rem',
289-
'2': '0.5rem',
290-
'3': '0.75rem',
291-
'4': '1rem',
292-
'5': '1.25rem',
293-
'6': '1.5rem',
294-
'8': '2rem',
295-
'10': '2.5rem',
296-
'12': '3rem',
297-
'16': '4rem',
298-
'20': '5rem',
299-
'24': '6rem',
300-
'32': '8rem',
301-
},
302-
negativeMargin: {
303-
px: '1px',
304-
'0': '0',
305-
'1': '0.25rem',
306-
'2': '0.5rem',
307-
'3': '0.75rem',
308-
'4': '1rem',
309-
'5': '1.25rem',
310-
'6': '1.5rem',
311-
'8': '2rem',
312-
'10': '2.5rem',
313-
'12': '3rem',
314-
'16': '4rem',
315-
'20': '5rem',
316-
'24': '6rem',
317-
'32': '8rem',
318-
},
284+
padding: theme => theme.spacing,
285+
margin: theme => ({ auto: 'auto', ...theme.spacing }),
286+
negativeMargin: theme => theme.spacing,
319287
shadows: {
320288
default: '0 2px 4px 0 rgba(0,0,0,0.10)',
321289
md: '0 4px 8px 0 rgba(0,0,0,0.12), 0 2px 4px 0 rgba(0,0,0,0.08)',

0 commit comments

Comments
 (0)