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 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
- type ToastPosition$1 = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
189
- type ToastProps = {
190
- title: string;
191
- description?: string;
192
- onClose: () => void;
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
- position?: ToastPosition$1;
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
- declare const Toast: ({ variant, action, className, onClose, title, description, position, ...props }: ToastProps) => react_jsx_runtime.JSX.Element;
200
-
201
- type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
202
- type ToastData = {
203
- id: string;
204
- title: string;
205
- description?: string;
206
- variant?: 'solid' | 'outlined';
207
- action?: 'warning' | 'success' | 'info';
208
- position?: ToastPosition;
209
- };
210
- type ToastStore = {
211
- toasts: ToastData[];
212
- addToast: (toast: Omit<ToastData, 'id'>) => void;
213
- removeToast: (id: string) => void;
214
- };
215
- declare const useToastStore: zustand.UseBoundStore<zustand.StoreApi<ToastStore>>;
216
-
217
- declare const Toaster: () => react_jsx_runtime.JSX.Element;
218
- declare const useToast: () => {
219
- addToast: (toast: Omit<ToastData, "id">) => void;
220
- removeToast: (id: string) => void;
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
- export { 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 };
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
- type ToastPosition$1 = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
189
- type ToastProps = {
190
- title: string;
191
- description?: string;
192
- onClose: () => void;
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
- position?: ToastPosition$1;
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
- declare const Toast: ({ variant, action, className, onClose, title, description, position, ...props }: ToastProps) => react_jsx_runtime.JSX.Element;
200
-
201
- type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
202
- type ToastData = {
203
- id: string;
204
- title: string;
205
- description?: string;
206
- variant?: 'solid' | 'outlined';
207
- action?: 'warning' | 'success' | 'info';
208
- position?: ToastPosition;
209
- };
210
- type ToastStore = {
211
- toasts: ToastData[];
212
- addToast: (toast: Omit<ToastData, 'id'>) => void;
213
- removeToast: (id: string) => void;
214
- };
215
- declare const useToastStore: zustand.UseBoundStore<zustand.StoreApi<ToastStore>>;
216
-
217
- declare const Toaster: () => react_jsx_runtime.JSX.Element;
218
- declare const useToast: () => {
219
- addToast: (toast: Omit<ToastData, "id">) => void;
220
- removeToast: (id: string) => void;
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
- export { 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 };
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 };