@metropolle/design-system 1.0.0-beta.20250821014534.5a59824

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.
Files changed (31) hide show
  1. package/README.md +81 -0
  2. package/dist/css/components.css +323 -0
  3. package/dist/css/tokens.css +90 -0
  4. package/dist/react/components/react/Button/Button.d.ts +27 -0
  5. package/dist/react/components/react/Button/Button.d.ts.map +1 -0
  6. package/dist/react/components/react/Button/index.d.ts +2 -0
  7. package/dist/react/components/react/Button/index.d.ts.map +1 -0
  8. package/dist/react/components/react/GlassCard/GlassCard.d.ts +23 -0
  9. package/dist/react/components/react/GlassCard/GlassCard.d.ts.map +1 -0
  10. package/dist/react/components/react/GlassCard/index.d.ts +2 -0
  11. package/dist/react/components/react/GlassCard/index.d.ts.map +1 -0
  12. package/dist/react/components/react/Typography/Typography.d.ts +39 -0
  13. package/dist/react/components/react/Typography/Typography.d.ts.map +1 -0
  14. package/dist/react/components/react/Typography/index.d.ts +2 -0
  15. package/dist/react/components/react/Typography/index.d.ts.map +1 -0
  16. package/dist/react/components/react/index.d.ts +8 -0
  17. package/dist/react/components/react/index.d.ts.map +1 -0
  18. package/dist/react/index.esm.js +1492 -0
  19. package/dist/react/index.esm.js.map +1 -0
  20. package/dist/react/index.js +1498 -0
  21. package/dist/react/index.js.map +1 -0
  22. package/dist/react/utils/cn.d.ts +6 -0
  23. package/dist/react/utils/cn.d.ts.map +1 -0
  24. package/dist/tokens/colors.json +104 -0
  25. package/dist/tokens/effects.json +110 -0
  26. package/dist/tokens/index.d.ts +40 -0
  27. package/dist/tokens/index.js +48 -0
  28. package/dist/tokens/index.json +470 -0
  29. package/dist/tokens/spacing.json +127 -0
  30. package/dist/tokens/typography.json +127 -0
  31. package/package.json +97 -0
@@ -0,0 +1,470 @@
1
+ {
2
+ "colors": {
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Metropolle Color Tokens",
5
+ "description": "Tokens de cores baseados na identidade visual Metropolle",
6
+ "color": {
7
+ "brand": {
8
+ "primary": {
9
+ "value": "#0055FF",
10
+ "type": "color",
11
+ "description": "Cor primária da marca Metropolle"
12
+ },
13
+ "secondary": {
14
+ "value": "#FF9900",
15
+ "type": "color",
16
+ "description": "Cor secundária complementar"
17
+ },
18
+ "neutral": {
19
+ "value": "#333333",
20
+ "type": "color",
21
+ "description": "Cor neutra para textos"
22
+ }
23
+ },
24
+ "semantic": {
25
+ "success": {
26
+ "value": "#10B981",
27
+ "type": "color",
28
+ "description": "Verde para estados de sucesso"
29
+ },
30
+ "warning": {
31
+ "value": "#F59E0B",
32
+ "type": "color",
33
+ "description": "Amarelo para avisos"
34
+ },
35
+ "error": {
36
+ "value": "#EF4444",
37
+ "type": "color",
38
+ "description": "Vermelho para erros"
39
+ },
40
+ "info": {
41
+ "value": "#3B82F6",
42
+ "type": "color",
43
+ "description": "Azul para informações"
44
+ }
45
+ },
46
+ "background": {
47
+ "primary": {
48
+ "value": "linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #2a2a2a 100%)",
49
+ "type": "color",
50
+ "description": "Gradiente principal usado na homepage"
51
+ },
52
+ "secondary": {
53
+ "value": "rgba(255, 255, 255, 0.05)",
54
+ "type": "color",
55
+ "description": "Background secundário com transparência"
56
+ },
57
+ "glass": {
58
+ "light": {
59
+ "value": "rgba(255, 255, 255, 0.15)",
60
+ "type": "color",
61
+ "description": "Background glass card claro"
62
+ },
63
+ "dark": {
64
+ "value": "rgba(60, 60, 60, 0.8)",
65
+ "type": "color",
66
+ "description": "Background glass card escuro"
67
+ }
68
+ }
69
+ },
70
+ "text": {
71
+ "primary": {
72
+ "value": "#ffffff",
73
+ "type": "color",
74
+ "description": "Texto principal (branco)"
75
+ },
76
+ "secondary": {
77
+ "value": "rgba(255, 255, 255, 0.7)",
78
+ "type": "color",
79
+ "description": "Texto secundário com transparência"
80
+ },
81
+ "muted": {
82
+ "value": "rgba(255, 255, 255, 0.5)",
83
+ "type": "color",
84
+ "description": "Texto esmaecido"
85
+ }
86
+ },
87
+ "border": {
88
+ "light": {
89
+ "value": "rgba(255, 255, 255, 0.1)",
90
+ "type": "color",
91
+ "description": "Borda sutil clara"
92
+ },
93
+ "medium": {
94
+ "value": "rgba(255, 255, 255, 0.2)",
95
+ "type": "color",
96
+ "description": "Borda média"
97
+ },
98
+ "strong": {
99
+ "value": "rgba(255, 255, 255, 0.3)",
100
+ "type": "color",
101
+ "description": "Borda forte"
102
+ }
103
+ }
104
+ }
105
+ },
106
+ "typography": {
107
+ "$schema": "http://json-schema.org/draft-07/schema#",
108
+ "title": "Metropolle Typography Tokens",
109
+ "description": "Tokens de tipografia baseados na identidade Helvetica da Metropolle",
110
+ "typography": {
111
+ "fontFamily": {
112
+ "brand": {
113
+ "value": "Helvetica, Inter Tight, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'",
114
+ "type": "fontFamily",
115
+ "description": "Stack de fontes da marca Metropolle"
116
+ },
117
+ "mono": {
118
+ "value": "'SF Mono', Monaco, 'Inconsolata', 'Roboto Mono', 'Source Code Pro', monospace",
119
+ "type": "fontFamily",
120
+ "description": "Fonte monospace para código"
121
+ }
122
+ },
123
+ "fontSize": {
124
+ "xs": {
125
+ "value": "0.75rem",
126
+ "type": "fontSize",
127
+ "description": "12px - Texto muito pequeno"
128
+ },
129
+ "sm": {
130
+ "value": "0.875rem",
131
+ "type": "fontSize",
132
+ "description": "14px - Texto pequeno"
133
+ },
134
+ "base": {
135
+ "value": "1rem",
136
+ "type": "fontSize",
137
+ "description": "16px - Texto base"
138
+ },
139
+ "lg": {
140
+ "value": "1.125rem",
141
+ "type": "fontSize",
142
+ "description": "18px - Texto grande"
143
+ },
144
+ "xl": {
145
+ "value": "1.25rem",
146
+ "type": "fontSize",
147
+ "description": "20px - Texto extra grande"
148
+ },
149
+ "2xl": {
150
+ "value": "1.5rem",
151
+ "type": "fontSize",
152
+ "description": "24px - Heading pequeno"
153
+ },
154
+ "3xl": {
155
+ "value": "1.875rem",
156
+ "type": "fontSize",
157
+ "description": "30px - Heading médio"
158
+ },
159
+ "4xl": {
160
+ "value": "2.125rem",
161
+ "type": "fontSize",
162
+ "description": "34px - Logo brand (mobile: 28.8px)"
163
+ }
164
+ },
165
+ "lineHeight": {
166
+ "tight": {
167
+ "value": "1.2",
168
+ "type": "lineHeight",
169
+ "description": "Line height apertado para headings"
170
+ },
171
+ "normal": {
172
+ "value": "1.5",
173
+ "type": "lineHeight",
174
+ "description": "Line height normal para texto"
175
+ },
176
+ "relaxed": {
177
+ "value": "1.75",
178
+ "type": "lineHeight",
179
+ "description": "Line height relaxado para leitura"
180
+ }
181
+ },
182
+ "letterSpacing": {
183
+ "brand": {
184
+ "value": "-0.05rem",
185
+ "type": "letterSpacing",
186
+ "description": "Letter spacing da marca (desktop)"
187
+ },
188
+ "tight": {
189
+ "value": "-0.03rem",
190
+ "type": "letterSpacing",
191
+ "description": "Letter spacing apertado (mobile)"
192
+ },
193
+ "normal": {
194
+ "value": "0",
195
+ "type": "letterSpacing",
196
+ "description": "Letter spacing normal"
197
+ },
198
+ "wide": {
199
+ "value": "0.025rem",
200
+ "type": "letterSpacing",
201
+ "description": "Letter spacing amplo"
202
+ }
203
+ },
204
+ "fontWeight": {
205
+ "light": {
206
+ "value": "300",
207
+ "type": "fontWeight",
208
+ "description": "Peso leve"
209
+ },
210
+ "normal": {
211
+ "value": "400",
212
+ "type": "fontWeight",
213
+ "description": "Peso normal"
214
+ },
215
+ "medium": {
216
+ "value": "500",
217
+ "type": "fontWeight",
218
+ "description": "Peso médio"
219
+ },
220
+ "semibold": {
221
+ "value": "600",
222
+ "type": "fontWeight",
223
+ "description": "Peso semi-bold"
224
+ },
225
+ "bold": {
226
+ "value": "700",
227
+ "type": "fontWeight",
228
+ "description": "Peso bold"
229
+ }
230
+ }
231
+ }
232
+ },
233
+ "spacing": {
234
+ "$schema": "http://json-schema.org/draft-07/schema#",
235
+ "title": "Metropolle Spacing Tokens",
236
+ "description": "Sistema de espaçamento baseado em múltiplos de 4px",
237
+ "spacing": {
238
+ "xs": {
239
+ "value": "0.25rem",
240
+ "type": "spacing",
241
+ "description": "4px - Espaçamento extra pequeno"
242
+ },
243
+ "sm": {
244
+ "value": "0.5rem",
245
+ "type": "spacing",
246
+ "description": "8px - Espaçamento pequeno"
247
+ },
248
+ "md": {
249
+ "value": "1rem",
250
+ "type": "spacing",
251
+ "description": "16px - Espaçamento médio (padrão glass card)"
252
+ },
253
+ "lg": {
254
+ "value": "1.5rem",
255
+ "type": "spacing",
256
+ "description": "24px - Espaçamento grande (padrão glass card dark)"
257
+ },
258
+ "xl": {
259
+ "value": "2rem",
260
+ "type": "spacing",
261
+ "description": "32px - Espaçamento extra grande"
262
+ },
263
+ "2xl": {
264
+ "value": "3rem",
265
+ "type": "spacing",
266
+ "description": "48px - Espaçamento muito grande"
267
+ },
268
+ "3xl": {
269
+ "value": "4rem",
270
+ "type": "spacing",
271
+ "description": "64px - Espaçamento máximo"
272
+ }
273
+ },
274
+ "borderRadius": {
275
+ "sm": {
276
+ "value": "0.25rem",
277
+ "type": "borderRadius",
278
+ "description": "4px - Raio pequeno"
279
+ },
280
+ "md": {
281
+ "value": "0.5rem",
282
+ "type": "borderRadius",
283
+ "description": "8px - Raio médio"
284
+ },
285
+ "lg": {
286
+ "value": "1rem",
287
+ "type": "borderRadius",
288
+ "description": "16px - Raio grande (glass card dark)"
289
+ },
290
+ "xl": {
291
+ "value": "1.25rem",
292
+ "type": "borderRadius",
293
+ "description": "20px - Raio extra grande (glass card light)"
294
+ },
295
+ "full": {
296
+ "value": "50%",
297
+ "type": "borderRadius",
298
+ "description": "Círculo completo"
299
+ }
300
+ },
301
+ "shadow": {
302
+ "glass": {
303
+ "light": {
304
+ "value": "0 8px 32px rgba(0, 0, 0, 0.1)",
305
+ "type": "boxShadow",
306
+ "description": "Sombra do glass card claro"
307
+ },
308
+ "lightHover": {
309
+ "value": "0 12px 40px rgba(0, 0, 0, 0.15)",
310
+ "type": "boxShadow",
311
+ "description": "Sombra do glass card claro no hover"
312
+ },
313
+ "dark": {
314
+ "value": "0 8px 32px rgba(0, 0, 0, 0.3)",
315
+ "type": "boxShadow",
316
+ "description": "Sombra do glass card escuro"
317
+ },
318
+ "darkHover": {
319
+ "value": "0 12px 40px rgba(0, 0, 0, 0.4)",
320
+ "type": "boxShadow",
321
+ "description": "Sombra do glass card escuro no hover"
322
+ }
323
+ },
324
+ "sm": {
325
+ "value": "0 1px 2px rgba(0, 0, 0, 0.05)",
326
+ "type": "boxShadow",
327
+ "description": "Sombra pequena"
328
+ },
329
+ "md": {
330
+ "value": "0 4px 6px rgba(0, 0, 0, 0.07)",
331
+ "type": "boxShadow",
332
+ "description": "Sombra média"
333
+ },
334
+ "lg": {
335
+ "value": "0 10px 15px rgba(0, 0, 0, 0.1)",
336
+ "type": "boxShadow",
337
+ "description": "Sombra grande"
338
+ }
339
+ },
340
+ "blur": {
341
+ "glass": {
342
+ "default": {
343
+ "value": "20px",
344
+ "type": "blur",
345
+ "description": "Blur padrão dos glass cards"
346
+ },
347
+ "light": {
348
+ "value": "15px",
349
+ "type": "blur",
350
+ "description": "Blur leve"
351
+ },
352
+ "heavy": {
353
+ "value": "30px",
354
+ "type": "blur",
355
+ "description": "Blur pesado"
356
+ }
357
+ }
358
+ }
359
+ },
360
+ "effects": {
361
+ "$schema": "http://json-schema.org/draft-07/schema#",
362
+ "title": "Metropolle Effects Tokens",
363
+ "description": "Efeitos visuais e animações da identidade Metropolle",
364
+ "transition": {
365
+ "fast": {
366
+ "value": "0.15s ease",
367
+ "type": "transition",
368
+ "description": "Transição rápida"
369
+ },
370
+ "normal": {
371
+ "value": "0.3s ease",
372
+ "type": "transition",
373
+ "description": "Transição padrão (glass cards)"
374
+ },
375
+ "slow": {
376
+ "value": "0.5s ease",
377
+ "type": "transition",
378
+ "description": "Transição lenta"
379
+ }
380
+ },
381
+ "animation": {
382
+ "fadeIn": {
383
+ "value": "fadeIn 0.3s ease-in-out",
384
+ "type": "animation",
385
+ "description": "Animação de fade in"
386
+ },
387
+ "slideUp": {
388
+ "value": "slideUp 0.3s ease-out",
389
+ "type": "animation",
390
+ "description": "Animação de slide para cima"
391
+ },
392
+ "bounce": {
393
+ "value": "bounce 0.6s ease-in-out",
394
+ "type": "animation",
395
+ "description": "Animação de bounce"
396
+ }
397
+ },
398
+ "backdrop": {
399
+ "glass": {
400
+ "filter": {
401
+ "value": "blur(var(--blur, 20px))",
402
+ "type": "backdropFilter",
403
+ "description": "Filtro backdrop padrão"
404
+ },
405
+ "webkitFilter": {
406
+ "value": "blur(var(--blur, 20px))",
407
+ "type": "webkitBackdropFilter",
408
+ "description": "Filtro backdrop WebKit"
409
+ }
410
+ }
411
+ },
412
+ "transform": {
413
+ "hoverUp": {
414
+ "value": "translateY(-2px)",
415
+ "type": "transform",
416
+ "description": "Transform hover padrão dos glass cards"
417
+ },
418
+ "scale": {
419
+ "hover": {
420
+ "value": "scale(1.02)",
421
+ "type": "transform",
422
+ "description": "Scale sutil no hover"
423
+ },
424
+ "active": {
425
+ "value": "scale(0.98)",
426
+ "type": "transform",
427
+ "description": "Scale no estado ativo"
428
+ }
429
+ }
430
+ },
431
+ "opacity": {
432
+ "glass": {
433
+ "light": {
434
+ "default": {
435
+ "value": "0.15",
436
+ "type": "opacity",
437
+ "description": "Opacidade padrão glass card claro"
438
+ },
439
+ "hover": {
440
+ "value": "0.2",
441
+ "type": "opacity",
442
+ "description": "Opacidade hover glass card claro"
443
+ }
444
+ },
445
+ "dark": {
446
+ "default": {
447
+ "value": "0.8",
448
+ "type": "opacity",
449
+ "description": "Opacidade padrão glass card escuro"
450
+ },
451
+ "hover": {
452
+ "value": "0.85",
453
+ "type": "opacity",
454
+ "description": "Opacidade hover glass card escuro"
455
+ }
456
+ }
457
+ },
458
+ "disabled": {
459
+ "value": "0.5",
460
+ "type": "opacity",
461
+ "description": "Opacidade para elementos desabilitados"
462
+ },
463
+ "muted": {
464
+ "value": "0.7",
465
+ "type": "opacity",
466
+ "description": "Opacidade para elementos secundários"
467
+ }
468
+ }
469
+ }
470
+ }
@@ -0,0 +1,127 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Metropolle Spacing Tokens",
4
+ "description": "Sistema de espaçamento baseado em múltiplos de 4px",
5
+ "spacing": {
6
+ "xs": {
7
+ "value": "0.25rem",
8
+ "type": "spacing",
9
+ "description": "4px - Espaçamento extra pequeno"
10
+ },
11
+ "sm": {
12
+ "value": "0.5rem",
13
+ "type": "spacing",
14
+ "description": "8px - Espaçamento pequeno"
15
+ },
16
+ "md": {
17
+ "value": "1rem",
18
+ "type": "spacing",
19
+ "description": "16px - Espaçamento médio (padrão glass card)"
20
+ },
21
+ "lg": {
22
+ "value": "1.5rem",
23
+ "type": "spacing",
24
+ "description": "24px - Espaçamento grande (padrão glass card dark)"
25
+ },
26
+ "xl": {
27
+ "value": "2rem",
28
+ "type": "spacing",
29
+ "description": "32px - Espaçamento extra grande"
30
+ },
31
+ "2xl": {
32
+ "value": "3rem",
33
+ "type": "spacing",
34
+ "description": "48px - Espaçamento muito grande"
35
+ },
36
+ "3xl": {
37
+ "value": "4rem",
38
+ "type": "spacing",
39
+ "description": "64px - Espaçamento máximo"
40
+ }
41
+ },
42
+ "borderRadius": {
43
+ "sm": {
44
+ "value": "0.25rem",
45
+ "type": "borderRadius",
46
+ "description": "4px - Raio pequeno"
47
+ },
48
+ "md": {
49
+ "value": "0.5rem",
50
+ "type": "borderRadius",
51
+ "description": "8px - Raio médio"
52
+ },
53
+ "lg": {
54
+ "value": "1rem",
55
+ "type": "borderRadius",
56
+ "description": "16px - Raio grande (glass card dark)"
57
+ },
58
+ "xl": {
59
+ "value": "1.25rem",
60
+ "type": "borderRadius",
61
+ "description": "20px - Raio extra grande (glass card light)"
62
+ },
63
+ "full": {
64
+ "value": "50%",
65
+ "type": "borderRadius",
66
+ "description": "Círculo completo"
67
+ }
68
+ },
69
+ "shadow": {
70
+ "glass": {
71
+ "light": {
72
+ "value": "0 8px 32px rgba(0, 0, 0, 0.1)",
73
+ "type": "boxShadow",
74
+ "description": "Sombra do glass card claro"
75
+ },
76
+ "lightHover": {
77
+ "value": "0 12px 40px rgba(0, 0, 0, 0.15)",
78
+ "type": "boxShadow",
79
+ "description": "Sombra do glass card claro no hover"
80
+ },
81
+ "dark": {
82
+ "value": "0 8px 32px rgba(0, 0, 0, 0.3)",
83
+ "type": "boxShadow",
84
+ "description": "Sombra do glass card escuro"
85
+ },
86
+ "darkHover": {
87
+ "value": "0 12px 40px rgba(0, 0, 0, 0.4)",
88
+ "type": "boxShadow",
89
+ "description": "Sombra do glass card escuro no hover"
90
+ }
91
+ },
92
+ "sm": {
93
+ "value": "0 1px 2px rgba(0, 0, 0, 0.05)",
94
+ "type": "boxShadow",
95
+ "description": "Sombra pequena"
96
+ },
97
+ "md": {
98
+ "value": "0 4px 6px rgba(0, 0, 0, 0.07)",
99
+ "type": "boxShadow",
100
+ "description": "Sombra média"
101
+ },
102
+ "lg": {
103
+ "value": "0 10px 15px rgba(0, 0, 0, 0.1)",
104
+ "type": "boxShadow",
105
+ "description": "Sombra grande"
106
+ }
107
+ },
108
+ "blur": {
109
+ "glass": {
110
+ "default": {
111
+ "value": "20px",
112
+ "type": "blur",
113
+ "description": "Blur padrão dos glass cards"
114
+ },
115
+ "light": {
116
+ "value": "15px",
117
+ "type": "blur",
118
+ "description": "Blur leve"
119
+ },
120
+ "heavy": {
121
+ "value": "30px",
122
+ "type": "blur",
123
+ "description": "Blur pesado"
124
+ }
125
+ }
126
+ }
127
+ }