-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathtailwind.config.ts
90 lines (86 loc) · 2.8 KB
/
tailwind.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import junipero from '@junipero/tailwind-plugin';
import plugin from 'tailwindcss/plugin';
import { fromPairs } from '@junipero/core';
import { Config } from 'tailwindcss/types/config';
const config: Config = {
prefix: 'oak-',
theme: {
colors: {
'main-color': 'var(--oak-main-color)',
'darker-main-color': 'var(--oak-darker-main-color)',
'lighter-main-color': 'var(--oak-lighter-main-color)',
'background-main-color': 'var(--oak-background-main-color)',
'shadow-color': 'var(--oak-shadow-color)',
'background-color': 'var(--oak-background-color)',
'inner-background-color': 'var(--oak-inner-background-color)',
'foreground-color': 'var(--oak-foreground-color)',
'interaction-color': 'var(--oak-interaction-color)',
'text-color': 'var(--oak-text-color)',
'reverse-text-color': 'var(--oak-reverse-text-color)',
'alternate-text-color': 'var(--oak-alternate-text-color)',
'floating-background-color': 'var(--oak-floating-background-color)',
'error-color': 'var(--oak-error-color)',
'field-border-color': 'var(--oak-field-border-color)',
'tooltip-border-color': 'var(--oak-tooltip-border-color)',
},
},
content: [
'./packages/react/**/*.{js,ts,tsx}',
'./packages/addon-*/**/*.{js,ts,tsx}',
],
safelist: [
{ pattern: /flex-/ },
{ pattern: /basis-(.+)\/12/ },
{ pattern: /basis-full/ },
{ pattern: /items-/ },
{ pattern: /justify-/ },
],
plugins: [
junipero,
plugin(({ addUtilities, theme, e }) => {
// Handle old flexbox utilities
addUtilities({
'.justify-space-around': {
'justify-content': 'space-around',
},
'.justify-space-between': {
'justify-content': 'space-between',
},
'.items-flex-start': {
'align-items': 'flex-start',
},
'.items-flex-end': {
'align-items': 'flex-end',
},
'.flex-column': {
'flex-direction': 'column',
},
'.flex-column-reverse': {
'flex-direction': 'column-reverse',
},
});
// Set gap as a variable to be used in flex basis calculation
addUtilities({
...fromPairs(Object.entries(theme('gap')).map(([k, v]) => [
`.gap-${k}`,
{
'--tw-gap': v,
gap: v,
},
])),
}, theme('gap'));
// And overwrite flex basis minus the gap
addUtilities({
...fromPairs(Object.entries(theme('flexBasis')).map(([k, v]) => [
`.basis-${e(k)}`,
{
'flex-basis': /\/12$/.test(k)
? `calc(${v} - (var(--tw-gap) - (var(--tw-gap) * (${k}))))`
: `calc(${v} - (var(--tw-gap) / 2))`,
},
])),
}, theme('flexBasis'));
}),
],
};
export default config;