@iclips/ui 1.0.0 → 1.0.2

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,694 +0,0 @@
1
- @custom-variant dark (&:is(.dark *));
2
-
3
- :root {
4
- --font-size: 16px;
5
- --font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
6
-
7
- /* Typography Scale */
8
- --text-xs: 0.75rem;
9
- /* 12px */
10
- --text-sm: 0.875rem;
11
- /* 14px */
12
- --text-base: 1rem;
13
- /* 16px */
14
- --text-lg: 1.125rem;
15
- /* 18px */
16
- --text-xl: 1.25rem;
17
- /* 20px */
18
- --text-2xl: 1.5rem;
19
- /* 24px */
20
- --text-3xl: 1.875rem;
21
- /* 30px */
22
- --text-4xl: 2.25rem;
23
- /* 36px */
24
-
25
- /* Custom Color Palette - Base Colors */
26
- /* Grays */
27
- --gray-50: #F2F6FA;
28
- --gray-100: #E9EEF5;
29
- --gray-200: #DAE1EB;
30
- --gray-300: #C5CDD9;
31
- --gray-400: #9BA5B3;
32
- --gray-500: #697280;
33
- --gray-600: #464E59;
34
- --gray-700: #2F3640;
35
- --gray-800: #1A1F26;
36
- --gray-900: #000000;
37
- --white: #FFFFFF;
38
-
39
- /* Purple (Primary Brand Color) */
40
- --purple-50: #F6E9FF;
41
- --purple-100: #DAA6FF;
42
- --purple-200: #BB6DF2;
43
- --purple-500: #7F26BF;
44
- --purple-600: #5B158C;
45
- --purple-700: #420F66;
46
-
47
- /* Blue */
48
- --blue-50: #E2E9FF;
49
- --blue-100: #AABCF2;
50
- --blue-200: #667FCC;
51
- --blue-500: #1C2F8C;
52
- --blue-600: #0F1E66;
53
- --blue-700: #061040;
54
-
55
- /* Cyan */
56
- --cyan-50: #D8EFFF;
57
- --cyan-100: #8CCFFF;
58
- --cyan-200: #3DA7F2;
59
- --cyan-500: #0086E6;
60
- --cyan-600: #0053A6;
61
- --cyan-700: #003066;
62
-
63
- /* Teal */
64
- --teal-50: #D4F5F5;
65
- --teal-100: #9DF2F2;
66
- --teal-200: #5CE6E6;
67
- --teal-500: #14CCCC;
68
- --teal-600: #00A7A7;
69
- --teal-700: #045659;
70
-
71
- /* Green */
72
- --green-50: #D3FBDD;
73
- --green-100: #91F2AA;
74
- --green-200: #57D977;
75
- --green-500: #24B347;
76
- --green-600: #007F2A;
77
- --green-700: #004D19;
78
-
79
- /* Yellow */
80
- --yellow-50: #FFF7CC;
81
- --yellow-100: #FFDD99;
82
- --yellow-200: #FFC859;
83
- --yellow-500: #FAB325;
84
- --yellow-600: #E6960B;
85
- --yellow-700: #CC7C04;
86
-
87
- /* Orange */
88
- --orange-50: #FFECE1;
89
- --orange-100: #FFB68C;
90
- --orange-200: #FF8E4C;
91
- --orange-500: #F26924;
92
- --orange-600: #E64D0B;
93
- --orange-700: #BF3000;
94
-
95
- /* Red */
96
- --red-50: #FFE9EC;
97
- --red-100: #FFB2B9;
98
- --red-200: #FF5967;
99
- --red-500: #F22435;
100
- --red-600: #CC0A1A;
101
- --red-700: #99000D;
102
-
103
- /* Pink */
104
- --pink-50: #FFECF9;
105
- --pink-100: #FFB2E8;
106
- --pink-200: #FF66CC;
107
- --pink-500: #E62EA8;
108
- --pink-600: #BF0A89;
109
- --pink-700: #99086D;
110
-
111
- /* Semantic Colors - Light Mode */
112
- --background: var(--white);
113
- --foreground: var(--gray-800);
114
- --card: var(--white);
115
- --card-foreground: var(--gray-800);
116
- --popover: var(--white);
117
- --popover-foreground: var(--gray-800);
118
- --primary: var(--purple-500);
119
- --primary-foreground: var(--white);
120
- --secondary: var(--purple-50);
121
- --secondary-foreground: var(--purple-700);
122
- --muted: var(--gray-100);
123
- --muted-foreground: var(--gray-500);
124
- --accent: var(--purple-50);
125
- --accent-foreground: var(--purple-600);
126
- --destructive: var(--red-500);
127
- --destructive-foreground: var(--white);
128
- --success: var(--green-500);
129
- --success-foreground: var(--white);
130
- --warning: var(--yellow-500);
131
- --warning-foreground: var(--gray-800);
132
- --info: var(--cyan-500);
133
- --info-foreground: var(--white);
134
- --border: var(--gray-200);
135
- --input: transparent;
136
- --input-background: var(--gray-50);
137
- --switch-background: var(--gray-300);
138
- --ring: var(--purple-500);
139
- --font-weight-medium: 500;
140
- --font-weight-normal: 400;
141
-
142
- /* Charts - Acessibilidade melhorada com Balanceamento Óptico */
143
- --chart-1: var(--purple-500);
144
- /* Brand Color (Vibrante) */
145
- --chart-2: var(--cyan-600);
146
- /* Darkened for contrast */
147
- --chart-3: var(--green-600);
148
- /* Darkened for contrast */
149
- --chart-4: var(--orange-600);
150
- /* Darkened for contrast */
151
- --chart-5: var(--pink-600);
152
- /* Darkened for contrast */
153
-
154
- /* Border Radius */
155
- --radius: 0.625rem;
156
-
157
- /* Sidebar */
158
- --sidebar: var(--white);
159
- --sidebar-foreground: var(--gray-800);
160
- --sidebar-primary: var(--purple-500);
161
- --sidebar-primary-foreground: var(--white);
162
- --sidebar-accent: var(--purple-50);
163
- --sidebar-accent-foreground: var(--purple-700);
164
- --sidebar-border: var(--gray-200);
165
- --sidebar-ring: var(--purple-500);
166
- }
167
-
168
- .dark {
169
- /* Semantic Colors - Dark Mode */
170
- --background: var(--gray-800);
171
- --foreground: var(--gray-50);
172
- --card: var(--gray-700);
173
- --card-foreground: var(--gray-50);
174
- --popover: var(--gray-700);
175
- --popover-foreground: var(--gray-50);
176
- --primary: var(--purple-200);
177
- --primary-foreground: var(--gray-900);
178
- --secondary: var(--gray-700);
179
- --secondary-foreground: var(--gray-50);
180
- --muted: var(--gray-600);
181
- --muted-foreground: var(--gray-300);
182
- --accent: var(--purple-700);
183
- --accent-foreground: var(--purple-100);
184
- --destructive: var(--red-600);
185
- --destructive-foreground: var(--white);
186
- --success: var(--green-600);
187
- --success-foreground: var(--white);
188
- --warning: var(--yellow-600);
189
- --warning-foreground: var(--white);
190
- --info: var(--cyan-600);
191
- --info-foreground: var(--white);
192
- --border: var(--gray-600);
193
- --input: var(--gray-600);
194
- --input-background: var(--gray-700);
195
- --switch-background: var(--gray-600);
196
- --ring: var(--purple-200);
197
-
198
- /* Charts - Dark Mode */
199
- --chart-1: var(--purple-200);
200
- --chart-2: var(--cyan-200);
201
- --chart-3: var(--green-200);
202
- --chart-4: var(--orange-200);
203
- --chart-5: var(--pink-200);
204
-
205
- /* Sidebar - Dark Mode */
206
- --sidebar: var(--gray-800);
207
- --sidebar-foreground: var(--gray-50);
208
- --sidebar-primary: var(--purple-200);
209
- --sidebar-primary-foreground: var(--gray-900);
210
- --sidebar-accent: var(--gray-700);
211
- --sidebar-accent-foreground: var(--purple-100);
212
- --sidebar-border: var(--gray-600);
213
- --sidebar-ring: var(--purple-200);
214
- }
215
-
216
- @theme inline {
217
- /* Semantic Colors */
218
- --color-background: var(--background);
219
- --color-foreground: var(--foreground);
220
- --color-card: var(--card);
221
- --color-card-foreground: var(--card-foreground);
222
- --color-popover: var(--popover);
223
- --color-popover-foreground: var(--popover-foreground);
224
- --color-primary: var(--primary);
225
- --color-primary-foreground: var(--primary-foreground);
226
- --color-secondary: var(--secondary);
227
- --color-secondary-foreground: var(--secondary-foreground);
228
- --color-muted: var(--muted);
229
- --color-muted-foreground: var(--muted-foreground);
230
- --color-accent: var(--accent);
231
- --color-accent-foreground: var(--accent-foreground);
232
- --color-destructive: var(--destructive);
233
- --color-destructive-foreground: var(--destructive-foreground);
234
- --color-success: var(--success);
235
- --color-success-foreground: var(--success-foreground);
236
- --color-warning: var(--warning);
237
- --color-warning-foreground: var(--warning-foreground);
238
- --color-info: var(--info);
239
- --color-info-foreground: var(--info-foreground);
240
- --color-border: var(--border);
241
- --color-input: var(--input);
242
- --color-input-background: var(--input-background);
243
- --color-switch-background: var(--switch-background);
244
- --color-ring: var(--ring);
245
-
246
- /* Charts */
247
- --color-chart-1: var(--chart-1);
248
- --color-chart-2: var(--chart-2);
249
- --color-chart-3: var(--chart-3);
250
- --color-chart-4: var(--chart-4);
251
- --color-chart-5: var(--chart-5);
252
-
253
- /* Border Radius */
254
- --radius-sm: calc(var(--radius) - 4px);
255
- --radius-md: calc(var(--radius) - 2px);
256
- --radius-lg: var(--radius);
257
- --radius-xl: calc(var(--radius) + 4px);
258
-
259
- /* Sidebar */
260
- --color-sidebar: var(--sidebar);
261
- --color-sidebar-foreground: var(--sidebar-foreground);
262
- --color-sidebar-primary: var(--sidebar-primary);
263
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
264
- --color-sidebar-accent: var(--sidebar-accent);
265
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
266
- --color-sidebar-border: var(--sidebar-border);
267
- --color-sidebar-ring: var(--sidebar-ring);
268
-
269
- /* Raw Color Palette */
270
- --color-gray-50: var(--gray-50);
271
- --color-gray-100: var(--gray-100);
272
- --color-gray-200: var(--gray-200);
273
- --color-gray-300: var(--gray-300);
274
- --color-gray-400: var(--gray-400);
275
- --color-gray-500: var(--gray-500);
276
- --color-gray-600: var(--gray-600);
277
- --color-gray-700: var(--gray-700);
278
- --color-gray-800: var(--gray-800);
279
- --color-purple-50: var(--purple-50);
280
- --color-purple-100: var(--purple-100);
281
- --color-purple-200: var(--purple-200);
282
- --color-purple-500: var(--purple-500);
283
- --color-purple-600: var(--purple-600);
284
- --color-purple-700: var(--purple-700);
285
- --color-blue-50: var(--blue-50);
286
- --color-blue-100: var(--blue-100);
287
- --color-blue-200: var(--blue-200);
288
- --color-blue-500: var(--blue-500);
289
- --color-blue-600: var(--blue-600);
290
- --color-blue-700: var(--blue-700);
291
- --color-cyan-50: var(--cyan-50);
292
- --color-cyan-100: var(--cyan-100);
293
- --color-cyan-200: var(--cyan-200);
294
- --color-cyan-500: var(--cyan-500);
295
- --color-cyan-600: var(--cyan-600);
296
- --color-cyan-700: var(--cyan-700);
297
- --color-teal-50: var(--teal-50);
298
- --color-teal-100: var(--teal-100);
299
- --color-teal-200: var(--teal-200);
300
- --color-teal-500: var(--teal-500);
301
- --color-teal-600: var(--teal-600);
302
- --color-teal-700: var(--teal-700);
303
- --color-green-50: var(--green-50);
304
- --color-green-100: var(--green-100);
305
- --color-green-200: var(--green-200);
306
- --color-green-500: var(--green-500);
307
- --color-green-600: var(--green-600);
308
- --color-green-700: var(--green-700);
309
- --color-yellow-50: var(--yellow-50);
310
- --color-yellow-100: var(--yellow-100);
311
- --color-yellow-200: var(--yellow-200);
312
- --color-yellow-500: var(--yellow-500);
313
- --color-yellow-600: var(--yellow-600);
314
- --color-yellow-700: var(--yellow-700);
315
- --color-orange-50: var(--orange-50);
316
- --color-orange-100: var(--orange-100);
317
- --color-orange-200: var(--orange-200);
318
- --color-orange-500: var(--orange-500);
319
- --color-orange-600: var(--orange-600);
320
- --color-orange-700: var(--orange-700);
321
- --color-red-50: var(--red-50);
322
- --color-red-100: var(--red-100);
323
- --color-red-200: var(--red-200);
324
- --color-red-500: var(--red-500);
325
- --color-red-600: var(--red-600);
326
- --color-red-700: var(--red-700);
327
- --color-pink-50: var(--pink-50);
328
- --color-pink-100: var(--pink-100);
329
- --color-pink-200: var(--pink-200);
330
- --color-pink-500: var(--pink-500);
331
- --color-pink-600: var(--pink-600);
332
- --color-pink-700: var(--pink-700);
333
- }
334
-
335
- @layer base {
336
- * {
337
- @apply border-border outline-ring/50;
338
- }
339
-
340
- body {
341
- @apply bg-background text-foreground;
342
- }
343
- }
344
-
345
- /**
346
- * Base typography. This is not applied to elements which have an ancestor with a Tailwind text class.
347
- */
348
- @layer base {
349
- :where(:not(:has([class*=' text-']), :not(:has([class^='text-'])))) {
350
- h1 {
351
- font-size: var(--text-2xl);
352
- font-weight: var(--font-weight-medium);
353
- line-height: 1.5;
354
- }
355
-
356
- h2 {
357
- font-size: var(--text-xl);
358
- font-weight: var(--font-weight-medium);
359
- line-height: 1.5;
360
- }
361
-
362
- h3 {
363
- font-size: var(--text-lg);
364
- font-weight: var(--font-weight-medium);
365
- line-height: 1.5;
366
- }
367
-
368
- h4 {
369
- font-size: var(--text-base);
370
- font-weight: var(--font-weight-medium);
371
- line-height: 1.5;
372
- }
373
-
374
- p {
375
- font-size: var(--text-base);
376
- font-weight: var(--font-weight-normal);
377
- line-height: 1.5;
378
- }
379
-
380
- label {
381
- font-size: var(--text-base);
382
- font-weight: var(--font-weight-medium);
383
- line-height: 1.5;
384
- }
385
-
386
- button {
387
- font-size: var(--text-base);
388
- font-weight: var(--font-weight-medium);
389
- line-height: 1.5;
390
- }
391
-
392
- input {
393
- font-size: var(--text-base);
394
- font-weight: var(--font-weight-normal);
395
- line-height: 1.5;
396
- }
397
- }
398
- }
399
-
400
- html {
401
- font-size: var(--font-size);
402
- }
403
-
404
- /* ============================================
405
- Micro-Animations (Premium)
406
- ============================================ */
407
-
408
- /* Keyframes */
409
- @keyframes shimmer {
410
- 0% {
411
- background-position: -200% 0;
412
- }
413
-
414
- 100% {
415
- background-position: 200% 0;
416
- }
417
- }
418
-
419
- @keyframes scale-in {
420
- 0% {
421
- transform: scale(0.95);
422
- opacity: 0;
423
- }
424
-
425
- 100% {
426
- transform: scale(1);
427
- opacity: 1;
428
- }
429
- }
430
-
431
- @keyframes scale-out {
432
- 0% {
433
- transform: scale(1);
434
- opacity: 1;
435
- }
436
-
437
- 100% {
438
- transform: scale(0.95);
439
- opacity: 0;
440
- }
441
- }
442
-
443
- @keyframes shake {
444
-
445
- 0%,
446
- 100% {
447
- transform: translateX(0);
448
- }
449
-
450
- 10%,
451
- 30%,
452
- 50%,
453
- 70%,
454
- 90% {
455
- transform: translateX(-4px);
456
- }
457
-
458
- 20%,
459
- 40%,
460
- 60%,
461
- 80% {
462
- transform: translateX(4px);
463
- }
464
- }
465
-
466
- @keyframes checkmark-draw {
467
- 0% {
468
- stroke-dashoffset: 24;
469
- }
470
-
471
- 100% {
472
- stroke-dashoffset: 0;
473
- }
474
- }
475
-
476
- @keyframes success-pop {
477
- 0% {
478
- transform: scale(0);
479
- }
480
-
481
- 50% {
482
- transform: scale(1.2);
483
- }
484
-
485
- 100% {
486
- transform: scale(1);
487
- }
488
- }
489
-
490
- @keyframes slide-up-fade {
491
- 0% {
492
- transform: translateY(8px);
493
- opacity: 0;
494
- }
495
-
496
- 100% {
497
- transform: translateY(0);
498
- opacity: 1;
499
- }
500
- }
501
-
502
- @keyframes slide-down-fade {
503
- 0% {
504
- transform: translateY(-8px);
505
- opacity: 0;
506
- }
507
-
508
- 100% {
509
- transform: translateY(0);
510
- opacity: 1;
511
- }
512
- }
513
-
514
- /* Animation Utility Classes */
515
- .animate-shimmer {
516
- animation: shimmer 2s infinite linear;
517
- background: linear-gradient(90deg,
518
- var(--muted) 0%,
519
- var(--accent) 50%,
520
- var(--muted) 100%);
521
- background-size: 200% 100%;
522
- }
523
-
524
- .animate-scale-in {
525
- animation: scale-in 200ms ease-out;
526
- }
527
-
528
- .animate-scale-out {
529
- animation: scale-out 200ms ease-in;
530
- }
531
-
532
- .animate-shake {
533
- animation: shake 500ms ease-in-out;
534
- }
535
-
536
- .animate-success-pop {
537
- animation: success-pop 400ms ease-out;
538
- }
539
-
540
- .animate-slide-up {
541
- animation: slide-up-fade 200ms ease-out;
542
- }
543
-
544
- .animate-slide-down {
545
- animation: slide-down-fade 200ms ease-out;
546
- }
547
-
548
- /* Interactive Micro-Animations */
549
- .interactive-scale {
550
- transition: transform 150ms ease, box-shadow 150ms ease;
551
- }
552
-
553
- .interactive-scale:hover {
554
- transform: scale(1.02);
555
- }
556
-
557
- .interactive-scale:active {
558
- transform: scale(0.98);
559
- }
560
-
561
- /* Button Premium Hover */
562
- .btn-premium {
563
- transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
564
- }
565
-
566
- .btn-premium:hover {
567
- transform: translateY(-1px);
568
- box-shadow: 0 4px 12px rgba(127, 38, 191, 0.25);
569
- }
570
-
571
- .btn-premium:active {
572
- transform: translateY(0);
573
- box-shadow: 0 2px 4px rgba(127, 38, 191, 0.15);
574
- }
575
-
576
- /* Card Premium Hover */
577
- .card-premium {
578
- transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
579
- }
580
-
581
- .card-premium:hover {
582
- transform: translateY(-2px);
583
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
584
- }
585
-
586
- /* Skeleton Shimmer Effect */
587
- .skeleton-shimmer {
588
- background: linear-gradient(90deg,
589
- var(--accent) 0%,
590
- var(--muted) 20%,
591
- var(--accent) 40%,
592
- var(--accent) 100%);
593
- background-size: 200% 100%;
594
- animation: shimmer 1.5s infinite;
595
- }
596
-
597
- /* ============================================
598
- Print Styles
599
- ============================================ */
600
-
601
- @media print {
602
-
603
- /* Ocultar elementos desnecessários na impressão */
604
- .no-print {
605
- display: none !important;
606
- }
607
-
608
- /* Forçar impressão em cores */
609
- * {
610
- -webkit-print-color-adjust: exact !important;
611
- print-color-adjust: exact !important;
612
- color-adjust: exact !important;
613
- }
614
-
615
- /* Configuração da página */
616
- @page {
617
- margin: 2cm;
618
- size: A4 portrait;
619
- }
620
-
621
- /* Evitar quebras de página indesejadas */
622
- .avoid-break {
623
- page-break-inside: avoid !important;
624
- break-inside: avoid !important;
625
- }
626
-
627
- /* Quebra de página forçada */
628
- .page-break {
629
- page-break-before: always !important;
630
- break-before: page !important;
631
- }
632
-
633
- /* Layout específico para tabelas */
634
- table {
635
- page-break-inside: auto !important;
636
- }
637
-
638
- tr {
639
- page-break-inside: avoid !important;
640
- page-break-after: auto !important;
641
- }
642
-
643
- thead {
644
- display: table-header-group !important;
645
- }
646
-
647
- tfoot {
648
- display: table-footer-group !important;
649
- }
650
-
651
- /* Remover sombras e bordas arredondadas para impressão limpa */
652
- .contract-template,
653
- .print-template {
654
- box-shadow: none !important;
655
- border-radius: 0 !important;
656
- padding: 0 !important;
657
- margin: 0 !important;
658
- }
659
-
660
- /* Garantir que textos primários sejam visíveis */
661
- .text-primary {
662
- color: #7F26BF !important;
663
- }
664
-
665
- /* Garantir bordas visíveis */
666
- .border-primary {
667
- border-color: #7F26BF !important;
668
- }
669
-
670
- /* Ajustar cores de fundo para impressão */
671
- .bg-gray-50,
672
- .bg-gray-100 {
673
- background-color: #F2F6FA !important;
674
- }
675
-
676
- /* Ocultar elementos interativos */
677
- button:not(.print-keep),
678
- .hover\:opacity-100,
679
- [role="button"]:not(.print-keep) {
680
- display: none !important;
681
- }
682
-
683
- /* Garantir que cabeçalhos e rodapés sejam impressos */
684
- .print-header,
685
- .print-footer {
686
- display: block !important;
687
- }
688
-
689
- /* Ajustar espaçamentos para impressão */
690
- body {
691
- background: white !important;
692
- color: black !important;
693
- }
694
- }