-
Notifications
You must be signed in to change notification settings - Fork 5
/
tailwind.config.js
66 lines (64 loc) · 1.98 KB
/
tailwind.config.js
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
const { hairlineWidth, platformSelect } = require('nativewind/theme');
/** @type {import('tailwindcss').Config} */
module.exports = {
// NOTE: Update this to include the paths to all of your component files.
content: ['./app/**/*.{js,jsx,ts,tsx}', './components/**/*.{js,jsx,ts,tsx}'],
presets: [require('nativewind/preset')],
theme: {
extend: {
colors: {
border: withOpacity('border'),
input: withOpacity('input'),
ring: withOpacity('ring'),
background: withOpacity('background'),
foreground: withOpacity('foreground'),
primary: {
DEFAULT: withOpacity('primary'),
foreground: withOpacity('primary-foreground'),
},
secondary: {
DEFAULT: withOpacity('secondary'),
foreground: withOpacity('secondary-foreground'),
},
destructive: {
DEFAULT: withOpacity('destructive'),
foreground: withOpacity('destructive-foreground'),
},
muted: {
DEFAULT: withOpacity('muted'),
foreground: withOpacity('muted-foreground'),
},
accent: {
DEFAULT: withOpacity('accent'),
foreground: withOpacity('accent-foreground'),
},
popover: {
DEFAULT: withOpacity('popover'),
foreground: withOpacity('popover-foreground'),
},
card: {
DEFAULT: withOpacity('card'),
foreground: withOpacity('card-foreground'),
},
},
borderWidth: {
hairline: hairlineWidth(),
},
},
},
plugins: [],
};
function withOpacity(variableName) {
return ({ opacityValue }) => {
if (opacityValue !== undefined) {
return platformSelect({
ios: `rgb(var(--${variableName}) / ${opacityValue})`,
android: `rgb(var(--android-${variableName}) / ${opacityValue})`,
});
}
return platformSelect({
ios: `rgb(var(--${variableName}))`,
android: `rgb(var(--android-${variableName}))`,
});
};
}