@ivao/atmosphere-react 2.1.0-next.0 → 3.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,238 +0,0 @@
1
- import { colors, fonts } from '@ivao/atmosphere-brand';
2
-
3
- import { type Config } from 'tailwindcss';
4
- import animatePlugin from 'tailwindcss-animate';
5
- import radixPlugin from 'tailwindcss-radix';
6
- import defaultTheme from 'tailwindcss/defaultTheme';
7
-
8
- interface Colors {
9
- [key: string]: string | Colors;
10
- }
11
-
12
- const convertColorsToCSSVariables = (
13
- colors: Colors,
14
- prefix: string = '--',
15
- ): Colors => {
16
- return Object.entries(colors).reduce<Colors>((acc, [key, value]) => {
17
- if (typeof value === 'object') {
18
- return {
19
- ...acc,
20
- [key]: convertColorsToCSSVariables(
21
- value,
22
- `${prefix}${prefix.length === 2 ? '' : '-'}${key}`,
23
- ),
24
- };
25
- } else {
26
- return {
27
- ...acc,
28
- [key]:
29
- 'rgb(var(' +
30
- (key === 'DEFAULT' ? prefix : `${prefix}-${key}`) +
31
- ') / <alpha-value>)',
32
- };
33
- }
34
- }, {});
35
- };
36
-
37
- const tailwindColors = convertColorsToCSSVariables(colors);
38
-
39
- export default {
40
- darkMode: 'class',
41
- safelist: ['dark'],
42
- theme: {
43
- screens: {
44
- xs: '400px',
45
- ...defaultTheme.screens,
46
- },
47
- container: {
48
- center: true,
49
- padding: '2rem',
50
- screens: {
51
- '2xl': '1400px',
52
- },
53
- },
54
- extend: {
55
- colors: {
56
- ...tailwindColors,
57
- /*
58
- * Shadcn UI Color Palette for components
59
- * @see ui.shadcn.com
60
- */
61
- body: 'rgb(var(--body) / <alpha-value>)',
62
- border: 'rgb(var(--border) / <alpha-value>)',
63
- input: 'rgb(var(--input) / <alpha-value>)',
64
- ring: 'rgb(var(--ring) / <alpha-value>)',
65
- background: 'rgb(var(--background) / <alpha-value>)',
66
- foreground: 'rgb(var(--foreground) / <alpha-value>)',
67
- primary: {
68
- DEFAULT: 'rgb(var(--primary) / <alpha-value>)',
69
- foreground: 'rgb(var(--primary-foreground) / <alpha-value>)',
70
- },
71
- secondary: {
72
- DEFAULT: 'rgb(var(--secondary) / <alpha-value>)',
73
- foreground: 'rgb(var(--secondary-foreground) / <alpha-value>)',
74
- },
75
- destructive: {
76
- DEFAULT: 'rgb(var(--destructive) / <alpha-value>)',
77
- foreground: 'rgb(var(--destructive-foreground) / <alpha-value>)',
78
- },
79
- muted: {
80
- DEFAULT: 'rgb(var(--muted) / <alpha-value>)',
81
- foreground: 'rgb(var(--muted-foreground) / <alpha-value>)',
82
- },
83
- accent: {
84
- DEFAULT: 'rgb(var(--accent) / <alpha-value>)',
85
- foreground: 'rgb(var(--accent-foreground) / <alpha-value>)',
86
- },
87
- popover: {
88
- DEFAULT: 'rgb(var(--popover) / <alpha-value>)',
89
- foreground: 'rgb(var(--popover-foreground) / <alpha-value>)',
90
- },
91
- card: {
92
- DEFAULT: 'rgb(var(--card) / <alpha-value>)',
93
- foreground: 'rgb(var(--card-foreground) / <alpha-value>)',
94
- },
95
- },
96
- borderRadius: {
97
- lg: 'var(--radius)',
98
- md: 'calc(var(--radius) - 2px)',
99
- sm: 'calc(var(--radius) - 4px)',
100
- },
101
- fontFamily: {
102
- head: [fonts.head],
103
- sans: [fonts.sans, ...defaultTheme.fontFamily.sans],
104
- mono: [fonts.mono, ...defaultTheme.fontFamily.mono],
105
- },
106
- keyframes: {
107
- 'accordion-down': {
108
- from: { height: '0' },
109
- to: { height: 'var(--radix-accordion-content-height)' },
110
- },
111
- 'accordion-up': {
112
- from: { height: 'var(--radix-accordion-content-height)' },
113
- to: { height: '0' },
114
- },
115
- // Dropdown menu
116
- 'scale-in': {
117
- '0%': { opacity: '0', transform: 'scale(0)' },
118
- '100%': { opacity: '1', transform: 'scale(1)' },
119
- },
120
- 'slide-down': {
121
- '0%': { opacity: '0', transform: 'translateY(-10px)' },
122
- '100%': { opacity: '1', transform: 'translateY(0)' },
123
- },
124
- 'slide-up': {
125
- '0%': { opacity: '0', transform: 'translateY(10px)' },
126
- '100%': { opacity: '1', transform: 'translateY(0)' },
127
- },
128
- // Tooltip
129
- 'slide-up-fade': {
130
- '0%': { opacity: '0', transform: 'translateY(2px)' },
131
- '100%': { opacity: '1', transform: 'translateY(0)' },
132
- },
133
- 'slide-right-fade': {
134
- '0%': { opacity: '0', transform: 'translateX(-2px)' },
135
- '100%': { opacity: '1', transform: 'translateX(0)' },
136
- },
137
- 'slide-down-fade': {
138
- '0%': { opacity: '0', transform: 'translateY(-2px)' },
139
- '100%': { opacity: '1', transform: 'translateY(0)' },
140
- },
141
- 'slide-left-fade': {
142
- '0%': { opacity: '0', transform: 'translateX(2px)' },
143
- '100%': { opacity: '1', transform: 'translateX(0)' },
144
- },
145
- // Navigation menu
146
- 'enter-from-right': {
147
- '0%': { transform: 'translateX(200px)', opacity: '0' },
148
- '100%': { transform: 'translateX(0)', opacity: '1' },
149
- },
150
- 'enter-from-left': {
151
- '0%': { transform: 'translateX(-200px)', opacity: '0' },
152
- '100%': { transform: 'translateX(0)', opacity: '1' },
153
- },
154
- 'exit-to-right': {
155
- '0%': { transform: 'translateX(0)', opacity: '1' },
156
- '100%': { transform: 'translateX(200px)', opacity: '0' },
157
- },
158
- 'exit-to-left': {
159
- '0%': { transform: 'translateX(0)', opacity: '1' },
160
- '100%': { transform: 'translateX(-200px)', opacity: '0' },
161
- },
162
- 'scale-in-content': {
163
- '0%': { transform: 'rotateX(-30deg) scale(0.9)', opacity: '0' },
164
- '100%': { transform: 'rotateX(0deg) scale(1)', opacity: '1' },
165
- },
166
- 'scale-out-content': {
167
- '0%': { transform: 'rotateX(0deg) scale(1)', opacity: '1' },
168
- '100%': { transform: 'rotateX(-10deg) scale(0.95)', opacity: '0' },
169
- },
170
- 'fade-in': {
171
- '0%': { opacity: '0' },
172
- '100%': { opacity: '1' },
173
- },
174
- 'fade-out': {
175
- '0%': { opacity: '1' },
176
- '100%': { opacity: '0' },
177
- },
178
- // Toast
179
- 'toast-hide': {
180
- '0%': { opacity: '1' },
181
- '100%': { opacity: '0' },
182
- },
183
- 'toast-slide-in-right': {
184
- '0%': { transform: `translateX(calc(100% + 1rem))` },
185
- '100%': { transform: 'translateX(0)' },
186
- },
187
- 'toast-slide-in-bottom': {
188
- '0%': { transform: `translateY(calc(100% + 1rem))` },
189
- '100%': { transform: 'translateY(0)' },
190
- },
191
- 'toast-swipe-out-x': {
192
- '0%': { transform: 'translateX(var(--radix-toast-swipe-end-x))' },
193
- '100%': {
194
- transform: `translateX(calc(100% + 1rem))`,
195
- },
196
- },
197
- 'toast-swipe-out-y': {
198
- '0%': { transform: 'translateY(var(--radix-toast-swipe-end-y))' },
199
- '100%': {
200
- transform: `translateY(calc(100% + 1rem))`,
201
- },
202
- },
203
- },
204
- animation: {
205
- 'accordion-down': 'accordion-down 0.2s ease-out',
206
- 'accordion-up': 'accordion-up 0.2s ease-out',
207
- // Dropdown menu
208
- 'scale-in': 'scale-in 0.2s ease-in-out',
209
- 'slide-down': 'slide-down 0.6s cubic-bezier(0.16, 1, 0.3, 1)',
210
- 'slide-up': 'slide-up 0.6s cubic-bezier(0.16, 1, 0.3, 1)',
211
- // Tooltip
212
- 'slide-up-fade': 'slide-up-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
213
- 'slide-right-fade':
214
- 'slide-right-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
215
- 'slide-down-fade': 'slide-down-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
216
- 'slide-left-fade': 'slide-left-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)',
217
- // Navigation menu
218
- 'enter-from-right': 'enter-from-right 0.25s ease',
219
- 'enter-from-left': 'enter-from-left 0.25s ease',
220
- 'exit-to-right': 'exit-to-right 0.25s ease',
221
- 'exit-to-left': 'exit-to-left 0.25s ease',
222
- 'scale-in-content': 'scale-in-content 0.2s ease',
223
- 'scale-out-content': 'scale-out-content 0.2s ease',
224
- 'fade-in': 'fade-in 0.2s ease',
225
- 'fade-out': 'fade-out 0.2s ease',
226
- // Toast
227
- 'toast-hide': 'toast-hide 100ms ease-in forwards',
228
- 'toast-slide-in-right':
229
- 'toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)',
230
- 'toast-slide-in-bottom':
231
- 'toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)',
232
- 'toast-swipe-out-x': 'toast-swipe-out-x 100ms ease-out forwards',
233
- 'toast-swipe-out-y': 'toast-swipe-out-y 100ms ease-out forwards',
234
- },
235
- },
236
- },
237
- plugins: [animatePlugin, radixPlugin],
238
- } satisfies Partial<Config>;