@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.
- package/README.md +593 -544
- package/dist/index.d.ts +1714 -103
- package/dist/index.mjs +2 -1116
- package/dist/index.mjs.map +1 -1
- package/formats/tailwind.config.ts +64 -6
- package/formats/tokens.json +2 -2
- package/package.json +15 -12
- package/themes/dark.ts +2 -2
- package/themes/index.ts +2 -2
- package/themes/light.ts +2 -2
- package/tokens/accessibility.ts +1 -1
- package/tokens/animations.json +83 -0
- package/tokens/breakpoints.json +30 -0
- package/tokens/components/celestial-background.json +106 -0
- package/tokens/effects.json +125 -0
- package/tokens/hero.json +69 -0
- package/tokens/index.ts +156 -9
- package/tokens/motion.json +33 -0
- package/tokens/utilities.ts +594 -177
- package/tokens/z-index.json +27 -0
- package/dist/index.cjs +0 -1190
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -5853
package/tokens/hero.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hero": {
|
|
3
|
+
"title": {
|
|
4
|
+
"fontSize": {
|
|
5
|
+
"mobile": "1.5rem",
|
|
6
|
+
"responsive": "4vw",
|
|
7
|
+
"desktop": "3.5rem",
|
|
8
|
+
"clamp": "clamp(1.5rem, 4vw, 3.5rem)"
|
|
9
|
+
},
|
|
10
|
+
"lineHeight": "1.2",
|
|
11
|
+
"letterSpacing": "-0.02em",
|
|
12
|
+
"wordSpacing": "0.05em",
|
|
13
|
+
"fontWeight": "800",
|
|
14
|
+
"filter": "brightness(1.2) contrast(1.1)",
|
|
15
|
+
"textShadow": {
|
|
16
|
+
"dark": "0 0 40px rgba(34, 211, 238, 1), 0 0 60px rgba(103, 232, 249, 0.8), 0 2px 4px rgba(0, 0, 0, 0.5)",
|
|
17
|
+
"light": "0 0 30px rgba(37, 99, 235, 0.8), 0 0 50px rgba(59, 130, 246, 0.6), 0 2px 4px rgba(0, 0, 0, 0.3)"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"subtitle": {
|
|
21
|
+
"fontSize": {
|
|
22
|
+
"mobile": "0.875rem",
|
|
23
|
+
"responsive": "1.5vw",
|
|
24
|
+
"desktop": "1.25rem",
|
|
25
|
+
"clamp": "clamp(0.875rem, 1.5vw, 1.25rem)"
|
|
26
|
+
},
|
|
27
|
+
"lineHeight": "1.6",
|
|
28
|
+
"letterSpacing": "0.01em",
|
|
29
|
+
"fontWeight": "400",
|
|
30
|
+
"maxWidth": "56rem",
|
|
31
|
+
"textShadow": {
|
|
32
|
+
"dark": "0 0 20px rgba(52, 211, 153, 0.6)",
|
|
33
|
+
"light": "0 0 20px rgba(16, 185, 129, 0.5)"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"container": {
|
|
37
|
+
"maxWidth": {
|
|
38
|
+
"mobile": "90vw",
|
|
39
|
+
"sm": "48rem",
|
|
40
|
+
"md": "56rem",
|
|
41
|
+
"lg": "64rem"
|
|
42
|
+
},
|
|
43
|
+
"padding": {
|
|
44
|
+
"top": "clamp(3rem, 10vh, 8rem)",
|
|
45
|
+
"bottom": "clamp(3rem, 10vh, 8rem)",
|
|
46
|
+
"x": {
|
|
47
|
+
"mobile": "1rem",
|
|
48
|
+
"sm": "1.5rem",
|
|
49
|
+
"md": "2rem"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"gap": "clamp(1.5rem, 3vh, 2.5rem)"
|
|
53
|
+
},
|
|
54
|
+
"effects": {
|
|
55
|
+
"cyberpunk": {
|
|
56
|
+
"glitch": {
|
|
57
|
+
"animation": "glitch 2s infinite",
|
|
58
|
+
"animationDelay": "0s, 0.3s, 0.6s"
|
|
59
|
+
},
|
|
60
|
+
"neon": {
|
|
61
|
+
"animation": "neon-pulse 1.5s ease-in-out infinite alternate"
|
|
62
|
+
},
|
|
63
|
+
"flicker": {
|
|
64
|
+
"animation": "flicker 3s linear infinite"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
package/tokens/index.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* framework ou tecnologia, garantindo consistência visual.
|
|
8
8
|
*
|
|
9
9
|
* @module tokens
|
|
10
|
-
* @version
|
|
10
|
+
* @version 2.0.0
|
|
11
11
|
* @author Rainer Teixeira
|
|
12
12
|
* @since 1.0.0
|
|
13
13
|
*/
|
|
@@ -19,6 +19,12 @@ import spacing from './spacing.json';
|
|
|
19
19
|
import radius from './radius.json';
|
|
20
20
|
import shadows from './shadows.json';
|
|
21
21
|
import animations from './animations.json';
|
|
22
|
+
import hero from './hero.json';
|
|
23
|
+
import effects from './effects.json';
|
|
24
|
+
import celestialBackground from './components/celestial-background.json';
|
|
25
|
+
import motion from './motion.json';
|
|
26
|
+
import breakpoints from './breakpoints.json';
|
|
27
|
+
import zIndex from './z-index.json';
|
|
22
28
|
|
|
23
29
|
// Utility tokens (Tailwind CSS classes)
|
|
24
30
|
export * from './utilities';
|
|
@@ -48,7 +54,7 @@ export * from './accessibility';
|
|
|
48
54
|
*
|
|
49
55
|
* @example
|
|
50
56
|
* ```typescript
|
|
51
|
-
* import { tokens } from '
|
|
57
|
+
* import { tokens } from '@rainersoft/design-tokens';
|
|
52
58
|
*
|
|
53
59
|
* // Acessar cor primária do tema claro
|
|
54
60
|
* const primaryColor = tokens.colors.light.brand.primary;
|
|
@@ -67,6 +73,14 @@ export const tokens = {
|
|
|
67
73
|
radius: radius.radius,
|
|
68
74
|
shadows: shadows.shadows,
|
|
69
75
|
animations: animations.animations,
|
|
76
|
+
motion: motion.motion,
|
|
77
|
+
breakpoints: breakpoints.breakpoints,
|
|
78
|
+
zIndex: zIndex.zIndex,
|
|
79
|
+
hero: hero.hero,
|
|
80
|
+
effects: effects.effects,
|
|
81
|
+
components: {
|
|
82
|
+
celestialBackground: celestialBackground.celestialBackground,
|
|
83
|
+
},
|
|
70
84
|
} as const;
|
|
71
85
|
|
|
72
86
|
/**
|
|
@@ -81,7 +95,7 @@ export const tokens = {
|
|
|
81
95
|
*
|
|
82
96
|
* @example
|
|
83
97
|
* ```typescript
|
|
84
|
-
* import { lightThemeColors } from '
|
|
98
|
+
* import { lightThemeColors } from '@rainersoft/design-tokens';
|
|
85
99
|
*
|
|
86
100
|
* const primaryColor = lightThemeColors.brand.primary;
|
|
87
101
|
* ```
|
|
@@ -100,7 +114,7 @@ export const lightThemeColors = lightColors.colors;
|
|
|
100
114
|
*
|
|
101
115
|
* @example
|
|
102
116
|
* ```typescript
|
|
103
|
-
* import { darkThemeColors } from '
|
|
117
|
+
* import { darkThemeColors } from '@rainersoft/design-tokens';
|
|
104
118
|
*
|
|
105
119
|
* const neonColor = darkThemeColors.accent.cyan;
|
|
106
120
|
* ```
|
|
@@ -120,7 +134,7 @@ export const darkThemeColors = darkColors.colors;
|
|
|
120
134
|
*
|
|
121
135
|
* @example
|
|
122
136
|
* ```typescript
|
|
123
|
-
* import { typographyTokens } from '
|
|
137
|
+
* import { typographyTokens } from '@rainersoft/design-tokens';
|
|
124
138
|
*
|
|
125
139
|
* const fontSize = typographyTokens.fontSize.lg;
|
|
126
140
|
* const fontFamily = typographyTokens.fontFamily.sans;
|
|
@@ -141,7 +155,7 @@ export const typographyTokens = typography.typography;
|
|
|
141
155
|
*
|
|
142
156
|
* @example
|
|
143
157
|
* ```typescript
|
|
144
|
-
* import { spacingTokens } from '
|
|
158
|
+
* import { spacingTokens } from '@rainersoft/design-tokens';
|
|
145
159
|
*
|
|
146
160
|
* const margin = spacingTokens.md;
|
|
147
161
|
* const padding = spacingTokens.lg;
|
|
@@ -161,7 +175,7 @@ export const spacingTokens = spacing.spacing;
|
|
|
161
175
|
*
|
|
162
176
|
* @example
|
|
163
177
|
* ```typescript
|
|
164
|
-
* import { radiusTokens } from '
|
|
178
|
+
* import { radiusTokens } from '@rainersoft/design-tokens';
|
|
165
179
|
*
|
|
166
180
|
* const borderRadius = radiusTokens.md;
|
|
167
181
|
* ```
|
|
@@ -181,7 +195,7 @@ export const radiusTokens = radius.radius;
|
|
|
181
195
|
*
|
|
182
196
|
* @example
|
|
183
197
|
* ```typescript
|
|
184
|
-
* import { shadowTokens } from '
|
|
198
|
+
* import { shadowTokens } from '@rainersoft/design-tokens';
|
|
185
199
|
*
|
|
186
200
|
* const shadow = shadowTokens.light.md;
|
|
187
201
|
* const glow = shadowTokens.dark.glow.cyan;
|
|
@@ -202,7 +216,7 @@ export const shadowTokens = shadows.shadows;
|
|
|
202
216
|
*
|
|
203
217
|
* @example
|
|
204
218
|
* ```typescript
|
|
205
|
-
* import { animationTokens } from '
|
|
219
|
+
* import { animationTokens } from '@rainersoft/design-tokens';
|
|
206
220
|
*
|
|
207
221
|
* const slideIn = animationTokens['slide-in'];
|
|
208
222
|
* const fadeIn = animationTokens['fade-in'];
|
|
@@ -210,6 +224,112 @@ export const shadowTokens = shadows.shadows;
|
|
|
210
224
|
*/
|
|
211
225
|
export const animationTokens = animations.animations;
|
|
212
226
|
|
|
227
|
+
/**
|
|
228
|
+
* Tokens de efeitos visuais
|
|
229
|
+
*
|
|
230
|
+
* @description
|
|
231
|
+
* Exporta todos os tokens de efeitos visuais, incluindo filters, blur,
|
|
232
|
+
* glow, backdrop effects e outros efeitos para criar elementos visuais sofisticados.
|
|
233
|
+
*
|
|
234
|
+
* @type {Object}
|
|
235
|
+
* @constant
|
|
236
|
+
* @readonly
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* ```typescript
|
|
240
|
+
* import { effectTokens } from '@rainersoft/design-tokens';
|
|
241
|
+
*
|
|
242
|
+
* const blur = effectTokens.blur.md;
|
|
243
|
+
* const glow = effectTokens.glow.neon.cyan.moderate;
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
export const effectTokens = effects.effects;
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Tokens de componentes
|
|
250
|
+
*
|
|
251
|
+
* @description
|
|
252
|
+
* Exporta todos os tokens específicos de componentes, incluindo configurações
|
|
253
|
+
* para celestial background, carousels e outros componentes visuais.
|
|
254
|
+
*
|
|
255
|
+
* @type {Object}
|
|
256
|
+
* @constant
|
|
257
|
+
* @readonly
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```typescript
|
|
261
|
+
* import { componentTokens } from '@rainersoft/design-tokens';
|
|
262
|
+
*
|
|
263
|
+
* const starConfig = componentTokens.celestialBackground.stars.default;
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
export const componentTokens = {
|
|
267
|
+
celestialBackground: celestialBackground.celestialBackground,
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Tokens de motion
|
|
272
|
+
*
|
|
273
|
+
* @description
|
|
274
|
+
* Exporta todos os tokens relacionados a motion e animações, incluindo
|
|
275
|
+
* durações, easings, keyframes e transições seguindo Material Design e Fluent Design.
|
|
276
|
+
*
|
|
277
|
+
* @type {Object}
|
|
278
|
+
* @constant
|
|
279
|
+
* @readonly
|
|
280
|
+
*
|
|
281
|
+
* @example
|
|
282
|
+
* ```typescript
|
|
283
|
+
* import { motionTokens } from '@rainersoft/design-tokens';
|
|
284
|
+
*
|
|
285
|
+
* const duration = motionTokens.duration.normal;
|
|
286
|
+
* const easing = motionTokens.easing.standard.productive;
|
|
287
|
+
* ```
|
|
288
|
+
*/
|
|
289
|
+
export const motionTokens = motion.motion;
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Tokens de breakpoints
|
|
293
|
+
*
|
|
294
|
+
* @description
|
|
295
|
+
* Exporta todos os tokens de breakpoints responsivos para criar layouts
|
|
296
|
+
* mobile-first consistentes em todas as plataformas.
|
|
297
|
+
*
|
|
298
|
+
* @type {Object}
|
|
299
|
+
* @constant
|
|
300
|
+
* @readonly
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```typescript
|
|
304
|
+
* import { breakpointTokens } from '@rainersoft/design-tokens';
|
|
305
|
+
*
|
|
306
|
+
* const tabletSize = breakpointTokens.md;
|
|
307
|
+
* const mediaQuery = breakpointTokens.mediaQueries.lg;
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
export const breakpointTokens = breakpoints.breakpoints;
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Tokens de z-index
|
|
314
|
+
*
|
|
315
|
+
* @description
|
|
316
|
+
* Exporta todos os tokens de z-index para gerenciar camadas e sobreposições
|
|
317
|
+
* de forma consistente e escalável.
|
|
318
|
+
*
|
|
319
|
+
* @type {Object}
|
|
320
|
+
* @constant
|
|
321
|
+
* @readonly
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* ```typescript
|
|
325
|
+
* import { zIndexTokens } from '@rainersoft/design-tokens';
|
|
326
|
+
*
|
|
327
|
+
* const modalLayer = zIndexTokens.modal;
|
|
328
|
+
* const tooltipLayer = zIndexTokens.tooltip;
|
|
329
|
+
* ```
|
|
330
|
+
*/
|
|
331
|
+
export const zIndexTokens = zIndex.zIndex;
|
|
332
|
+
|
|
213
333
|
/**
|
|
214
334
|
* Tipo TypeScript para todos os tokens
|
|
215
335
|
*
|
|
@@ -283,6 +403,33 @@ export type Shadows = typeof shadows.shadows;
|
|
|
283
403
|
*/
|
|
284
404
|
export type Animations = typeof animations.animations;
|
|
285
405
|
|
|
406
|
+
/**
|
|
407
|
+
* Tipo TypeScript para tokens de motion
|
|
408
|
+
*
|
|
409
|
+
* @typedef {Object} Motion
|
|
410
|
+
* @description
|
|
411
|
+
* Tipo que representa todos os tokens de motion.
|
|
412
|
+
*/
|
|
413
|
+
export type Motion = typeof motion.motion;
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Tipo TypeScript para tokens de breakpoints
|
|
417
|
+
*
|
|
418
|
+
* @typedef {Object} Breakpoints
|
|
419
|
+
* @description
|
|
420
|
+
* Tipo que representa todos os tokens de breakpoints responsivos.
|
|
421
|
+
*/
|
|
422
|
+
export type Breakpoints = typeof breakpoints.breakpoints;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Tipo TypeScript para tokens de z-index
|
|
426
|
+
*
|
|
427
|
+
* @typedef {Object} ZIndex
|
|
428
|
+
* @description
|
|
429
|
+
* Tipo que representa todos os tokens de z-index.
|
|
430
|
+
*/
|
|
431
|
+
export type ZIndex = typeof zIndex.zIndex;
|
|
432
|
+
|
|
286
433
|
/**
|
|
287
434
|
* Exportação padrão dos tokens
|
|
288
435
|
*
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/theme.json",
|
|
3
|
+
"$description": "Motion tokens - Durations, easings, and transitions for animations",
|
|
4
|
+
"motion": {
|
|
5
|
+
"duration": {
|
|
6
|
+
"instant": "0ms",
|
|
7
|
+
"fast": "100ms",
|
|
8
|
+
"normal": "200ms",
|
|
9
|
+
"slow": "300ms",
|
|
10
|
+
"slower": "500ms",
|
|
11
|
+
"slowest": "800ms"
|
|
12
|
+
},
|
|
13
|
+
"easing": {
|
|
14
|
+
"linear": "linear",
|
|
15
|
+
"easeIn": "cubic-bezier(0.4, 0, 1, 1)",
|
|
16
|
+
"easeOut": "cubic-bezier(0, 0, 0.2, 1)",
|
|
17
|
+
"easeInOut": "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
18
|
+
"easeInQuad": "cubic-bezier(0.55, 0.085, 0.68, 0.53)",
|
|
19
|
+
"easeOutQuad": "cubic-bezier(0.25, 0.46, 0.45, 0.94)",
|
|
20
|
+
"easeInOutQuad": "cubic-bezier(0.455, 0.03, 0.515, 0.955)",
|
|
21
|
+
"easeInCubic": "cubic-bezier(0.55, 0.055, 0.675, 0.19)",
|
|
22
|
+
"easeOutCubic": "cubic-bezier(0.215, 0.61, 0.355, 1)",
|
|
23
|
+
"easeInOutCubic": "cubic-bezier(0.645, 0.045, 0.355, 1)",
|
|
24
|
+
"spring": "cubic-bezier(0.68, -0.55, 0.265, 1.55)"
|
|
25
|
+
},
|
|
26
|
+
"delay": {
|
|
27
|
+
"none": "0ms",
|
|
28
|
+
"short": "50ms",
|
|
29
|
+
"medium": "100ms",
|
|
30
|
+
"long": "200ms"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|