@rainersoft/design-tokens 1.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/dist/index.js ADDED
@@ -0,0 +1,898 @@
1
+ // tokens/colors/light.json
2
+ var light_default = {
3
+ $schema: "https://json.schemastore.org/theme.json",
4
+ $description: "Light theme color palette - Modern and professional design with WCAG AA compliance",
5
+ colors: {
6
+ primary: {
7
+ base: "#0891b2",
8
+ hover: "#0e7490",
9
+ active: "#155e75",
10
+ disabled: "#d4d4d4",
11
+ focus: "#0891b2",
12
+ background: "#ecfeff",
13
+ backgroundHover: "#cffafe",
14
+ backgroundActive: "#a5f3fc",
15
+ border: "#0891b2",
16
+ borderHover: "#0e7490",
17
+ borderFocus: "#06b6d4",
18
+ text: "#ffffff",
19
+ textHover: "#ffffff",
20
+ textDisabled: "#a3a3a3"
21
+ },
22
+ secondary: {
23
+ base: "#9333ea",
24
+ hover: "#7e22ce",
25
+ active: "#6b21a8",
26
+ disabled: "#d4d4d4",
27
+ focus: "#9333ea",
28
+ background: "#faf5ff",
29
+ backgroundHover: "#f3e8ff",
30
+ backgroundActive: "#e9d5ff",
31
+ border: "#9333ea",
32
+ borderHover: "#7e22ce",
33
+ borderFocus: "#a855f7",
34
+ text: "#ffffff",
35
+ textHover: "#ffffff",
36
+ textDisabled: "#a3a3a3"
37
+ },
38
+ accent: {
39
+ base: "#db2777",
40
+ hover: "#be185d",
41
+ active: "#9f1239",
42
+ disabled: "#d4d4d4",
43
+ focus: "#db2777",
44
+ background: "#fdf2f8",
45
+ backgroundHover: "#fce7f3",
46
+ backgroundActive: "#fbcfe8",
47
+ border: "#db2777",
48
+ borderHover: "#be185d",
49
+ borderFocus: "#ec4899",
50
+ text: "#ffffff",
51
+ textHover: "#ffffff",
52
+ textDisabled: "#a3a3a3"
53
+ },
54
+ background: {
55
+ primary: "#ffffff",
56
+ secondary: "#fafafa",
57
+ tertiary: "#f5f5f5",
58
+ inverse: "#0a0a0f",
59
+ overlay: "rgba(0, 0, 0, 0.5)",
60
+ muted: "#f9fafb"
61
+ },
62
+ surface: {
63
+ primary: "#ffffff",
64
+ secondary: "#fafafa",
65
+ tertiary: "#f5f5f5",
66
+ elevated: "#ffffff",
67
+ overlay: "rgba(0, 0, 0, 0.5)",
68
+ hover: "#f9fafb",
69
+ active: "#f3f4f6"
70
+ },
71
+ text: {
72
+ primary: "#171717",
73
+ secondary: "#404040",
74
+ tertiary: "#737373",
75
+ inverse: "#ffffff",
76
+ disabled: "#a3a3a3",
77
+ link: "#0891b2",
78
+ linkHover: "#0e7490",
79
+ linkActive: "#155e75",
80
+ linkVisited: "#7e22ce",
81
+ onPrimary: "#ffffff",
82
+ onSecondary: "#ffffff",
83
+ onAccent: "#ffffff",
84
+ onBackground: "#171717",
85
+ onSurface: "#171717"
86
+ },
87
+ border: {
88
+ primary: "#e5e5e5",
89
+ secondary: "#d4d4d4",
90
+ tertiary: "#a3a3a3",
91
+ focus: "#0891b2",
92
+ focusRing: "#06b6d4",
93
+ inverse: "#404040",
94
+ hover: "#d4d4d4",
95
+ active: "#a3a3a3",
96
+ disabled: "#e5e5e5"
97
+ },
98
+ status: {
99
+ success: {
100
+ base: "#22c55e",
101
+ hover: "#16a34a",
102
+ active: "#15803d",
103
+ background: "#f0fdf4",
104
+ backgroundHover: "#dcfce7",
105
+ border: "#86efac",
106
+ text: "#ffffff",
107
+ textOnBackground: "#166534"
108
+ },
109
+ warning: {
110
+ base: "#f59e0b",
111
+ hover: "#d97706",
112
+ active: "#b45309",
113
+ background: "#fffbeb",
114
+ backgroundHover: "#fef3c7",
115
+ border: "#fcd34d",
116
+ text: "#ffffff",
117
+ textOnBackground: "#92400e"
118
+ },
119
+ error: {
120
+ base: "#ef4444",
121
+ hover: "#dc2626",
122
+ active: "#b91c1c",
123
+ background: "#fef2f2",
124
+ backgroundHover: "#fee2e2",
125
+ border: "#fca5a5",
126
+ text: "#ffffff",
127
+ textOnBackground: "#991b1b"
128
+ },
129
+ info: {
130
+ base: "#3b82f6",
131
+ hover: "#2563eb",
132
+ active: "#1d4ed8",
133
+ background: "#eff6ff",
134
+ backgroundHover: "#dbeafe",
135
+ border: "#93c5fd",
136
+ text: "#ffffff",
137
+ textOnBackground: "#1e40af"
138
+ }
139
+ },
140
+ interactive: {
141
+ default: "#0891b2",
142
+ hover: "#0e7490",
143
+ active: "#155e75",
144
+ disabled: "#d4d4d4",
145
+ disabledText: "#a3a3a3",
146
+ focus: "#0891b2",
147
+ focusRing: "#06b6d4"
148
+ }
149
+ }
150
+ };
151
+
152
+ // tokens/colors/dark.json
153
+ var dark_default = {
154
+ $schema: "https://json.schemastore.org/theme.json",
155
+ $description: "Dark theme color palette - Cyberpunk neon style with WCAG AA compliance",
156
+ colors: {
157
+ primary: {
158
+ base: "#00e6ff",
159
+ hover: "#1affff",
160
+ active: "#4dffff",
161
+ disabled: "#404040",
162
+ focus: "#00e6ff",
163
+ background: "rgba(0, 230, 255, 0.1)",
164
+ backgroundHover: "rgba(0, 230, 255, 0.15)",
165
+ backgroundActive: "rgba(0, 230, 255, 0.2)",
166
+ border: "#00e6ff",
167
+ borderHover: "#1affff",
168
+ borderFocus: "#4dffff",
169
+ text: "#0a0a0f",
170
+ textHover: "#0a0a0f",
171
+ textDisabled: "#525252"
172
+ },
173
+ secondary: {
174
+ base: "#7d00ff",
175
+ hover: "#941aff",
176
+ active: "#ab4dff",
177
+ disabled: "#404040",
178
+ focus: "#7d00ff",
179
+ background: "rgba(125, 0, 255, 0.1)",
180
+ backgroundHover: "rgba(125, 0, 255, 0.15)",
181
+ backgroundActive: "rgba(125, 0, 255, 0.2)",
182
+ border: "#7d00ff",
183
+ borderHover: "#941aff",
184
+ borderFocus: "#ab4dff",
185
+ text: "#ffffff",
186
+ textHover: "#ffffff",
187
+ textDisabled: "#525252"
188
+ },
189
+ accent: {
190
+ base: "#ff00ff",
191
+ hover: "#ff1aff",
192
+ active: "#ff4dff",
193
+ disabled: "#404040",
194
+ focus: "#ff00ff",
195
+ background: "rgba(255, 0, 255, 0.1)",
196
+ backgroundHover: "rgba(255, 0, 255, 0.15)",
197
+ backgroundActive: "rgba(255, 0, 255, 0.2)",
198
+ border: "#ff00ff",
199
+ borderHover: "#ff1aff",
200
+ borderFocus: "#ff4dff",
201
+ text: "#0a0a0f",
202
+ textHover: "#0a0a0f",
203
+ textDisabled: "#525252"
204
+ },
205
+ background: {
206
+ primary: "#0a0a0f",
207
+ secondary: "#0f0f1a",
208
+ tertiary: "#171717",
209
+ inverse: "#ffffff",
210
+ overlay: "rgba(0, 0, 0, 0.8)",
211
+ muted: "#0f0f1a"
212
+ },
213
+ surface: {
214
+ primary: "#171717",
215
+ secondary: "#262626",
216
+ tertiary: "#404040",
217
+ elevated: "#262626",
218
+ overlay: "rgba(0, 0, 0, 0.8)",
219
+ glass: "rgba(15, 15, 26, 0.7)",
220
+ glassHover: "rgba(15, 15, 26, 0.85)",
221
+ hover: "#262626",
222
+ active: "#404040"
223
+ },
224
+ text: {
225
+ primary: "#b3ffff",
226
+ secondary: "#4dffff",
227
+ tertiary: "#00e6ff",
228
+ inverse: "#0a0a0f",
229
+ disabled: "#525252",
230
+ link: "#1affff",
231
+ linkHover: "#4dffff",
232
+ linkActive: "#80ffff",
233
+ linkVisited: "#941aff",
234
+ onPrimary: "#0a0a0f",
235
+ onSecondary: "#ffffff",
236
+ onAccent: "#0a0a0f",
237
+ onBackground: "#b3ffff",
238
+ onSurface: "#b3ffff",
239
+ glow: "#00e6ff",
240
+ neonCyan: "#00e6ff",
241
+ neonPink: "#ff00ff",
242
+ neonPurple: "#7d00ff",
243
+ neonGreen: "#00ff00"
244
+ },
245
+ border: {
246
+ primary: "#262626",
247
+ secondary: "#404040",
248
+ tertiary: "#525252",
249
+ focus: "#00e6ff",
250
+ focusRing: "#1affff",
251
+ inverse: "#e5e5e5",
252
+ neon: "#00e6ff",
253
+ neonGlow: "rgba(0, 230, 255, 0.3)",
254
+ hover: "#404040",
255
+ active: "#525252",
256
+ disabled: "#262626"
257
+ },
258
+ status: {
259
+ success: {
260
+ base: "#00ff00",
261
+ hover: "#4dff4d",
262
+ active: "#80ff80",
263
+ background: "rgba(0, 255, 0, 0.1)",
264
+ backgroundHover: "rgba(0, 255, 0, 0.15)",
265
+ border: "#4dff4d",
266
+ text: "#0a0a0f",
267
+ textOnBackground: "#4dff4d"
268
+ },
269
+ warning: {
270
+ base: "#ff7d00",
271
+ hover: "#ffab4d",
272
+ active: "#ffc880",
273
+ background: "rgba(255, 125, 0, 0.1)",
274
+ backgroundHover: "rgba(255, 125, 0, 0.15)",
275
+ border: "#ffab4d",
276
+ text: "#0a0a0f",
277
+ textOnBackground: "#ffab4d"
278
+ },
279
+ error: {
280
+ base: "#f87171",
281
+ hover: "#fca5a5",
282
+ active: "#fecaca",
283
+ background: "rgba(239, 68, 68, 0.1)",
284
+ backgroundHover: "rgba(239, 68, 68, 0.15)",
285
+ border: "#fca5a5",
286
+ text: "#ffffff",
287
+ textOnBackground: "#fca5a5"
288
+ },
289
+ info: {
290
+ base: "#007dff",
291
+ hover: "#4dabff",
292
+ active: "#80c7ff",
293
+ background: "rgba(0, 125, 255, 0.1)",
294
+ backgroundHover: "rgba(0, 125, 255, 0.15)",
295
+ border: "#4dabff",
296
+ text: "#ffffff",
297
+ textOnBackground: "#4dabff"
298
+ }
299
+ },
300
+ interactive: {
301
+ default: "#00e6ff",
302
+ hover: "#1affff",
303
+ active: "#4dffff",
304
+ disabled: "#404040",
305
+ disabledText: "#525252",
306
+ focus: "#00e6ff",
307
+ focusRing: "#1affff"
308
+ },
309
+ effects: {
310
+ glowCyan: "0 0 20px rgba(0, 230, 255, 0.5), 0 0 40px rgba(0, 230, 255, 0.3)",
311
+ glowPink: "0 0 20px rgba(255, 0, 255, 0.5), 0 0 40px rgba(255, 0, 255, 0.3)",
312
+ glowPurple: "0 0 20px rgba(125, 0, 255, 0.5), 0 0 40px rgba(125, 0, 255, 0.3)",
313
+ glowGreen: "0 0 20px rgba(0, 255, 0, 0.5), 0 0 40px rgba(0, 255, 0, 0.3)",
314
+ shadowSm: "0 1px 2px 0 rgba(0, 0, 0, 0.5)",
315
+ shadowMd: "0 4px 6px -1px rgba(0, 0, 0, 0.5)",
316
+ shadowLg: "0 10px 15px -3px rgba(0, 0, 0, 0.5)"
317
+ },
318
+ gradients: {
319
+ primary: "linear-gradient(135deg, #00e6ff 0%, #7d00ff 100%)",
320
+ secondary: "linear-gradient(135deg, #ff00ff 0%, #00e6ff 100%)",
321
+ accent: "linear-gradient(135deg, #ff7d00 0%, #ff00ff 100%)",
322
+ background: "linear-gradient(180deg, #0a0a0f 0%, #0f0f1a 100%)"
323
+ }
324
+ }
325
+ };
326
+
327
+ // tokens/typography.json
328
+ var typography_default = {
329
+ $schema: "https://json.schemastore.org/theme.json",
330
+ $description: "Typography tokens - Complete typographic scale with semantic hierarchy (H1-H6, subtitles, body, captions)",
331
+ typography: {
332
+ fontFamily: {
333
+ sans: "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'",
334
+ serif: "ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif",
335
+ mono: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace",
336
+ display: "var(--font-orbitron, ui-sans-serif)",
337
+ body: "var(--font-inter, ui-sans-serif)",
338
+ code: "var(--font-rajdhani, ui-monospace)"
339
+ },
340
+ fontSize: {
341
+ xs: "0.75rem",
342
+ sm: "0.875rem",
343
+ base: "1rem",
344
+ lg: "1.125rem",
345
+ xl: "1.25rem",
346
+ "2xl": "1.5rem",
347
+ "3xl": "1.875rem",
348
+ "4xl": "2.25rem",
349
+ "5xl": "3rem",
350
+ "6xl": "3.75rem",
351
+ "7xl": "4.5rem",
352
+ "8xl": "6rem",
353
+ "9xl": "8rem"
354
+ },
355
+ fontWeight: {
356
+ thin: "100",
357
+ extralight: "200",
358
+ light: "300",
359
+ normal: "400",
360
+ medium: "500",
361
+ semibold: "600",
362
+ bold: "700",
363
+ extrabold: "800",
364
+ black: "900"
365
+ },
366
+ lineHeight: {
367
+ none: "1",
368
+ tight: "1.25",
369
+ snug: "1.375",
370
+ normal: "1.5",
371
+ relaxed: "1.625",
372
+ loose: "2"
373
+ },
374
+ letterSpacing: {
375
+ tighter: "-0.05em",
376
+ tight: "-0.025em",
377
+ normal: "0em",
378
+ wide: "0.025em",
379
+ wider: "0.05em",
380
+ widest: "0.1em"
381
+ },
382
+ headings: {
383
+ h1: {
384
+ fontFamily: "var(--font-display, ui-sans-serif)",
385
+ fontSize: "clamp(2.25rem, 5vw + 1rem, 4.5rem)",
386
+ fontSizeMobile: "2.25rem",
387
+ fontSizeTablet: "3rem",
388
+ fontSizeDesktop: "4.5rem",
389
+ fontWeight: "900",
390
+ lineHeight: "1.1",
391
+ letterSpacing: "-0.02em",
392
+ marginBottom: "1rem"
393
+ },
394
+ h2: {
395
+ fontFamily: "var(--font-display, ui-sans-serif)",
396
+ fontSize: "clamp(1.875rem, 4vw + 0.75rem, 3.75rem)",
397
+ fontSizeMobile: "1.875rem",
398
+ fontSizeTablet: "2.5rem",
399
+ fontSizeDesktop: "3.75rem",
400
+ fontWeight: "800",
401
+ lineHeight: "1.15",
402
+ letterSpacing: "-0.015em",
403
+ marginBottom: "0.875rem"
404
+ },
405
+ h3: {
406
+ fontFamily: "var(--font-display, ui-sans-serif)",
407
+ fontSize: "clamp(1.5rem, 3vw + 0.5rem, 3rem)",
408
+ fontSizeMobile: "1.5rem",
409
+ fontSizeTablet: "2rem",
410
+ fontSizeDesktop: "3rem",
411
+ fontWeight: "700",
412
+ lineHeight: "1.2",
413
+ letterSpacing: "-0.01em",
414
+ marginBottom: "0.75rem"
415
+ },
416
+ h4: {
417
+ fontFamily: "var(--font-body, ui-sans-serif)",
418
+ fontSize: "clamp(1.25rem, 2.5vw + 0.5rem, 2.25rem)",
419
+ fontSizeMobile: "1.25rem",
420
+ fontSizeTablet: "1.75rem",
421
+ fontSizeDesktop: "2.25rem",
422
+ fontWeight: "700",
423
+ lineHeight: "1.25",
424
+ letterSpacing: "0em",
425
+ marginBottom: "0.625rem"
426
+ },
427
+ h5: {
428
+ fontFamily: "var(--font-body, ui-sans-serif)",
429
+ fontSize: "clamp(1.125rem, 2vw + 0.25rem, 1.875rem)",
430
+ fontSizeMobile: "1.125rem",
431
+ fontSizeTablet: "1.5rem",
432
+ fontSizeDesktop: "1.875rem",
433
+ fontWeight: "600",
434
+ lineHeight: "1.3",
435
+ letterSpacing: "0em",
436
+ marginBottom: "0.5rem"
437
+ },
438
+ h6: {
439
+ fontFamily: "var(--font-body, ui-sans-serif)",
440
+ fontSize: "clamp(1rem, 1.5vw + 0.25rem, 1.5rem)",
441
+ fontSizeMobile: "1rem",
442
+ fontSizeTablet: "1.25rem",
443
+ fontSizeDesktop: "1.5rem",
444
+ fontWeight: "600",
445
+ lineHeight: "1.35",
446
+ letterSpacing: "0.01em",
447
+ marginBottom: "0.5rem"
448
+ }
449
+ },
450
+ subtitle: {
451
+ large: {
452
+ fontFamily: "var(--font-body, ui-sans-serif)",
453
+ fontSize: "clamp(1.25rem, 2vw + 0.5rem, 2rem)",
454
+ fontSizeMobile: "1.25rem",
455
+ fontSizeTablet: "1.5rem",
456
+ fontSizeDesktop: "2rem",
457
+ fontWeight: "500",
458
+ lineHeight: "1.4",
459
+ letterSpacing: "0em",
460
+ marginBottom: "0.5rem"
461
+ },
462
+ medium: {
463
+ fontFamily: "var(--font-body, ui-sans-serif)",
464
+ fontSize: "clamp(1.125rem, 1.5vw + 0.25rem, 1.5rem)",
465
+ fontSizeMobile: "1.125rem",
466
+ fontSizeTablet: "1.25rem",
467
+ fontSizeDesktop: "1.5rem",
468
+ fontWeight: "500",
469
+ lineHeight: "1.4",
470
+ letterSpacing: "0em",
471
+ marginBottom: "0.5rem"
472
+ },
473
+ small: {
474
+ fontFamily: "var(--font-body, ui-sans-serif)",
475
+ fontSize: "1rem",
476
+ fontWeight: "500",
477
+ lineHeight: "1.4",
478
+ letterSpacing: "0em",
479
+ marginBottom: "0.375rem"
480
+ }
481
+ },
482
+ body: {
483
+ large: {
484
+ fontFamily: "var(--font-body, ui-sans-serif)",
485
+ fontSize: "1.125rem",
486
+ fontWeight: "400",
487
+ lineHeight: "1.625",
488
+ letterSpacing: "0em"
489
+ },
490
+ medium: {
491
+ fontFamily: "var(--font-body, ui-sans-serif)",
492
+ fontSize: "1rem",
493
+ fontWeight: "400",
494
+ lineHeight: "1.5",
495
+ letterSpacing: "0em"
496
+ },
497
+ small: {
498
+ fontFamily: "var(--font-body, ui-sans-serif)",
499
+ fontSize: "0.875rem",
500
+ fontWeight: "400",
501
+ lineHeight: "1.5",
502
+ letterSpacing: "0em"
503
+ }
504
+ },
505
+ caption: {
506
+ large: {
507
+ fontFamily: "var(--font-body, ui-sans-serif)",
508
+ fontSize: "0.875rem",
509
+ fontWeight: "400",
510
+ lineHeight: "1.4",
511
+ letterSpacing: "0.01em"
512
+ },
513
+ medium: {
514
+ fontFamily: "var(--font-body, ui-sans-serif)",
515
+ fontSize: "0.75rem",
516
+ fontWeight: "400",
517
+ lineHeight: "1.4",
518
+ letterSpacing: "0.01em"
519
+ },
520
+ small: {
521
+ fontFamily: "var(--font-body, ui-sans-serif)",
522
+ fontSize: "0.625rem",
523
+ fontWeight: "400",
524
+ lineHeight: "1.3",
525
+ letterSpacing: "0.02em"
526
+ }
527
+ },
528
+ button: {
529
+ large: {
530
+ fontFamily: "var(--font-body, ui-sans-serif)",
531
+ fontSize: "1.125rem",
532
+ fontWeight: "600",
533
+ lineHeight: "1.5",
534
+ letterSpacing: "0.01em"
535
+ },
536
+ medium: {
537
+ fontFamily: "var(--font-body, ui-sans-serif)",
538
+ fontSize: "1rem",
539
+ fontWeight: "600",
540
+ lineHeight: "1.5",
541
+ letterSpacing: "0.01em"
542
+ },
543
+ small: {
544
+ fontFamily: "var(--font-body, ui-sans-serif)",
545
+ fontSize: "0.875rem",
546
+ fontWeight: "600",
547
+ lineHeight: "1.4",
548
+ letterSpacing: "0.01em"
549
+ }
550
+ },
551
+ label: {
552
+ large: {
553
+ fontFamily: "var(--font-body, ui-sans-serif)",
554
+ fontSize: "0.875rem",
555
+ fontWeight: "600",
556
+ lineHeight: "1.4",
557
+ letterSpacing: "0.01em"
558
+ },
559
+ medium: {
560
+ fontFamily: "var(--font-body, ui-sans-serif)",
561
+ fontSize: "0.75rem",
562
+ fontWeight: "600",
563
+ lineHeight: "1.4",
564
+ letterSpacing: "0.01em"
565
+ },
566
+ small: {
567
+ fontFamily: "var(--font-body, ui-sans-serif)",
568
+ fontSize: "0.625rem",
569
+ fontWeight: "600",
570
+ lineHeight: "1.3",
571
+ letterSpacing: "0.02em"
572
+ }
573
+ },
574
+ code: {
575
+ inline: {
576
+ fontFamily: "var(--font-code, ui-monospace)",
577
+ fontSize: "0.875em",
578
+ fontWeight: "400",
579
+ lineHeight: "1.5",
580
+ letterSpacing: "0em"
581
+ },
582
+ block: {
583
+ fontFamily: "var(--font-code, ui-monospace)",
584
+ fontSize: "0.875rem",
585
+ fontWeight: "400",
586
+ lineHeight: "1.6",
587
+ letterSpacing: "0em"
588
+ }
589
+ }
590
+ }
591
+ };
592
+
593
+ // tokens/spacing.json
594
+ var spacing_default = {
595
+ $schema: "https://json.schemastore.org/theme.json",
596
+ $description: "Spacing tokens - Consistent spacing scale based on 8pt grid",
597
+ spacing: {
598
+ "0": "0px",
599
+ px: "1px",
600
+ "0.5": "0.125rem",
601
+ "1": "0.25rem",
602
+ "1.5": "0.375rem",
603
+ "2": "0.5rem",
604
+ "2.5": "0.625rem",
605
+ "3": "0.75rem",
606
+ "3.5": "0.875rem",
607
+ "4": "1rem",
608
+ "5": "1.25rem",
609
+ "6": "1.5rem",
610
+ "7": "1.75rem",
611
+ "8": "2rem",
612
+ "9": "2.25rem",
613
+ "10": "2.5rem",
614
+ "11": "2.75rem",
615
+ "12": "3rem",
616
+ "14": "3.5rem",
617
+ "16": "4rem",
618
+ "20": "5rem",
619
+ "24": "6rem",
620
+ "28": "7rem",
621
+ "32": "8rem",
622
+ "36": "9rem",
623
+ "40": "10rem",
624
+ "44": "11rem",
625
+ "48": "12rem",
626
+ "52": "13rem",
627
+ "56": "14rem",
628
+ "60": "15rem",
629
+ "64": "16rem",
630
+ "72": "18rem",
631
+ "80": "20rem",
632
+ "96": "24rem"
633
+ }
634
+ };
635
+
636
+ // tokens/radius.json
637
+ var radius_default = {
638
+ $schema: "https://json.schemastore.org/theme.json",
639
+ $description: "Border radius tokens - Consistent corner rounding",
640
+ radius: {
641
+ none: "0px",
642
+ sm: "0.125rem",
643
+ base: "0.25rem",
644
+ md: "0.375rem",
645
+ lg: "0.5rem",
646
+ xl: "0.75rem",
647
+ "2xl": "1rem",
648
+ "3xl": "1.5rem",
649
+ full: "9999px"
650
+ }
651
+ };
652
+
653
+ // tokens/shadows.json
654
+ var shadows_default = {
655
+ $schema: "https://json.schemastore.org/theme.json",
656
+ $description: "Shadow tokens - Elevation and depth",
657
+ shadows: {
658
+ light: {
659
+ xs: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
660
+ sm: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",
661
+ base: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",
662
+ md: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",
663
+ lg: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)",
664
+ xl: "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
665
+ "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
666
+ inner: "inset 0 2px 4px 0 rgba(0, 0, 0, 0.05)"
667
+ },
668
+ dark: {
669
+ xs: "0 1px 2px 0 rgba(0, 0, 0, 0.5)",
670
+ sm: "0 1px 3px 0 rgba(0, 0, 0, 0.5), 0 1px 2px -1px rgba(0, 0, 0, 0.5)",
671
+ base: "0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -2px rgba(0, 0, 0, 0.5)",
672
+ md: "0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.5)",
673
+ lg: "0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5)",
674
+ xl: "0 25px 50px -12px rgba(0, 0, 0, 0.75)",
675
+ "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.75)",
676
+ inner: "inset 0 2px 4px 0 rgba(0, 0, 0, 0.5)",
677
+ glow: {
678
+ cyan: "0 0 20px rgba(0, 230, 255, 0.5), 0 0 40px rgba(0, 230, 255, 0.3)",
679
+ pink: "0 0 20px rgba(255, 0, 255, 0.5), 0 0 40px rgba(255, 0, 255, 0.3)",
680
+ purple: "0 0 20px rgba(125, 0, 255, 0.5), 0 0 40px rgba(125, 0, 255, 0.3)",
681
+ green: "0 0 20px rgba(0, 255, 0, 0.5), 0 0 40px rgba(0, 255, 0, 0.3)"
682
+ }
683
+ }
684
+ }
685
+ };
686
+
687
+ // tokens/utilities.ts
688
+ var GRADIENT_DIRECTIONS = {
689
+ TO_TOP: "bg-gradient-to-t",
690
+ TO_BOTTOM: "bg-gradient-to-b",
691
+ TO_LEFT: "bg-gradient-to-l",
692
+ TO_RIGHT: "bg-gradient-to-r",
693
+ TO_TL: "bg-gradient-to-tl",
694
+ TO_TR: "bg-gradient-to-tr",
695
+ TO_BL: "bg-gradient-to-bl",
696
+ TO_BR: "bg-gradient-to-br"
697
+ };
698
+ var GRADIENTS = {
699
+ // Gradientes de texto
700
+ TEXT_PRIMARY: "bg-gradient-to-r from-cyan-400 via-purple-400 to-pink-400 bg-clip-text text-transparent",
701
+ // Gradientes decorativos
702
+ DECORATIVE_PRIMARY: "bg-gradient-to-br from-cyan-500 via-purple-500 to-pink-500",
703
+ DECORATIVE_CYAN_PURPLE: "bg-gradient-to-r from-cyan-500 to-purple-500",
704
+ DECORATIVE_GREEN_EMERALD: "bg-gradient-to-br from-green-500 to-emerald-500",
705
+ // Gradientes de botões
706
+ BUTTON_CYAN_BLUE: "bg-gradient-to-r from-cyan-500 to-blue-500",
707
+ BUTTON_PURPLE_PINK: "bg-gradient-to-r from-purple-500 to-pink-500"
708
+ };
709
+ var BACKGROUND = {
710
+ // Background completo
711
+ FULL: "bg-background",
712
+ // Overlay de gradiente
713
+ GRADIENT_OVERLAY: "bg-gradient-to-br from-cyan-500/10 via-purple-500/10 to-pink-500/10",
714
+ // Divisores premium
715
+ PREMIUM_DIVIDER_CONTAINER: "bg-gradient-to-b from-transparent via-cyan-500/5 to-transparent",
716
+ PREMIUM_DIVIDER_LINE: "bg-gradient-to-r from-transparent via-cyan-400/50 to-transparent",
717
+ // Backgrounds de seção
718
+ SECTION_CYAN: "bg-gradient-to-br from-cyan-500/5 via-cyan-500/3 to-transparent",
719
+ SECTION_CYAN_VIA: "bg-gradient-to-br from-transparent via-cyan-500/5 to-transparent",
720
+ SECTION_PURPLE_VIA: "bg-gradient-to-br from-transparent via-purple-500/5 to-transparent",
721
+ SECTION_PINK_VIA: "bg-gradient-to-br from-transparent via-pink-500/5 to-transparent"
722
+ };
723
+
724
+ // tokens/accessibility.ts
725
+ function hexToRgb(hex) {
726
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
727
+ if (!result) {
728
+ throw new Error(`Invalid hex color: ${hex}`);
729
+ }
730
+ return {
731
+ r: parseInt(result[1], 16),
732
+ g: parseInt(result[2], 16),
733
+ b: parseInt(result[3], 16)
734
+ };
735
+ }
736
+ function getLuminance(r, g, b) {
737
+ const [rs, gs, bs] = [r, g, b].map((val) => {
738
+ const v = val / 255;
739
+ return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);
740
+ });
741
+ return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;
742
+ }
743
+ function getContrast(color1, color2) {
744
+ const rgb1 = hexToRgb(color1);
745
+ const rgb2 = hexToRgb(color2);
746
+ const lum1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);
747
+ const lum2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);
748
+ const lighter = Math.max(lum1, lum2);
749
+ const darker = Math.min(lum1, lum2);
750
+ return (lighter + 0.05) / (darker + 0.05);
751
+ }
752
+ function meetsWCAGAA(foreground, background, largeText = false) {
753
+ const contrast = getContrast(foreground, background);
754
+ return largeText ? contrast >= 3 : contrast >= 4.5;
755
+ }
756
+ function meetsWCAGAAA(foreground, background, largeText = false) {
757
+ const contrast = getContrast(foreground, background);
758
+ return largeText ? contrast >= 4.5 : contrast >= 7;
759
+ }
760
+ function getContrastInfo(foreground, background) {
761
+ const contrast = getContrast(foreground, background);
762
+ const meetsAA = contrast >= 4.5;
763
+ const meetsAALarge = contrast >= 3;
764
+ const meetsAAA = contrast >= 7;
765
+ const meetsAAALarge = contrast >= 4.5;
766
+ let level = "Fail";
767
+ if (meetsAAA) {
768
+ level = "AAA";
769
+ } else if (meetsAAALarge) {
770
+ level = "AAA Large";
771
+ } else if (meetsAA) {
772
+ level = "AA";
773
+ } else if (meetsAALarge) {
774
+ level = "AA Large";
775
+ }
776
+ return {
777
+ contrast,
778
+ meetsAA,
779
+ meetsAALarge,
780
+ meetsAAA,
781
+ meetsAAALarge,
782
+ level
783
+ };
784
+ }
785
+ function validateContrast(foreground, background, options = {}) {
786
+ const { requireAAA = false, largeText = false } = options;
787
+ const info = getContrastInfo(foreground, background);
788
+ let valid = false;
789
+ let message = "";
790
+ if (requireAAA) {
791
+ valid = largeText ? info.meetsAAALarge : info.meetsAAA;
792
+ message = valid ? `Contraste v\xE1lido (WCAG AAA${largeText ? " - Texto Grande" : ""})` : `Contraste insuficiente para WCAG AAA${largeText ? " - Texto Grande" : ""}. Requerido: ${largeText ? "4.5:1" : "7:1"}, atual: ${info.contrast.toFixed(2)}:1`;
793
+ } else {
794
+ valid = largeText ? info.meetsAALarge : info.meetsAA;
795
+ message = valid ? `Contraste v\xE1lido (WCAG AA${largeText ? " - Texto Grande" : ""})` : `Contraste insuficiente para WCAG AA${largeText ? " - Texto Grande" : ""}. Requerido: ${largeText ? "3:1" : "4.5:1"}, atual: ${info.contrast.toFixed(2)}:1`;
796
+ }
797
+ return {
798
+ valid,
799
+ level: info.level,
800
+ contrast: info.contrast,
801
+ message
802
+ };
803
+ }
804
+
805
+ // tokens/index.ts
806
+ var tokens = {
807
+ colors: {
808
+ light: light_default.colors,
809
+ dark: dark_default.colors
810
+ },
811
+ typography: typography_default.typography,
812
+ spacing: spacing_default.spacing,
813
+ radius: radius_default.radius,
814
+ shadows: shadows_default.shadows
815
+ };
816
+ var lightThemeColors = light_default.colors;
817
+ var darkThemeColors = dark_default.colors;
818
+ var typographyTokens = typography_default.typography;
819
+ var spacingTokens = spacing_default.spacing;
820
+ var radiusTokens = radius_default.radius;
821
+ var shadowTokens = shadows_default.shadows;
822
+ var tokens_default = tokens;
823
+
824
+ // themes/light.ts
825
+ var lightTheme = {
826
+ colors: tokens.colors.light,
827
+ typography: tokens.typography,
828
+ spacing: tokens.spacing,
829
+ radius: tokens.radius,
830
+ shadows: tokens.shadows.light
831
+ };
832
+
833
+ // themes/dark.ts
834
+ var darkTheme = {
835
+ colors: tokens.colors.dark,
836
+ typography: tokens.typography,
837
+ spacing: tokens.spacing,
838
+ radius: tokens.radius,
839
+ shadows: tokens.shadows.dark
840
+ };
841
+
842
+ // themes/index.ts
843
+ var themes = {
844
+ light: lightTheme,
845
+ dark: darkTheme
846
+ };
847
+ var themes_default = themes;
848
+ export {
849
+ BACKGROUND,
850
+ GRADIENTS,
851
+ GRADIENT_DIRECTIONS,
852
+ darkTheme,
853
+ darkThemeColors,
854
+ getContrast,
855
+ getContrastInfo,
856
+ getLuminance,
857
+ hexToRgb,
858
+ lightTheme,
859
+ lightThemeColors,
860
+ meetsWCAGAA,
861
+ meetsWCAGAAA,
862
+ radiusTokens,
863
+ shadowTokens,
864
+ spacingTokens,
865
+ themes_default as themes,
866
+ tokens_default as tokens,
867
+ typographyTokens,
868
+ validateContrast
869
+ };
870
+ /**
871
+ * @fileoverview Ponto de entrada principal da biblioteca @rainersoft/design-tokens
872
+ *
873
+ * @description
874
+ * Biblioteca enterprise-grade de design tokens para sistemas de design modernos.
875
+ * Tecnologicamente agnóstica, escalável e pronta para produção.
876
+ *
877
+ * Esta biblioteca fornece tokens de design estruturados que podem ser utilizados
878
+ * em qualquer framework ou tecnologia, garantindo consistência visual em toda
879
+ * a aplicação.
880
+ *
881
+ * @module @rainersoft/design-tokens
882
+ * @version 4.0.0
883
+ * @author Rainer Teixeira
884
+ * @license MIT
885
+ * @since 1.0.0
886
+ *
887
+ * @example
888
+ * ```typescript
889
+ * import { tokens, themes, lightTheme, darkTheme } from '@rainersoft/design-tokens';
890
+ *
891
+ * // Usar tokens diretamente
892
+ * const primaryColor = tokens.colors.light.brand.primary;
893
+ *
894
+ * // Usar temas completos
895
+ * const theme = lightTheme;
896
+ * ```
897
+ */
898
+ //# sourceMappingURL=index.js.map