analytica-frontend-lib 1.0.18 → 1.0.19
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.css +109 -0
- package/dist/index.d.mts +75 -32
- package/dist/index.d.ts +75 -32
- package/dist/index.js +221 -129
- package/dist/index.mjs +217 -126
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"Liberation Mono",
|
|
23
23
|
"Courier New",
|
|
24
24
|
monospace;
|
|
25
|
+
--color-white: #fff;
|
|
25
26
|
--spacing: 0.25rem;
|
|
26
27
|
--text-xs: 0.75rem;
|
|
27
28
|
--text-xs--line-height: calc(1 / 0.75);
|
|
@@ -50,6 +51,7 @@
|
|
|
50
51
|
--font-weight-bold: 700;
|
|
51
52
|
--font-weight-extrabold: 800;
|
|
52
53
|
--font-weight-black: 900;
|
|
54
|
+
--radius-xs: 0.125rem;
|
|
53
55
|
--radius-sm: 0.25rem;
|
|
54
56
|
--radius-md: 0.375rem;
|
|
55
57
|
--radius-lg: 0.5rem;
|
|
@@ -58,6 +60,7 @@
|
|
|
58
60
|
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
59
61
|
--default-font-family: var(--font-sans);
|
|
60
62
|
--default-mono-font-family: var(--font-mono);
|
|
63
|
+
--color-primary: #b3b3b3;
|
|
61
64
|
--color-primary-50: #999999;
|
|
62
65
|
--color-primary-100: #808080;
|
|
63
66
|
--color-primary-400: #525252;
|
|
@@ -79,10 +82,12 @@
|
|
|
79
82
|
--color-background-100: #f2f1f1;
|
|
80
83
|
--color-background-200: #dcdbdb;
|
|
81
84
|
--color-background-500: #8e8e8e;
|
|
85
|
+
--color-background-800: #414040;
|
|
82
86
|
--color-background-muted: #f7f8f7;
|
|
83
87
|
--color-border-50: #f3f3f3;
|
|
84
88
|
--color-border-100: #e6e6e6;
|
|
85
89
|
--color-border-200: #dddcdb;
|
|
90
|
+
--color-border-300: #d3d3d3;
|
|
86
91
|
--color-border-400: #a5a3a3;
|
|
87
92
|
--color-border-500: #8c8d8d;
|
|
88
93
|
--color-success: #e4fff4;
|
|
@@ -93,20 +98,30 @@
|
|
|
93
98
|
--color-success-600: #2a7948;
|
|
94
99
|
--color-success-700: #206f3e;
|
|
95
100
|
--color-success-800: #166534;
|
|
101
|
+
--color-error: #fee9e9;
|
|
96
102
|
--color-error-300: #f87171;
|
|
97
103
|
--color-error-400: #ef4444;
|
|
98
104
|
--color-error-500: #e63535;
|
|
99
105
|
--color-error-600: #dc2626;
|
|
100
106
|
--color-error-700: #b91c1c;
|
|
107
|
+
--color-error-800: #991b1b;
|
|
101
108
|
--color-warning: #fff9f5;
|
|
102
109
|
--color-warning-200: #fecdaa;
|
|
110
|
+
--color-warning-300: #fdad74;
|
|
103
111
|
--color-warning-800: #824417;
|
|
104
112
|
--color-info: #ecf8fe;
|
|
105
113
|
--color-info-200: #7ccff8;
|
|
114
|
+
--color-info-300: #57c2f6;
|
|
106
115
|
--color-info-800: #075a83;
|
|
107
116
|
--color-indicator-primary: #373737;
|
|
108
117
|
--color-indicator-info: #5399ec;
|
|
109
118
|
--color-indicator-error: #b91c1c;
|
|
119
|
+
--color-exame-1: #e3f1fb;
|
|
120
|
+
--color-exame-2: #fde5fa;
|
|
121
|
+
--color-exame-3: #fff4d1;
|
|
122
|
+
--color-exame-4: #ddf5e5;
|
|
123
|
+
--color-typography-1: #b00c9e;
|
|
124
|
+
--color-typography-2: #745A07;
|
|
110
125
|
--font-weight-hairline: 100;
|
|
111
126
|
--text-2xs: 0.625rem;
|
|
112
127
|
--text-2xs--line-height: calc(1 / 0.625);
|
|
@@ -337,6 +352,9 @@
|
|
|
337
352
|
.top-4 {
|
|
338
353
|
top: calc(var(--spacing) * 4);
|
|
339
354
|
}
|
|
355
|
+
.top-\[5px\] {
|
|
356
|
+
top: 5px;
|
|
357
|
+
}
|
|
340
358
|
.top-full {
|
|
341
359
|
top: 100%;
|
|
342
360
|
}
|
|
@@ -346,6 +364,9 @@
|
|
|
346
364
|
.right-4 {
|
|
347
365
|
right: calc(var(--spacing) * 4);
|
|
348
366
|
}
|
|
367
|
+
.right-\[10px\] {
|
|
368
|
+
right: 10px;
|
|
369
|
+
}
|
|
349
370
|
.bottom-4 {
|
|
350
371
|
bottom: calc(var(--spacing) * 4);
|
|
351
372
|
}
|
|
@@ -424,6 +445,9 @@
|
|
|
424
445
|
.ml-2 {
|
|
425
446
|
margin-left: calc(var(--spacing) * 2);
|
|
426
447
|
}
|
|
448
|
+
.block {
|
|
449
|
+
display: block;
|
|
450
|
+
}
|
|
427
451
|
.flex {
|
|
428
452
|
display: flex;
|
|
429
453
|
}
|
|
@@ -436,6 +460,21 @@
|
|
|
436
460
|
.table {
|
|
437
461
|
display: table;
|
|
438
462
|
}
|
|
463
|
+
.size-3 {
|
|
464
|
+
width: calc(var(--spacing) * 3);
|
|
465
|
+
height: calc(var(--spacing) * 3);
|
|
466
|
+
}
|
|
467
|
+
.size-3\.5 {
|
|
468
|
+
width: calc(var(--spacing) * 3.5);
|
|
469
|
+
height: calc(var(--spacing) * 3.5);
|
|
470
|
+
}
|
|
471
|
+
.size-4 {
|
|
472
|
+
width: calc(var(--spacing) * 4);
|
|
473
|
+
height: calc(var(--spacing) * 4);
|
|
474
|
+
}
|
|
475
|
+
.h-2 {
|
|
476
|
+
height: calc(var(--spacing) * 2);
|
|
477
|
+
}
|
|
439
478
|
.h-4 {
|
|
440
479
|
height: calc(var(--spacing) * 4);
|
|
441
480
|
}
|
|
@@ -460,6 +499,9 @@
|
|
|
460
499
|
.h-px {
|
|
461
500
|
height: 1px;
|
|
462
501
|
}
|
|
502
|
+
.w-2 {
|
|
503
|
+
width: calc(var(--spacing) * 2);
|
|
504
|
+
}
|
|
463
505
|
.w-4 {
|
|
464
506
|
width: calc(var(--spacing) * 4);
|
|
465
507
|
}
|
|
@@ -533,6 +575,9 @@
|
|
|
533
575
|
.gap-0\.5 {
|
|
534
576
|
gap: calc(var(--spacing) * 0.5);
|
|
535
577
|
}
|
|
578
|
+
.gap-1 {
|
|
579
|
+
gap: calc(var(--spacing) * 1);
|
|
580
|
+
}
|
|
536
581
|
.gap-1\.5 {
|
|
537
582
|
gap: calc(var(--spacing) * 1.5);
|
|
538
583
|
}
|
|
@@ -572,6 +617,9 @@
|
|
|
572
617
|
.rounded-xl {
|
|
573
618
|
border-radius: var(--radius-xl);
|
|
574
619
|
}
|
|
620
|
+
.rounded-xs {
|
|
621
|
+
border-radius: var(--radius-xs);
|
|
622
|
+
}
|
|
575
623
|
.border {
|
|
576
624
|
border-style: var(--tw-border-style);
|
|
577
625
|
border-width: 1px;
|
|
@@ -612,6 +660,9 @@
|
|
|
612
660
|
.border-border-200 {
|
|
613
661
|
border-color: var(--color-border-200);
|
|
614
662
|
}
|
|
663
|
+
.border-border-300 {
|
|
664
|
+
border-color: var(--color-border-300);
|
|
665
|
+
}
|
|
615
666
|
.border-border-400 {
|
|
616
667
|
border-color: var(--color-border-400);
|
|
617
668
|
}
|
|
@@ -639,6 +690,9 @@
|
|
|
639
690
|
.border-info-200 {
|
|
640
691
|
border-color: var(--color-info-200);
|
|
641
692
|
}
|
|
693
|
+
.border-info-300 {
|
|
694
|
+
border-color: var(--color-info-300);
|
|
695
|
+
}
|
|
642
696
|
.border-primary-600 {
|
|
643
697
|
border-color: var(--color-primary-600);
|
|
644
698
|
}
|
|
@@ -660,6 +714,9 @@
|
|
|
660
714
|
.border-warning-200 {
|
|
661
715
|
border-color: var(--color-warning-200);
|
|
662
716
|
}
|
|
717
|
+
.border-warning-300 {
|
|
718
|
+
border-color: var(--color-warning-300);
|
|
719
|
+
}
|
|
663
720
|
.\!bg-primary-50 {
|
|
664
721
|
background-color: var(--color-primary-50) !important;
|
|
665
722
|
}
|
|
@@ -675,9 +732,27 @@
|
|
|
675
732
|
.bg-border-200 {
|
|
676
733
|
background-color: var(--color-border-200);
|
|
677
734
|
}
|
|
735
|
+
.bg-error {
|
|
736
|
+
background-color: var(--color-error);
|
|
737
|
+
}
|
|
678
738
|
.bg-error-500 {
|
|
679
739
|
background-color: var(--color-error-500);
|
|
680
740
|
}
|
|
741
|
+
.bg-exame-1 {
|
|
742
|
+
background-color: var(--color-exame-1);
|
|
743
|
+
}
|
|
744
|
+
.bg-exame-2 {
|
|
745
|
+
background-color: var(--color-exame-2);
|
|
746
|
+
}
|
|
747
|
+
.bg-exame-3 {
|
|
748
|
+
background-color: var(--color-exame-3);
|
|
749
|
+
}
|
|
750
|
+
.bg-exame-4 {
|
|
751
|
+
background-color: var(--color-exame-4);
|
|
752
|
+
}
|
|
753
|
+
.bg-indicator-error {
|
|
754
|
+
background-color: var(--color-indicator-error);
|
|
755
|
+
}
|
|
681
756
|
.bg-info {
|
|
682
757
|
background-color: var(--color-info);
|
|
683
758
|
}
|
|
@@ -723,6 +798,9 @@
|
|
|
723
798
|
.p-8 {
|
|
724
799
|
padding: calc(var(--spacing) * 8);
|
|
725
800
|
}
|
|
801
|
+
.px-2 {
|
|
802
|
+
padding-inline: calc(var(--spacing) * 2);
|
|
803
|
+
}
|
|
726
804
|
.px-3\.5 {
|
|
727
805
|
padding-inline: calc(var(--spacing) * 3.5);
|
|
728
806
|
}
|
|
@@ -861,21 +939,39 @@
|
|
|
861
939
|
.text-background-500 {
|
|
862
940
|
color: var(--color-background-500);
|
|
863
941
|
}
|
|
942
|
+
.text-background-800 {
|
|
943
|
+
color: var(--color-background-800);
|
|
944
|
+
}
|
|
864
945
|
.text-error-500 {
|
|
865
946
|
color: var(--color-error-500);
|
|
866
947
|
}
|
|
867
948
|
.text-error-600 {
|
|
868
949
|
color: var(--color-error-600);
|
|
869
950
|
}
|
|
951
|
+
.text-error-700 {
|
|
952
|
+
color: var(--color-error-700);
|
|
953
|
+
}
|
|
954
|
+
.text-error-800 {
|
|
955
|
+
color: var(--color-error-800);
|
|
956
|
+
}
|
|
957
|
+
.text-info-200 {
|
|
958
|
+
color: var(--color-info-200);
|
|
959
|
+
}
|
|
870
960
|
.text-info-800 {
|
|
871
961
|
color: var(--color-info-800);
|
|
872
962
|
}
|
|
963
|
+
.text-primary {
|
|
964
|
+
color: var(--color-primary);
|
|
965
|
+
}
|
|
873
966
|
.text-primary-950 {
|
|
874
967
|
color: var(--color-primary-950);
|
|
875
968
|
}
|
|
876
969
|
.text-success-500 {
|
|
877
970
|
color: var(--color-success-500);
|
|
878
971
|
}
|
|
972
|
+
.text-success-700 {
|
|
973
|
+
color: var(--color-success-700);
|
|
974
|
+
}
|
|
879
975
|
.text-success-800 {
|
|
880
976
|
color: var(--color-success-800);
|
|
881
977
|
}
|
|
@@ -903,6 +999,12 @@
|
|
|
903
999
|
.text-text-950 {
|
|
904
1000
|
color: var(--color-text-950);
|
|
905
1001
|
}
|
|
1002
|
+
.text-typography-1 {
|
|
1003
|
+
color: var(--color-typography-1);
|
|
1004
|
+
}
|
|
1005
|
+
.text-typography-2 {
|
|
1006
|
+
color: var(--color-typography-2);
|
|
1007
|
+
}
|
|
906
1008
|
.text-warning-800 {
|
|
907
1009
|
color: var(--color-warning-800);
|
|
908
1010
|
}
|
|
@@ -975,6 +1077,9 @@
|
|
|
975
1077
|
.ring-primary-950 {
|
|
976
1078
|
--tw-ring-color: var(--color-primary-950);
|
|
977
1079
|
}
|
|
1080
|
+
.ring-white {
|
|
1081
|
+
--tw-ring-color: var(--color-white);
|
|
1082
|
+
}
|
|
978
1083
|
.ring-offset-0 {
|
|
979
1084
|
--tw-ring-offset-width: 0px;
|
|
980
1085
|
--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
@@ -1587,6 +1692,8 @@
|
|
|
1587
1692
|
--color-subject-14: #e7ec85;
|
|
1588
1693
|
--color-subject-15: #a2d7e2;
|
|
1589
1694
|
--color-subject-16: #badfc8;
|
|
1695
|
+
--color-typography-1: #b00c9e;
|
|
1696
|
+
--color-typography-2: #745A07;
|
|
1590
1697
|
--shadow-hard-shadow-1: -2px 2px 8px rgba(255, 255, 255, 0.1);
|
|
1591
1698
|
--shadow-hard-shadow-2: 0px 3px 10px rgba(255, 255, 255, 0.1);
|
|
1592
1699
|
--shadow-hard-shadow-3: 2px 2px 8px rgba(255, 255, 255, 0.1);
|
|
@@ -1746,6 +1853,8 @@
|
|
|
1746
1853
|
--color-subject-14: #e7ec85;
|
|
1747
1854
|
--color-subject-15: #a2d7e2;
|
|
1748
1855
|
--color-subject-16: #badfc8;
|
|
1856
|
+
--color-typography-1: #b00c9e;
|
|
1857
|
+
--color-typography-2: #745A07;
|
|
1749
1858
|
--shadow-hard-shadow-1: -2px 2px 8px rgba(38, 38, 38, 0.2);
|
|
1750
1859
|
--shadow-hard-shadow-2: 0px 3px 10px rgba(38, 38, 38, 0.2);
|
|
1751
1860
|
--shadow-hard-shadow-3: 2px 2px 8px rgba(38, 38, 38, 0.2);
|
package/dist/index.d.mts
CHANGED
|
@@ -185,40 +185,48 @@ type TextProps<T extends ElementType = 'p'> = BaseTextProps & {
|
|
|
185
185
|
*/
|
|
186
186
|
declare const Text: <T extends ElementType = "p">({ children, size, weight, color, as, className, ...props }: TextProps<T>) => react_jsx_runtime.JSX.Element;
|
|
187
187
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
188
|
+
/**
|
|
189
|
+
* Badge component props interface
|
|
190
|
+
*/
|
|
191
|
+
type BadgeProps = {
|
|
192
|
+
/** Content to be displayed inside the badge */
|
|
193
|
+
children?: ReactNode;
|
|
194
|
+
/** Ícone à direita do texto */
|
|
195
|
+
iconRight?: ReactNode;
|
|
196
|
+
/** Ícone à esquerda do texto */
|
|
197
|
+
iconLeft?: ReactNode;
|
|
198
|
+
/** Size of the badge */
|
|
199
|
+
size?: 'small' | 'medium' | 'large';
|
|
193
200
|
/** Visual variant of the badge */
|
|
194
|
-
variant?: 'solid' | 'outlined';
|
|
201
|
+
variant?: 'solid' | 'outlined' | 'exams' | 'resultStatus' | 'notification';
|
|
195
202
|
/** Action type of the badge */
|
|
196
|
-
action?: 'warning' | 'success' | 'info';
|
|
197
|
-
|
|
203
|
+
action?: 'error' | 'warning' | 'success' | 'info' | 'muted' | 'exam1' | 'exam2' | 'exam3' | 'exam4' | 'positive' | 'negative';
|
|
204
|
+
/** Additional CSS classes to apply */
|
|
205
|
+
className?: string;
|
|
206
|
+
notificationActive?: boolean;
|
|
198
207
|
} & HTMLAttributes<HTMLDivElement>;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
};
|
|
208
|
+
/**
|
|
209
|
+
* Badge component for Analytica Ensino platforms
|
|
210
|
+
*
|
|
211
|
+
* A flexible button component with multiple variants, sizes and actions.
|
|
212
|
+
* Fully compatible with Next.js 15 and React 19.
|
|
213
|
+
*
|
|
214
|
+
* @param children - The content to display inside the badge
|
|
215
|
+
* @param size - The size variant (extra-small, small, medium, large, extra-large)
|
|
216
|
+
* @param variant - The visual style variant (solid, outline, link)
|
|
217
|
+
* @param action - The action type (primary, positive, negative)
|
|
218
|
+
* @param className - Additional CSS classes
|
|
219
|
+
* @param props - All other standard div HTML attributes
|
|
220
|
+
* @returns A styled badge element
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```tsx
|
|
224
|
+
* <Badge variant="solid" action="info" size="medium">
|
|
225
|
+
* Information
|
|
226
|
+
* </Badge>
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
declare const Badge: ({ children, iconLeft, iconRight, size, variant, action, className, notificationActive, ...props }: BadgeProps) => react_jsx_runtime.JSX.Element;
|
|
222
230
|
|
|
223
231
|
/**
|
|
224
232
|
* CheckBox size variants
|
|
@@ -454,4 +462,39 @@ declare const IconButton: react.ForwardRefExoticComponent<{
|
|
|
454
462
|
className?: string;
|
|
455
463
|
} & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
456
464
|
|
|
457
|
-
|
|
465
|
+
type ToastPosition$1 = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
|
|
466
|
+
type ToastProps = {
|
|
467
|
+
title: string;
|
|
468
|
+
description?: string;
|
|
469
|
+
onClose: () => void;
|
|
470
|
+
/** Visual variant of the badge */
|
|
471
|
+
variant?: 'solid' | 'outlined';
|
|
472
|
+
/** Action type of the badge */
|
|
473
|
+
action?: 'warning' | 'success' | 'info';
|
|
474
|
+
position?: ToastPosition$1;
|
|
475
|
+
} & HTMLAttributes<HTMLDivElement>;
|
|
476
|
+
declare const Toast: ({ variant, action, className, onClose, title, description, position, ...props }: ToastProps) => react_jsx_runtime.JSX.Element;
|
|
477
|
+
|
|
478
|
+
type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
|
|
479
|
+
type ToastData = {
|
|
480
|
+
id: string;
|
|
481
|
+
title: string;
|
|
482
|
+
description?: string;
|
|
483
|
+
variant?: 'solid' | 'outlined';
|
|
484
|
+
action?: 'warning' | 'success' | 'info';
|
|
485
|
+
position?: ToastPosition;
|
|
486
|
+
};
|
|
487
|
+
type ToastStore = {
|
|
488
|
+
toasts: ToastData[];
|
|
489
|
+
addToast: (toast: Omit<ToastData, 'id'>) => void;
|
|
490
|
+
removeToast: (id: string) => void;
|
|
491
|
+
};
|
|
492
|
+
declare const useToastStore: zustand.UseBoundStore<zustand.StoreApi<ToastStore>>;
|
|
493
|
+
|
|
494
|
+
declare const Toaster: () => react_jsx_runtime.JSX.Element;
|
|
495
|
+
declare const useToast: () => {
|
|
496
|
+
addToast: (toast: Omit<ToastData, "id">) => void;
|
|
497
|
+
removeToast: (id: string) => void;
|
|
498
|
+
};
|
|
499
|
+
|
|
500
|
+
export { Badge, Button, CheckBox, type CheckBoxProps, DropdownMenu, DropdownMenuTrigger, IconButton, type IconButtonProps, IconRoundedButton, MenuContent, MenuItem, MenuLabel, MenuSeparator, NavButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text, Toast, type ToastData, Toaster, useToast, useToastStore };
|
package/dist/index.d.ts
CHANGED
|
@@ -185,40 +185,48 @@ type TextProps<T extends ElementType = 'p'> = BaseTextProps & {
|
|
|
185
185
|
*/
|
|
186
186
|
declare const Text: <T extends ElementType = "p">({ children, size, weight, color, as, className, ...props }: TextProps<T>) => react_jsx_runtime.JSX.Element;
|
|
187
187
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
188
|
+
/**
|
|
189
|
+
* Badge component props interface
|
|
190
|
+
*/
|
|
191
|
+
type BadgeProps = {
|
|
192
|
+
/** Content to be displayed inside the badge */
|
|
193
|
+
children?: ReactNode;
|
|
194
|
+
/** Ícone à direita do texto */
|
|
195
|
+
iconRight?: ReactNode;
|
|
196
|
+
/** Ícone à esquerda do texto */
|
|
197
|
+
iconLeft?: ReactNode;
|
|
198
|
+
/** Size of the badge */
|
|
199
|
+
size?: 'small' | 'medium' | 'large';
|
|
193
200
|
/** Visual variant of the badge */
|
|
194
|
-
variant?: 'solid' | 'outlined';
|
|
201
|
+
variant?: 'solid' | 'outlined' | 'exams' | 'resultStatus' | 'notification';
|
|
195
202
|
/** Action type of the badge */
|
|
196
|
-
action?: 'warning' | 'success' | 'info';
|
|
197
|
-
|
|
203
|
+
action?: 'error' | 'warning' | 'success' | 'info' | 'muted' | 'exam1' | 'exam2' | 'exam3' | 'exam4' | 'positive' | 'negative';
|
|
204
|
+
/** Additional CSS classes to apply */
|
|
205
|
+
className?: string;
|
|
206
|
+
notificationActive?: boolean;
|
|
198
207
|
} & HTMLAttributes<HTMLDivElement>;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
};
|
|
208
|
+
/**
|
|
209
|
+
* Badge component for Analytica Ensino platforms
|
|
210
|
+
*
|
|
211
|
+
* A flexible button component with multiple variants, sizes and actions.
|
|
212
|
+
* Fully compatible with Next.js 15 and React 19.
|
|
213
|
+
*
|
|
214
|
+
* @param children - The content to display inside the badge
|
|
215
|
+
* @param size - The size variant (extra-small, small, medium, large, extra-large)
|
|
216
|
+
* @param variant - The visual style variant (solid, outline, link)
|
|
217
|
+
* @param action - The action type (primary, positive, negative)
|
|
218
|
+
* @param className - Additional CSS classes
|
|
219
|
+
* @param props - All other standard div HTML attributes
|
|
220
|
+
* @returns A styled badge element
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```tsx
|
|
224
|
+
* <Badge variant="solid" action="info" size="medium">
|
|
225
|
+
* Information
|
|
226
|
+
* </Badge>
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
declare const Badge: ({ children, iconLeft, iconRight, size, variant, action, className, notificationActive, ...props }: BadgeProps) => react_jsx_runtime.JSX.Element;
|
|
222
230
|
|
|
223
231
|
/**
|
|
224
232
|
* CheckBox size variants
|
|
@@ -454,4 +462,39 @@ declare const IconButton: react.ForwardRefExoticComponent<{
|
|
|
454
462
|
className?: string;
|
|
455
463
|
} & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
456
464
|
|
|
457
|
-
|
|
465
|
+
type ToastPosition$1 = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
|
|
466
|
+
type ToastProps = {
|
|
467
|
+
title: string;
|
|
468
|
+
description?: string;
|
|
469
|
+
onClose: () => void;
|
|
470
|
+
/** Visual variant of the badge */
|
|
471
|
+
variant?: 'solid' | 'outlined';
|
|
472
|
+
/** Action type of the badge */
|
|
473
|
+
action?: 'warning' | 'success' | 'info';
|
|
474
|
+
position?: ToastPosition$1;
|
|
475
|
+
} & HTMLAttributes<HTMLDivElement>;
|
|
476
|
+
declare const Toast: ({ variant, action, className, onClose, title, description, position, ...props }: ToastProps) => react_jsx_runtime.JSX.Element;
|
|
477
|
+
|
|
478
|
+
type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
|
|
479
|
+
type ToastData = {
|
|
480
|
+
id: string;
|
|
481
|
+
title: string;
|
|
482
|
+
description?: string;
|
|
483
|
+
variant?: 'solid' | 'outlined';
|
|
484
|
+
action?: 'warning' | 'success' | 'info';
|
|
485
|
+
position?: ToastPosition;
|
|
486
|
+
};
|
|
487
|
+
type ToastStore = {
|
|
488
|
+
toasts: ToastData[];
|
|
489
|
+
addToast: (toast: Omit<ToastData, 'id'>) => void;
|
|
490
|
+
removeToast: (id: string) => void;
|
|
491
|
+
};
|
|
492
|
+
declare const useToastStore: zustand.UseBoundStore<zustand.StoreApi<ToastStore>>;
|
|
493
|
+
|
|
494
|
+
declare const Toaster: () => react_jsx_runtime.JSX.Element;
|
|
495
|
+
declare const useToast: () => {
|
|
496
|
+
addToast: (toast: Omit<ToastData, "id">) => void;
|
|
497
|
+
removeToast: (id: string) => void;
|
|
498
|
+
};
|
|
499
|
+
|
|
500
|
+
export { Badge, Button, CheckBox, type CheckBoxProps, DropdownMenu, DropdownMenuTrigger, IconButton, type IconButtonProps, IconRoundedButton, MenuContent, MenuItem, MenuLabel, MenuSeparator, NavButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text, Toast, type ToastData, Toaster, useToast, useToastStore };
|