@rainersoft/design-tokens 1.0.4 → 2.0.0

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,177 +1,594 @@
1
- /**
2
- * @fileoverview Tokens utilitários - Classes Tailwind CSS
3
- *
4
- * @description
5
- * Tokens utilitários que exportam classes Tailwind CSS prontas para uso.
6
- * Esses tokens são classes CSS que podem ser aplicadas diretamente nos componentes,
7
- * facilitando o desenvolvimento e garantindo consistência visual.
8
- *
9
- * @module tokens/utilities
10
- * @version 4.0.0
11
- * @author Rainer Teixeira
12
- * @since 1.0.0
13
- */
14
-
15
- /**
16
- * Direções de gradiente como classes Tailwind CSS
17
- *
18
- * @description
19
- * Conjunto de constantes que representam as diferentes direções
20
- * de gradiente disponíveis no Tailwind CSS.
21
- *
22
- * @type {Object}
23
- * @property {string} TO_TOP - Gradiente de baixo para cima
24
- * @property {string} TO_BOTTOM - Gradiente de cima para baixo
25
- * @property {string} TO_LEFT - Gradiente da direita para esquerda
26
- * @property {string} TO_RIGHT - Gradiente da esquerda para direita
27
- * @property {string} TO_TL - Gradiente para cima-esquerda (top-left)
28
- * @property {string} TO_TR - Gradiente para cima-direita (top-right)
29
- * @property {string} TO_BL - Gradiente para baixo-esquerda (bottom-left)
30
- * @property {string} TO_BR - Gradiente para baixo-direita (bottom-right)
31
- *
32
- * @constant
33
- * @readonly
34
- *
35
- * @example
36
- * ```typescript
37
- * import { GRADIENT_DIRECTIONS } from 'rainer-design-tokens';
38
- *
39
- * // Aplicar gradiente de cima para baixo
40
- * <div className={GRADIENT_DIRECTIONS.TO_BOTTOM}>
41
- * ```
42
- */
43
- export const GRADIENT_DIRECTIONS = {
44
- TO_TOP: 'bg-gradient-to-t',
45
- TO_BOTTOM: 'bg-gradient-to-b',
46
- TO_LEFT: 'bg-gradient-to-l',
47
- TO_RIGHT: 'bg-gradient-to-r',
48
- TO_TL: 'bg-gradient-to-tl',
49
- TO_TR: 'bg-gradient-to-tr',
50
- TO_BL: 'bg-gradient-to-bl',
51
- TO_BR: 'bg-gradient-to-br',
52
- } as const;
53
-
54
- /**
55
- * Gradientes decorativos e utilitários como classes Tailwind CSS
56
- *
57
- * @description
58
- * Conjunto de gradientes pré-configurados para uso em diferentes
59
- * contextos da aplicação, incluindo texto, elementos decorativos e botões.
60
- *
61
- * @type {Object}
62
- * @property {string} TEXT_PRIMARY - Gradiente para texto com efeito de clip
63
- * @property {string} DECORATIVE_PRIMARY - Gradiente decorativo principal (cyan-purple-pink)
64
- * @property {string} DECORATIVE_CYAN_PURPLE - Gradiente decorativo cyan para purple
65
- * @property {string} DECORATIVE_GREEN_EMERALD - Gradiente decorativo green para emerald
66
- * @property {string} BUTTON_CYAN_BLUE - Gradiente para botões (cyan para blue)
67
- * @property {string} BUTTON_PURPLE_PINK - Gradiente para botões (purple para pink)
68
- *
69
- * @constant
70
- * @readonly
71
- *
72
- * @example
73
- * ```typescript
74
- * import { GRADIENTS } from 'rainer-design-tokens';
75
- *
76
- * // Aplicar gradiente em texto
77
- * <h1 className={GRADIENTS.TEXT_PRIMARY}>Título com Gradiente</h1>
78
- *
79
- * // Aplicar gradiente em botão
80
- * <button className={GRADIENTS.BUTTON_CYAN_BLUE}>Clique aqui</button>
81
- * ```
82
- */
83
- export const GRADIENTS = {
84
- // Gradientes de texto usando tokens CSS
85
- TEXT_PRIMARY: 'bg-linear-to-r from-[var(--color-primary-base)] via-[var(--color-secondary-base)] to-[var(--color-accent-base)] bg-clip-text text-transparent',
86
-
87
- // Gradientes decorativos usando tokens CSS
88
- DECORATIVE_PRIMARY: 'bg-linear-to-br from-[var(--color-primary-base)] via-[var(--color-secondary-base)] to-[var(--color-accent-base)]',
89
- DECORATIVE_CYAN_PURPLE: 'bg-linear-to-r from-[var(--color-primary-base)] to-[var(--color-secondary-base)]',
90
- DECORATIVE_GREEN_EMERALD: 'bg-linear-to-br from-[var(--color-status-success)] to-[var(--color-accent-base)]',
91
-
92
- // Gradientes de botões usando tokens CSS
93
- BUTTON_CYAN_BLUE: 'bg-linear-to-r from-[var(--color-primary-base)] to-[var(--color-primary-hover)]',
94
- BUTTON_PURPLE_PINK: 'bg-linear-to-r from-[var(--color-secondary-base)] to-[var(--color-accent-base)]',
95
- } as const;
96
-
97
- /**
98
- * Backgrounds utilitários como classes Tailwind CSS
99
- *
100
- * @description
101
- * Conjunto de classes para backgrounds pré-configurados, incluindo
102
- * overlays, divisores e backgrounds de seção com efeitos de gradiente sutis.
103
- *
104
- * @type {Object}
105
- * @property {string} FULL - Background completo padrão
106
- * @property {string} GRADIENT_OVERLAY - Overlay de gradiente sutil
107
- * @property {string} PREMIUM_DIVIDER_CONTAINER - Container para divisor premium
108
- * @property {string} PREMIUM_DIVIDER_LINE - Linha do divisor premium
109
- * @property {string} SECTION_CYAN - Background de seção com gradiente cyan
110
- * @property {string} SECTION_CYAN_VIA - Background de seção cyan via (meio)
111
- * @property {string} SECTION_PURPLE_VIA - Background de seção purple via (meio)
112
- * @property {string} SECTION_PINK_VIA - Background de seção pink via (meio)
113
- *
114
- * @constant
115
- * @readonly
116
- *
117
- * @example
118
- * ```typescript
119
- * import { BACKGROUND } from 'rainer-design-tokens';
120
- *
121
- * // Aplicar background de seção
122
- * <section className={BACKGROUND.SECTION_CYAN}>
123
- * Conteúdo da seção
124
- * </section>
125
- *
126
- * // Aplicar overlay de gradiente
127
- * <div className={BACKGROUND.GRADIENT_OVERLAY}>
128
- * Conteúdo com overlay
129
- * </div>
130
- * ```
131
- */
132
- export const BACKGROUND = {
133
- // Background completo usando token CSS
134
- FULL: 'bg-[var(--color-background-primary)]',
135
-
136
- // Overlay de gradiente usando tokens CSS
137
- GRADIENT_OVERLAY: 'bg-linear-to-br from-[var(--color-primary-base)]/10 via-[var(--color-secondary-base)]/10 to-[var(--color-accent-base)]/10',
138
-
139
- // Divisores premium usando tokens CSS
140
- PREMIUM_DIVIDER_CONTAINER: 'bg-linear-to-b from-transparent via-[var(--color-primary-base)]/5 to-transparent',
141
- PREMIUM_DIVIDER_LINE: 'bg-linear-to-r from-transparent via-[var(--color-primary-base)]/50 to-transparent',
142
-
143
- // Backgrounds de seção usando tokens CSS
144
- SECTION_CYAN: 'bg-linear-to-br from-[var(--color-primary-base)]/5 via-[var(--color-primary-base)]/3 to-transparent',
145
- SECTION_CYAN_VIA: 'bg-linear-to-br from-transparent via-[var(--color-primary-base)]/5 to-transparent',
146
- SECTION_PURPLE_VIA: 'bg-linear-to-br from-transparent via-[var(--color-secondary-base)]/5 to-transparent',
147
- SECTION_PINK_VIA: 'bg-linear-to-br from-transparent via-[var(--color-accent-base)]/5 to-transparent',
148
- } as const;
149
-
150
- /**
151
- * Tipo TypeScript para direções de gradiente
152
- *
153
- * @typedef {Object} GradientDirections
154
- * @description
155
- * Tipo que representa todas as direções de gradiente disponíveis.
156
- * Útil para type-checking e autocomplete em IDEs.
157
- */
158
- export type GradientDirections = typeof GRADIENT_DIRECTIONS;
159
-
160
- /**
161
- * Tipo TypeScript para gradientes
162
- *
163
- * @typedef {Object} Gradients
164
- * @description
165
- * Tipo que representa todos os gradientes pré-configurados disponíveis.
166
- */
167
- export type Gradients = typeof GRADIENTS;
168
-
169
- /**
170
- * Tipo TypeScript para backgrounds
171
- *
172
- * @typedef {Object} Background
173
- * @description
174
- * Tipo que representa todos os backgrounds utilitários disponíveis.
175
- */
176
- export type Background = typeof BACKGROUND;
177
-
1
+ /**
2
+ * @fileoverview Tokens utilitários - Classes Tailwind CSS
3
+ *
4
+ * @description
5
+ * Tokens utilitários que exportam classes Tailwind CSS prontas para uso.
6
+ * Esses tokens são classes CSS que podem ser aplicadas diretamente nos componentes,
7
+ * facilitando o desenvolvimento e garantindo consistência visual.
8
+ *
9
+ * @module tokens/utilities
10
+ * @version 2.0.0
11
+ * @author Rainer Teixeira
12
+ * @since 1.0.0
13
+ */
14
+
15
+ /**
16
+ * Direções de gradiente como classes Tailwind CSS
17
+ *
18
+ * @description
19
+ * Conjunto de constantes que representam as diferentes direções
20
+ * de gradiente disponíveis no Tailwind CSS.
21
+ *
22
+ * @type {Object}
23
+ * @property {string} TO_TOP - Gradiente de baixo para cima
24
+ * @property {string} TO_BOTTOM - Gradiente de cima para baixo
25
+ * @property {string} TO_LEFT - Gradiente da direita para esquerda
26
+ * @property {string} TO_RIGHT - Gradiente da esquerda para direita
27
+ * @property {string} TO_TL - Gradiente para cima-esquerda (top-left)
28
+ * @property {string} TO_TR - Gradiente para cima-direita (top-right)
29
+ * @property {string} TO_BL - Gradiente para baixo-esquerda (bottom-left)
30
+ * @property {string} TO_BR - Gradiente para baixo-direita (bottom-right)
31
+ *
32
+ * @constant
33
+ * @readonly
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * import { GRADIENT_DIRECTIONS } from '@rainersoft/design-tokens';
38
+ *
39
+ * // Aplicar gradiente de cima para baixo
40
+ * <div className={GRADIENT_DIRECTIONS.TO_BOTTOM}>
41
+ * ```
42
+ */
43
+ export const GRADIENT_DIRECTIONS = {
44
+ TO_TOP: 'bg-linear-to-t',
45
+ TO_BOTTOM: 'bg-linear-to-b',
46
+ TO_LEFT: 'bg-linear-to-l',
47
+ TO_RIGHT: 'bg-linear-to-r',
48
+ TO_TL: 'bg-linear-to-tl',
49
+ TO_TR: 'bg-linear-to-tr',
50
+ TO_BL: 'bg-linear-to-bl',
51
+ TO_BR: 'bg-linear-to-br',
52
+ } as const;
53
+
54
+ /**
55
+ * Gradientes decorativos e utilitários como classes Tailwind CSS
56
+ *
57
+ * @description
58
+ * Conjunto de gradientes pré-configurados para uso em diferentes
59
+ * contextos da aplicação, incluindo texto, elementos decorativos e botões.
60
+ *
61
+ * @type {Object}
62
+ * @property {string} TEXT_PRIMARY - Gradiente para texto com efeito de clip
63
+ * @property {string} DECORATIVE_PRIMARY - Gradiente decorativo principal (cyan-purple-pink)
64
+ * @property {string} DECORATIVE_CYAN_PURPLE - Gradiente decorativo cyan para purple
65
+ * @property {string} DECORATIVE_GREEN_EMERALD - Gradiente decorativo green para emerald
66
+ * @property {string} BUTTON_CYAN_BLUE - Gradiente para botões (cyan para blue)
67
+ * @property {string} BUTTON_PURPLE_PINK - Gradiente para botões (purple para pink)
68
+ *
69
+ * @constant
70
+ * @readonly
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * import { GRADIENTS } from '@rainersoft/design-tokens';
75
+ *
76
+ * // Aplicar gradiente em texto
77
+ * <h1 className={GRADIENTS.TEXT_PRIMARY}>Título com Gradiente</h1>
78
+ *
79
+ * // Aplicar gradiente em botão
80
+ * <button className={GRADIENTS.BUTTON_CYAN_BLUE}>Clique aqui</button>
81
+ * ```
82
+ */
83
+ export const GRADIENTS = {
84
+ // Gradientes de texto usando tokens CSS
85
+ TEXT_PRIMARY: 'bg-linear-to-r from-[var(--color-primary-base)] via-[var(--color-secondary-base)] to-[var(--color-accent-base)] bg-clip-text text-transparent',
86
+
87
+ // Gradientes decorativos usando tokens CSS
88
+ DECORATIVE_PRIMARY: 'bg-linear-to-br from-[var(--color-primary-base)] via-[var(--color-secondary-base)] to-[var(--color-accent-base)]',
89
+ DECORATIVE_CYAN_PURPLE: 'bg-linear-to-r from-[var(--color-primary-base)] to-[var(--color-secondary-base)]',
90
+ DECORATIVE_GREEN_EMERALD: 'bg-linear-to-br from-[var(--color-status-success)] to-[var(--color-accent-base)]',
91
+
92
+ // Gradientes de botões usando tokens CSS
93
+ BUTTON_CYAN_BLUE: 'bg-linear-to-r from-[var(--color-primary-base)] to-[var(--color-primary-hover)]',
94
+ BUTTON_PURPLE_PINK: 'bg-linear-to-r from-[var(--color-secondary-base)] to-[var(--color-accent-base)]',
95
+ } as const;
96
+
97
+ /**
98
+ * Backgrounds utilitários como classes Tailwind CSS
99
+ *
100
+ * @description
101
+ * Conjunto de classes para backgrounds pré-configurados, incluindo
102
+ * overlays, divisores e backgrounds de seção com efeitos de gradiente sutis.
103
+ *
104
+ * @type {Object}
105
+ * @property {string} FULL - Background completo padrão
106
+ * @property {string} GRADIENT_OVERLAY - Overlay de gradiente sutil
107
+ * @property {string} PREMIUM_DIVIDER_CONTAINER - Container para divisor premium
108
+ * @property {string} PREMIUM_DIVIDER_LINE - Linha do divisor premium
109
+ * @property {string} SECTION_CYAN - Background de seção com gradiente cyan
110
+ * @property {string} SECTION_CYAN_VIA - Background de seção cyan via (meio)
111
+ * @property {string} SECTION_PURPLE_VIA - Background de seção purple via (meio)
112
+ * @property {string} SECTION_PINK_VIA - Background de seção pink via (meio)
113
+ *
114
+ * @constant
115
+ * @readonly
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * import { BACKGROUND } from '@rainersoft/design-tokens';
120
+ *
121
+ * // Aplicar background de seção
122
+ * <section className={BACKGROUND.SECTION_CYAN}>
123
+ * Conteúdo da seção
124
+ * </section>
125
+ *
126
+ * // Aplicar overlay de gradiente
127
+ * <div className={BACKGROUND.GRADIENT_OVERLAY}>
128
+ * Conteúdo com overlay
129
+ * </div>
130
+ * ```
131
+ */
132
+ /**
133
+ * Gradientes compostos - Direção + Cores (Padrão Enterprise)
134
+ *
135
+ * @description
136
+ * Combina direção e cores em um único token para uso direto.
137
+ * Elimina necessidade de concatenar strings manualmente.
138
+ * Padrão usado por grandes empresas (Google Material, Microsoft Fluent, Shopify Polaris).
139
+ *
140
+ * @type {Object}
141
+ * @property {string} HORIZONTAL_PRIMARY - Gradiente horizontal com cores primárias
142
+ * @property {string} HORIZONTAL_SECONDARY - Gradiente horizontal com cores secundárias
143
+ * @property {string} HORIZONTAL_DECORATIVE - Gradiente horizontal decorativo
144
+ * @property {string} VERTICAL_PRIMARY - Gradiente vertical com cores primárias
145
+ * @property {string} VERTICAL_SECONDARY - Gradiente vertical com cores secundárias
146
+ * @property {string} DIAGONAL_PRIMARY - Gradiente diagonal com cores primárias
147
+ * @property {string} DIAGONAL_SECONDARY - Gradiente diagonal com cores secundárias
148
+ *
149
+ * @constant
150
+ * @readonly
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * import { GRADIENT_COMPOSITES } from '@rainersoft/design-tokens';
155
+ *
156
+ * // Usar diretamente sem concatenar
157
+ * <div className={GRADIENT_COMPOSITES.HORIZONTAL_PRIMARY}>
158
+ * Conteúdo
159
+ * </div>
160
+ * ```
161
+ */
162
+ export const GRADIENT_COMPOSITES = {
163
+ // Gradientes horizontais (left-to-right)
164
+ HORIZONTAL_PRIMARY: `${GRADIENT_DIRECTIONS.TO_RIGHT} ${GRADIENTS.BUTTON_CYAN_BLUE}`,
165
+ HORIZONTAL_SECONDARY: `${GRADIENT_DIRECTIONS.TO_RIGHT} ${GRADIENTS.BUTTON_PURPLE_PINK}`,
166
+ HORIZONTAL_DECORATIVE: `${GRADIENT_DIRECTIONS.TO_RIGHT} ${GRADIENTS.DECORATIVE_PRIMARY}`,
167
+ HORIZONTAL_CYAN_PURPLE: `${GRADIENT_DIRECTIONS.TO_RIGHT} ${GRADIENTS.DECORATIVE_CYAN_PURPLE}`,
168
+
169
+ // Gradientes verticais (top-to-bottom)
170
+ VERTICAL_PRIMARY: `${GRADIENT_DIRECTIONS.TO_BOTTOM} ${GRADIENTS.BUTTON_CYAN_BLUE}`,
171
+ VERTICAL_SECONDARY: `${GRADIENT_DIRECTIONS.TO_BOTTOM} ${GRADIENTS.BUTTON_PURPLE_PINK}`,
172
+ VERTICAL_DECORATIVE: `${GRADIENT_DIRECTIONS.TO_BOTTOM} ${GRADIENTS.DECORATIVE_PRIMARY}`,
173
+
174
+ // Gradientes diagonais
175
+ DIAGONAL_PRIMARY: `${GRADIENT_DIRECTIONS.TO_BR} ${GRADIENTS.DECORATIVE_PRIMARY}`,
176
+ DIAGONAL_SECONDARY: `${GRADIENT_DIRECTIONS.TO_BR} ${GRADIENTS.DECORATIVE_CYAN_PURPLE}`,
177
+ DIAGONAL_GREEN_EMERALD: `${GRADIENT_DIRECTIONS.TO_BR} ${GRADIENTS.DECORATIVE_GREEN_EMERALD}`,
178
+ } as const;
179
+
180
+ /**
181
+ * Gradientes de cores específicas usando tokens de cor
182
+ *
183
+ * @description
184
+ * Elimina valores hardcoded como "from-gray-500". Todos os gradientes
185
+ * usam tokens de cor do sistema para garantir consistência.
186
+ *
187
+ * @type {Object}
188
+ * @property {string} GRAY_SCALE - Gradiente em escala de cinza usando tokens
189
+ * @property {string} BLUE_SCALE - Gradiente em escala de azul usando tokens primários
190
+ * @property {string} SUCCESS_SCALE - Gradiente em escala de verde (sucesso) usando tokens
191
+ * @property {string} TEXT_MUTED - Gradiente para texto muted usando tokens
192
+ *
193
+ * @constant
194
+ * @readonly
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * import { GRADIENT_COLORS } from '@rainersoft/design-tokens';
199
+ *
200
+ * // Usar gradiente de cinza sem valores hardcoded
201
+ * <div className={GRADIENT_COLORS.GRAY_SCALE}>
202
+ * Conteúdo
203
+ * </div>
204
+ * ```
205
+ */
206
+ export const GRADIENT_COLORS = {
207
+ // Escala de cinza usando tokens de texto
208
+ GRAY_SCALE: `${GRADIENT_DIRECTIONS.TO_RIGHT} from-[var(--color-text-tertiary)] to-[var(--color-text-secondary)]`,
209
+
210
+ // Escala de azul usando tokens primários
211
+ BLUE_SCALE: `${GRADIENT_DIRECTIONS.TO_RIGHT} from-[var(--color-primary-base)] to-[var(--color-primary-hover)]`,
212
+
213
+ // Escala de verde (sucesso) usando tokens de status
214
+ SUCCESS_SCALE: `${GRADIENT_DIRECTIONS.TO_RIGHT} from-[var(--color-status-success)] to-[var(--color-status-success-hover)]`,
215
+
216
+ // Gradiente para texto muted
217
+ TEXT_MUTED: `${GRADIENT_DIRECTIONS.TO_RIGHT} from-[var(--color-text-tertiary)] to-[var(--color-text-secondary)]`,
218
+ } as const;
219
+
220
+ export const BACKGROUND = {
221
+ // Background completo usando token CSS
222
+ FULL: 'bg-[var(--color-background-primary)]',
223
+
224
+ // Overlay de gradiente usando tokens CSS
225
+ GRADIENT_OVERLAY: 'bg-linear-to-br from-[var(--color-primary-base)]/10 via-[var(--color-secondary-base)]/10 to-[var(--color-accent-base)]/10',
226
+
227
+ // Divisores premium usando tokens CSS
228
+ PREMIUM_DIVIDER_CONTAINER: 'bg-linear-to-b from-transparent via-[var(--color-primary-base)]/5 to-transparent',
229
+ PREMIUM_DIVIDER_LINE: 'bg-linear-to-r from-transparent via-[var(--color-primary-base)]/50 to-transparent',
230
+
231
+ // Backgrounds de seção usando tokens CSS
232
+ SECTION_CYAN: 'bg-linear-to-br from-[var(--color-primary-base)]/5 via-[var(--color-primary-base)]/3 to-transparent',
233
+ SECTION_CYAN_VIA: 'bg-linear-to-br from-transparent via-[var(--color-primary-base)]/5 to-transparent',
234
+ SECTION_PURPLE_VIA: 'bg-linear-to-br from-transparent via-[var(--color-secondary-base)]/5 to-transparent',
235
+ SECTION_PINK_VIA: 'bg-linear-to-br from-transparent via-[var(--color-accent-base)]/5 to-transparent',
236
+ } as const;
237
+
238
+ /**
239
+ * Tipo TypeScript para direções de gradiente
240
+ *
241
+ * @typedef {Object} GradientDirections
242
+ * @description
243
+ * Tipo que representa todas as direções de gradiente disponíveis.
244
+ * Útil para type-checking e autocomplete em IDEs.
245
+ */
246
+ export type GradientDirections = typeof GRADIENT_DIRECTIONS;
247
+
248
+ /**
249
+ * Utilidades responsivas para breakpoints
250
+ *
251
+ * @description
252
+ * Classes e helpers para trabalhar com breakpoints responsivos,
253
+ * facilitando a criação de layouts mobile-first.
254
+ *
255
+ * @type {Object}
256
+ * @constant
257
+ * @readonly
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * import { RESPONSIVE } from '@rainersoft/design-tokens';
262
+ *
263
+ * // Usar classes responsivas
264
+ * <div className={RESPONSIVE.HIDE_ON_MOBILE}>
265
+ * Visível apenas em desktop
266
+ * </div>
267
+ *
268
+ * // Usar container responsivo
269
+ * <div className={RESPONSIVE.CONTAINER.DEFAULT}>
270
+ * Container com largura máxima responsiva
271
+ * </div>
272
+ * ```
273
+ */
274
+ export const RESPONSIVE = {
275
+ // Visibilidade responsiva
276
+ HIDE_ON_MOBILE: 'hidden sm:block',
277
+ HIDE_ON_TABLET: 'hidden lg:block',
278
+ HIDE_ON_DESKTOP: 'block lg:hidden',
279
+ SHOW_ON_MOBILE: 'block sm:hidden',
280
+ SHOW_ON_TABLET: 'block lg:hidden',
281
+ SHOW_ON_DESKTOP: 'hidden lg:block',
282
+
283
+ // Containers responsivos
284
+ CONTAINER: {
285
+ DEFAULT: 'w-full mx-auto px-4 sm:px-6 lg:px-8 max-w-7xl',
286
+ FLUID: 'w-full px-4 sm:px-6 lg:px-8',
287
+ TIGHT: 'w-full mx-auto px-4 sm:px-6 lg:px-8 max-w-4xl',
288
+ WIDE: 'w-full mx-auto px-4 sm:px-6 lg:px-8 max-w-screen-2xl',
289
+ PROSE: 'w-full mx-auto px-4 sm:px-6 lg:px-8 max-w-prose',
290
+ },
291
+
292
+ // Grid responsivo
293
+ GRID: {
294
+ COLS_1_2: 'grid grid-cols-1 md:grid-cols-2 gap-4',
295
+ COLS_1_3: 'grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4',
296
+ COLS_1_4: 'grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4',
297
+ COLS_2_3: 'grid grid-cols-2 lg:grid-cols-3 gap-4',
298
+ COLS_2_4: 'grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4',
299
+ },
300
+
301
+ // Flex responsivo
302
+ FLEX: {
303
+ MOBILE_COLUMN: 'flex flex-col sm:flex-row',
304
+ TABLET_COLUMN: 'flex flex-col lg:flex-row',
305
+ MOBILE_REVERSE: 'flex flex-col-reverse sm:flex-row',
306
+ TABLET_REVERSE: 'flex flex-col-reverse lg:flex-row',
307
+ },
308
+
309
+ // Text responsivo
310
+ TEXT: {
311
+ MOBILE_CENTER: 'text-center sm:text-left',
312
+ TABLET_CENTER: 'text-center lg:text-left',
313
+ RESPONSIVE_SIZE: 'text-sm sm:text-base lg:text-lg',
314
+ HEADING_SIZE: 'text-2xl sm:text-3xl lg:text-4xl xl:text-5xl',
315
+ },
316
+
317
+ // Padding/Margin responsivo
318
+ SPACING: {
319
+ MOBILE_TIGHT: 'p-2 sm:p-4 lg:p-6',
320
+ TABLET_TIGHT: 'p-4 lg:p-8',
321
+ RESPONSIVE_Y: 'py-4 sm:py-6 lg:py-8 xl:py-12',
322
+ RESPONSIVE_X: 'px-4 sm:px-6 lg:px-8',
323
+ },
324
+ } as const;
325
+
326
+ /**
327
+ * Helpers de motion para animações
328
+ *
329
+ * @description
330
+ * Classes utilitárias para aplicar motion tokens diretamente
331
+ * em elementos usando Tailwind CSS.
332
+ *
333
+ * @type {Object}
334
+ * @constant
335
+ * @readonly
336
+ *
337
+ * @example
338
+ * ```typescript
339
+ * import { MOTION } from '@rainersoft/design-tokens';
340
+ *
341
+ * // Aplicar transição suave
342
+ * <button className={MOTION.TRANSITION.DEFAULT}>
343
+ * Clique aqui
344
+ * </button>
345
+ *
346
+ * // Aplicar animação de entrada
347
+ * <div className={MOTION.ANIMATE.FADE_IN}>
348
+ * Conteúdo animado
349
+ * </div>
350
+ * ```
351
+ */
352
+ export const MOTION = {
353
+ // Transições
354
+ TRANSITION: {
355
+ DEFAULT: 'transition-all duration-200 ease-in-out',
356
+ FAST: 'transition-all duration-100 ease-out',
357
+ SLOW: 'transition-all duration-300 ease-in-out',
358
+ COLOR: 'transition-colors duration-200 ease-in-out',
359
+ TRANSFORM: 'transition-transform duration-200 ease-in-out',
360
+ OPACITY: 'transition-opacity duration-150 ease-in-out',
361
+ SHADOW: 'transition-shadow duration-200 ease-in-out',
362
+ },
363
+
364
+ // Animações
365
+ ANIMATE: {
366
+ FADE_IN: 'animate-fadeIn',
367
+ FADE_OUT: 'animate-fadeOut',
368
+ SLIDE_IN_UP: 'animate-slideInUp',
369
+ SLIDE_IN_DOWN: 'animate-slideInDown',
370
+ SLIDE_IN_LEFT: 'animate-slideInLeft',
371
+ SLIDE_IN_RIGHT: 'animate-slideInRight',
372
+ SCALE_IN: 'animate-scaleIn',
373
+ SCALE_OUT: 'animate-scaleOut',
374
+ ROTATE: 'animate-rotate',
375
+ PULSE: 'animate-pulse',
376
+ BOUNCE: 'animate-bounce',
377
+ SHAKE: 'animate-shake',
378
+ FLASH: 'animate-flash',
379
+ },
380
+
381
+ // Durações
382
+ DURATION: {
383
+ INSTANT: 'duration-0',
384
+ FAST: 'duration-100',
385
+ NORMAL: 'duration-200',
386
+ SLOW: 'duration-300',
387
+ SLOWER: 'duration-500',
388
+ SLOWEST: 'duration-700',
389
+ },
390
+
391
+ // Delays
392
+ DELAY: {
393
+ NONE: 'delay-0',
394
+ SHORT: 'delay-75',
395
+ MEDIUM: 'delay-150',
396
+ LONG: 'delay-300',
397
+ LONGER: 'delay-500',
398
+ },
399
+ } as const;
400
+
401
+ /**
402
+ * Constantes de cores principais para uso direto
403
+ *
404
+ * @description
405
+ * Cores principais do tema light para uso direto em componentes.
406
+ * Retorna valores hexadecimais das cores base.
407
+ *
408
+ * @type {Object}
409
+ * @constant
410
+ * @readonly
411
+ *
412
+ * @example
413
+ * ```typescript
414
+ * import { COLORS } from '@rainersoft/design-tokens';
415
+ *
416
+ * // Usar cor primária
417
+ * const primaryColor = COLORS.primary; // "#0891b2"
418
+ *
419
+ * // Usar em estilo inline
420
+ * <div style={{ color: COLORS.primary }}>
421
+ * Texto com cor primária
422
+ * </div>
423
+ * ```
424
+ */
425
+ export const COLORS = {
426
+ primary: '#0891b2',
427
+ secondary: '#9333ea',
428
+ accent: '#db2777',
429
+ success: '#22c55e',
430
+ warning: '#f59e0b',
431
+ error: '#ef4444',
432
+ info: '#0891b2',
433
+ } as const;
434
+
435
+ /**
436
+ * Estrutura de navegação padrão
437
+ *
438
+ * @description
439
+ * Array de itens de navegação para uso em componentes de layout.
440
+ * Pode ser sobrescrito ou estendido conforme necessário.
441
+ *
442
+ * @type {Array<{href: string, label: string}>}
443
+ * @constant
444
+ *
445
+ * @example
446
+ * ```typescript
447
+ * import { NAVIGATION } from '@rainersoft/design-tokens';
448
+ *
449
+ * // Usar em componente
450
+ * {NAVIGATION.map(item => (
451
+ * <Link key={item.href} href={item.href}>
452
+ * {item.label}
453
+ * </Link>
454
+ * ))}
455
+ * ```
456
+ */
457
+ export const NAVIGATION: Array<{ href: string; label: string }> = [
458
+ { href: '/', label: 'Home' },
459
+ { href: '/sobre', label: 'Sobre' },
460
+ { href: '/projetos', label: 'Projetos' },
461
+ { href: '/contato', label: 'Contato' },
462
+ ];
463
+
464
+ /**
465
+ * Helpers de shadows (sombras) como classes Tailwind CSS
466
+ *
467
+ * @description
468
+ * Classes utilitárias para aplicar shadows tokens consistentes
469
+ * usando valores pré-definidos do tema light.
470
+ *
471
+ * @type {Object}
472
+ * @constant
473
+ * @readonly
474
+ *
475
+ * @example
476
+ * ```typescript
477
+ * import { SHADOWS } from '@rainersoft/design-tokens';
478
+ *
479
+ * // Aplicar shadow large
480
+ * <div className={SHADOWS.LARGE}>
481
+ * Content with large shadow
482
+ * </div>
483
+ * ```
484
+ */
485
+ export const SHADOWS = {
486
+ XS: 'shadow-xs',
487
+ SMALL: 'shadow-sm',
488
+ BASE: 'shadow',
489
+ MEDIUM: 'shadow-md',
490
+ LARGE: 'shadow-lg',
491
+ XL: 'shadow-xl',
492
+ '2XL': 'shadow-2xl',
493
+ INNER: 'shadow-inner',
494
+ } as const;
495
+
496
+ /**
497
+ * Helpers de z-index para camadas
498
+ *
499
+ * @description
500
+ * Classes utilitárias para aplicar z-index tokens consistentes
501
+ * usando valores pré-definidos.
502
+ *
503
+ * @type {Object}
504
+ * @constant
505
+ * @readonly
506
+ *
507
+ * @example
508
+ * ```typescript
509
+ * import { Z_INDEX } from '@rainersoft/design-tokens';
510
+ *
511
+ * // Aplicar z-index para modal
512
+ * <div className={Z_INDEX.MODAL}>
513
+ * Modal content
514
+ * </div>
515
+ * ```
516
+ */
517
+ export const Z_INDEX = {
518
+ BASE: 'z-0',
519
+ DROPDOWN: 'z-[1000]',
520
+ STICKY: 'z-[1020]',
521
+ FIXED: 'z-[1030]',
522
+ BACKDROP: 'z-[1040]',
523
+ MODAL: 'z-[1050]',
524
+ POPOVER: 'z-[1060]',
525
+ TOOLTIP: 'z-[1070]',
526
+ TOAST: 'z-[1080]',
527
+ SPOTLIGHT: 'z-[1090]',
528
+ PRIORITY: 'z-[1100]',
529
+ MAX: 'z-[2147483647]',
530
+ } as const;
531
+
532
+ /**
533
+ * Tipo TypeScript para cores
534
+ *
535
+ * @typedef {Object} Colors
536
+ * @description
537
+ * Tipo que representa todas as cores principais disponíveis.
538
+ */
539
+ export type Colors = typeof COLORS;
540
+
541
+ /**
542
+ * Tipo TypeScript para navegação
543
+ *
544
+ * @typedef {Array<{href: string, label: string}>} Navigation
545
+ * @description
546
+ * Tipo que representa a estrutura de navegação.
547
+ */
548
+ export type Navigation = typeof NAVIGATION;
549
+
550
+ /**
551
+ * Tipo TypeScript para shadows
552
+ *
553
+ * @typedef {Object} Shadows
554
+ * @description
555
+ * Tipo que representa todas as classes de shadows disponíveis.
556
+ */
557
+ export type Shadows = typeof SHADOWS;
558
+
559
+ /**
560
+ * Tipo TypeScript para gradientes
561
+ *
562
+ * @typedef {Object} Gradients
563
+ * @description
564
+ * Tipo que representa todos os gradientes pré-configurados disponíveis.
565
+ */
566
+ export type Gradients = typeof GRADIENTS;
567
+
568
+ /**
569
+ * Tipo TypeScript para gradientes compostos
570
+ *
571
+ * @typedef {Object} GradientComposites
572
+ * @description
573
+ * Tipo que representa todos os gradientes compostos (direção + cores).
574
+ */
575
+ export type GradientComposites = typeof GRADIENT_COMPOSITES;
576
+
577
+ /**
578
+ * Tipo TypeScript para gradientes de cores
579
+ *
580
+ * @typedef {Object} GradientColors
581
+ * @description
582
+ * Tipo que representa todos os gradientes de cores específicas.
583
+ */
584
+ export type GradientColors = typeof GRADIENT_COLORS;
585
+
586
+ /**
587
+ * Tipo TypeScript para backgrounds
588
+ *
589
+ * @typedef {Object} Background
590
+ * @description
591
+ * Tipo que representa todos os backgrounds utilitários disponíveis.
592
+ */
593
+ export type Background = typeof BACKGROUND;
594
+