@giro-ds/react 1.0.5 → 3.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.
Files changed (60) hide show
  1. package/dist/components/Button/Button.d.ts +1 -1
  2. package/dist/components/Button/Button.types.d.ts +3 -23
  3. package/dist/components/Button/__tests__/Button.test.d.ts +1 -0
  4. package/dist/components/Checkbox/Checkbox.d.ts +4 -4
  5. package/dist/components/Checkbox/Checkbox.types.d.ts +4 -19
  6. package/dist/components/Checkbox/__tests__/Checkbox.test.d.ts +1 -0
  7. package/dist/components/Menu/Menu.d.ts +1 -1
  8. package/dist/components/Menu/Menu.types.d.ts +25 -34
  9. package/dist/components/Menu/__tests__/Menu.test.d.ts +1 -0
  10. package/dist/components/{MenuRadix → Menu}/components/MenuItem.d.ts +1 -6
  11. package/dist/components/{MenuRadix → Menu}/hooks/useMenuLogic.d.ts +1 -1
  12. package/dist/components/{MenuRadix → Menu}/hooks/useSearchLogic.d.ts +1 -1
  13. package/dist/components/Menu/index.d.ts +1 -1
  14. package/dist/components/Radio/Radio.d.ts +3 -3
  15. package/dist/components/Radio/Radio.types.d.ts +11 -14
  16. package/dist/components/Radio/__tests__/Radio.test.d.ts +1 -0
  17. package/dist/components/Radio/index.d.ts +1 -0
  18. package/dist/components/Search/Search.types.d.ts +1 -0
  19. package/dist/components/Select/Select.d.ts +2 -2
  20. package/dist/components/Select/Select.types.d.ts +100 -52
  21. package/dist/components/Select/__tests__/SelectRadix.test.d.ts +1 -0
  22. package/dist/components/{SelectRadix → Select}/components/CheckboxSelectItem.d.ts +1 -1
  23. package/dist/components/Select/components/ExpandableSelectItem.d.ts +11 -0
  24. package/dist/components/{SelectRadix → Select}/components/SelectItem.d.ts +1 -1
  25. package/dist/components/{SelectRadix → Select}/hooks/useSelectLogic.d.ts +1 -1
  26. package/dist/components/Select/index.d.ts +4 -1
  27. package/dist/components/Switch/Switch.d.ts +4 -0
  28. package/dist/components/{CheckboxRadix/CheckboxRadix.types.d.ts → Switch/Switch.types.d.ts} +5 -7
  29. package/dist/components/Switch/__tests__/Switch.test.d.ts +1 -0
  30. package/dist/components/Switch/index.d.ts +2 -0
  31. package/dist/components/Table/Table.d.ts +2 -3
  32. package/dist/components/Table/Table.types.d.ts +46 -10
  33. package/dist/components/Table/index.d.ts +1 -1
  34. package/dist/components/TextField/TextField.types.d.ts +2 -3
  35. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  36. package/dist/components/Tooltip/Tooltip.types.d.ts +5 -1
  37. package/dist/components/Tooltip/__tests__/Tooltip.test.d.ts +1 -0
  38. package/dist/components/Tooltip/index.d.ts +1 -0
  39. package/dist/components/index.d.ts +5 -13
  40. package/dist/index.cjs +275 -843
  41. package/dist/index.cjs.map +1 -1
  42. package/dist/index.d.ts +85 -248
  43. package/dist/index.esm.js +287 -833
  44. package/dist/index.esm.js.map +1 -1
  45. package/dist/shared/Label/index.d.ts +4 -3
  46. package/dist/styles.css +1 -1
  47. package/package.json +3 -2
  48. package/dist/components/CheckboxRadix/CheckboxRadix.d.ts +0 -4
  49. package/dist/components/CheckboxRadix/index.d.ts +0 -2
  50. package/dist/components/MenuRadix/MenuRadix.d.ts +0 -4
  51. package/dist/components/MenuRadix/MenuRadix.types.d.ts +0 -27
  52. package/dist/components/MenuRadix/index.d.ts +0 -2
  53. package/dist/components/RadioRadix/RadioRadix.d.ts +0 -4
  54. package/dist/components/RadioRadix/RadioRadix.types.d.ts +0 -15
  55. package/dist/components/RadioRadix/index.d.ts +0 -2
  56. package/dist/components/SelectField/SelectField.d.ts +0 -4
  57. package/dist/components/SelectField/SelectField.types.d.ts +0 -35
  58. package/dist/components/SelectRadix/SelectRadix.d.ts +0 -4
  59. package/dist/components/SelectRadix/SelectRadix.types.d.ts +0 -112
  60. package/dist/components/SelectRadix/index.d.ts +0 -5
package/dist/index.d.ts CHANGED
@@ -32,50 +32,30 @@ interface BadgeProps {
32
32
 
33
33
  declare const Badge: React__default.FC<BadgeProps>;
34
34
 
35
- interface ButtonProps {
36
- /** Define o elemento a ser renderizado (ex: 'button', 'a', ou componente de roteamento) */
35
+ interface ButtonProps extends React__default.HTMLAttributes<HTMLElement> {
37
36
  as?: React__default.ElementType;
38
- /** Define o texto principal do botão */
39
37
  children?: React__default.ReactNode;
40
- /** Define tipo do botão entre as opções */
41
38
  variant?: 'filled' | 'outlined' | 'text';
42
39
  iconOnly?: boolean;
43
- /** Define a posição do ícone entre as opções */
44
- iconPosition?: 'none' | 'left' | 'right';
45
- /** URL para links externos (ex: https://example.com) */
40
+ iconPosition?: 'left' | 'right' | 'both';
46
41
  href?: string;
47
- /** Rota interna para navegação SPA (ex: /dashboard, /profile) */
48
42
  to?: string;
49
- /** Indica se o link é externo */
50
43
  external?: boolean;
51
- /** Target para links (_blank, _self, etc.) */
52
44
  target?: string;
53
- /** Rel attribute para links */
54
45
  rel?: string;
55
- /** Props para React Router (replace, state, etc.) */
56
- routerProps?: Record<string, any>;
57
46
  type?: 'button' | 'submit' | 'reset';
58
- /** Desabilita interações do botão */
59
47
  disabled?: boolean;
60
- /** Função a ser chamada quando o botão é clicado */
61
48
  onClick?: (event: React__default.MouseEvent<HTMLElement>) => void;
62
- /** Define o tamanho do botão entre as opções */
63
49
  size?: 'lg' | 'sm';
64
- /** Classe CSS opcional */
65
50
  className?: string;
66
- /** ID opcional */
67
51
  id?: string;
68
- /** Ícone opcional */
69
52
  icon?: React__default.ReactNode;
70
- /** Define se o botão deve ocupar toda a largura */
71
53
  fullWidth?: boolean;
72
- /** Texto para acessibilidade */
73
54
  ariaLabel?: string;
74
- /** Outros props específicos do elemento/componente */
75
- [key: string]: any;
55
+ loading?: boolean;
76
56
  }
77
57
 
78
- declare const Button: React__default.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React__default.RefAttributes<HTMLElement>>;
58
+ declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & React__default.RefAttributes<HTMLElement>>;
79
59
 
80
60
  type Locale = 'pt-br' | 'en-us';
81
61
  type DateFormat = 'dd/mm/yyyy' | 'mm/dd/yyyy';
@@ -142,35 +122,8 @@ interface CalloutProps {
142
122
  declare const Callout: React__default.FC<CalloutProps>;
143
123
 
144
124
  interface CheckboxProps {
145
- /** Unique identifier for the checkbox input */
146
- id?: string;
147
- /** Name attribute for the checkbox, used for form identification */
148
- name?: string;
149
- /** Controlled value indicating whether the checkbox is checked */
150
- checked?: boolean;
151
- /** Callback function triggered when the checkbox value changes */
152
- onChange?: (event: React__default.ChangeEvent<HTMLInputElement>) => void;
153
- /** Label text displayed next to the checkbox */
154
- label?: string | React__default.ReactNode;
155
- /** Additional CSS classes for custom styling */
156
- className?: string;
157
- /** Value attribute for the checkbox input element */
158
- value?: string;
159
- /** AriaDescribedBy for the checkbox input element */
160
- ariaDescribedby?: string;
161
- /** Disables the checkbox, preventing user interaction */
162
- disabled?: boolean;
163
- /** Sets the checkbox to an indeterminate state (useful for parent-child relationships) */
164
- indeterminate?: boolean;
165
- /** Additional props passed to the checkbox input element */
166
- [key: string]: any;
167
- }
168
-
169
- declare const MemoizedCheckbox: React__default.NamedExoticComponent<CheckboxProps>;
170
-
171
- interface CheckboxRadixProps {
172
125
  id?: string;
173
- label: string;
126
+ label?: React.ReactNode;
174
127
  onCheckedChange?: (checked: boolean) => void;
175
128
  defaultChecked?: boolean;
176
129
  checked?: boolean;
@@ -179,7 +132,7 @@ interface CheckboxRadixProps {
179
132
  indeterminate?: boolean;
180
133
  }
181
134
 
182
- declare const CheckboxRadix: React$1.FC<CheckboxRadixProps>;
135
+ declare const Checkbox: React$1.FC<CheckboxProps>;
183
136
 
184
137
  interface ChipsProps {
185
138
  /** Variante a ser escolhida para utilizar padrões de estilizações pré-definidos */
@@ -454,49 +407,6 @@ interface ListItemProps {
454
407
  */
455
408
  declare const ListItem: React__default.FC<ListItemProps>;
456
409
 
457
- interface MenuItem {
458
- /** ID único do item */
459
- id: string;
460
- /** Texto principal do item */
461
- text: string;
462
- /** Texto secundário opcional */
463
- subText?: string;
464
- /** Ícone do item */
465
- icon?: ReactNode;
466
- /** Estado desabilitado */
467
- disabled?: boolean;
468
- /** Valor customizado do item */
469
- value?: unknown;
470
- }
471
- interface MenuProps {
472
- /** Elemento React que será usado como âncora do menu (obrigatório) */
473
- children: ReactElement<any, any>;
474
- /** Array de itens do menu */
475
- menuItems?: MenuItem[];
476
- /** Callback executado quando um item do menu é clicado */
477
- onMenuItemClick?: (item: MenuItem) => void;
478
- /** Callback executado quando o menu é aberto/fechado */
479
- onToggle?: (isOpen: boolean) => void;
480
- /** Tipo do dropdown */
481
- type?: 'text' | 'icon';
482
- /** Habilita campo de busca */
483
- applySearch?: boolean;
484
- /** Placeholder do campo de busca */
485
- placeholder?: string;
486
- /** Controla exibição do subtexto */
487
- showSubText?: boolean;
488
- /** Classes CSS adicionais */
489
- className?: string;
490
- /** ID único do componente */
491
- id?: string;
492
- maxWidth?: string | number;
493
- minWidth?: string | number;
494
- /** Posição do menu em relação ao elemento âncora */
495
- position?: 'left' | 'right';
496
- }
497
-
498
- declare const Menu: React__default.FC<MenuProps>;
499
-
500
410
  interface MenuItemProps {
501
411
  id?: string;
502
412
  text?: string;
@@ -506,7 +416,7 @@ interface MenuItemProps {
506
416
  children?: MenuItemProps[];
507
417
  value?: string;
508
418
  }
509
- interface MenuRadixProps {
419
+ interface MenuProps {
510
420
  items: MenuItemProps[];
511
421
  children?: ReactElement;
512
422
  type?: 'text' | 'icon';
@@ -524,7 +434,7 @@ interface MenuRadixProps {
524
434
  onOpenChange?: (open: boolean) => void;
525
435
  }
526
436
 
527
- declare const MenuRadix: React__default.FC<MenuRadixProps>;
437
+ declare const Menu: React__default.FC<MenuProps>;
528
438
 
529
439
  interface QuantityProps {
530
440
  /** Valor padrão inicial */
@@ -549,27 +459,6 @@ interface QuantityProps {
549
459
 
550
460
  declare const memorizedQuantity: React__default.NamedExoticComponent<QuantityProps>;
551
461
 
552
- interface RadioProps$1 {
553
- /** Definirá o nome do grupo de radio */
554
- name?: string;
555
- /** O valor associado ao botão de rádio */
556
- value: string;
557
- /** O identificador único para o input do rádio */
558
- id?: string;
559
- /** Indica se o botão de rádio está selecionado */
560
- checked?: boolean;
561
- /** Classes adicionais para estilização personalizada */
562
- className?: string;
563
- /** Função de callback acionada quando o valor do botão de rádio muda */
564
- onChange?: (value: string) => void;
565
- /** O texto do rótulo exibido ao lado do botão de rádio */
566
- label?: string;
567
- /** Indica se o botão de rádio está desabilitado */
568
- disabled?: boolean;
569
- }
570
-
571
- declare const MemoizedRadio: React__default.NamedExoticComponent<RadioProps$1>;
572
-
573
462
  interface RadioProps {
574
463
  id?: string | number;
575
464
  value: string;
@@ -586,7 +475,7 @@ interface RadioGroupProps {
586
475
  orientation?: "horizontal" | "vertical";
587
476
  }
588
477
 
589
- declare const RadioRadix: React__default.FC<RadioGroupProps>;
478
+ declare const Radio: React__default.FC<RadioGroupProps>;
590
479
 
591
480
  interface SearchProps {
592
481
  placeholder?: string;
@@ -601,115 +490,11 @@ interface SearchProps {
601
490
  onMouseDown?: (e: React__default.MouseEvent<HTMLDivElement>) => void;
602
491
  className?: string;
603
492
  id?: string;
493
+ 'data-testid'?: string;
604
494
  }
605
495
 
606
496
  declare const Search: React__default.ForwardRefExoticComponent<SearchProps & React__default.RefAttributes<HTMLInputElement>>;
607
497
 
608
- interface SelectOption {
609
- /** ID único da opção (opcional, será gerado automaticamente se não fornecido) */
610
- id?: string;
611
- /** Texto principal da opção */
612
- text: string;
613
- /** Texto secundário/descrição da opção */
614
- subText?: string;
615
- /** Ícone da opção (React node) */
616
- icon?: React__default.ReactNode;
617
- /** Define se a opção está desabilitada */
618
- disabled?: boolean;
619
- }
620
- interface SelectProps {
621
- /** ID único do componente */
622
- id?: string;
623
- /** Array de opções para seleção - obrigatório */
624
- options: SelectOption[];
625
- /** Valor(es) selecionado(s) */
626
- value?: string | string[];
627
- /** Valor inicial para seleção (usado apenas na primeira renderização) */
628
- initialValue?: string | string[];
629
- /** Callback para mudanças na seleção */
630
- onChange?: (selectedItems: SelectOption[]) => void;
631
- /** Placeholder do campo */
632
- placeholder?: string;
633
- /** Tipo do dropdown (single ou multiple) */
634
- type?: DropdownType;
635
- maxHeight?: string;
636
- /** Label do campo */
637
- label?: string;
638
- /** Texto de ajuda */
639
- helperText?: string;
640
- /** Mensagem de erro */
641
- errorMessage?: string;
642
- /** Campo obrigatório */
643
- required?: boolean;
644
- /** Campo desabilitado */
645
- disabled?: boolean;
646
- /** Classes CSS adicionais */
647
- className?: string;
648
- /** Texto para acessibilidade */
649
- showSubText?: boolean;
650
- /** Aria-label do campo */
651
- ariaLabel?: string;
652
- /** Habilita campo de busca */
653
- applySearch?: boolean;
654
- /** Placeholder do campo de busca */
655
- searchPlaceholder?: string;
656
- maxWidth?: string;
657
- minWidth?: string;
658
- tooltip?: boolean;
659
- tooltipText?: string;
660
- width?: string;
661
- /** Força posição do dropdown: 'top' abre para cima, 'bottom' abre para baixo. Se não especificado, usa detecção automática */
662
- position?: 'top' | 'bottom';
663
- positionTooltip?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'left' | 'right';
664
- infiniteScroll?: {
665
- status: 'idle' | 'loading' | 'succeeded' | 'failed';
666
- page: number;
667
- lastPage: number;
668
- onLoadMore: () => void;
669
- threshold?: number;
670
- rootMargin?: string;
671
- };
672
- }
673
-
674
- declare const Select: React__default.NamedExoticComponent<SelectProps>;
675
-
676
- interface SelectFieldProps {
677
- /** ID do campo */
678
- id?: string;
679
- /** Nome do campo */
680
- name?: string;
681
- /** Valor exibido */
682
- value?: string;
683
- /** Placeholder */
684
- placeholder?: string;
685
- /** Label do campo */
686
- label?: string;
687
- /** Texto de ajuda */
688
- helperText?: string;
689
- /** Mensagem de erro */
690
- errorMessage?: string;
691
- /** Campo obrigatório */
692
- required?: boolean;
693
- /** Campo desabilitado */
694
- disabled?: boolean;
695
- /** Ícone (chevron) */
696
- icon?: React__default.ReactNode;
697
- /** Estado aberto */
698
- isOpen?: boolean;
699
- /** Classes CSS adicionais */
700
- className?: string;
701
- /** Tooltip info */
702
- tooltip?: React__default.ReactNode;
703
- tooltipText?: string;
704
- positionTooltip?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'left' | 'right';
705
- /** Indica se o campo foi "tocado" (aberto e fechado) */
706
- isTouched?: boolean;
707
- /** Força estado de erro independente da validação interna */
708
- hasError?: boolean;
709
- }
710
-
711
- declare const SelectField: React__default.ForwardRefExoticComponent<SelectFieldProps & React__default.RefAttributes<HTMLDivElement>>;
712
-
713
498
  interface SelectItemProps {
714
499
  id?: string;
715
500
  text: ReactNode;
@@ -718,9 +503,10 @@ interface SelectItemProps {
718
503
  disabled?: boolean;
719
504
  value: string;
720
505
  selected?: boolean;
506
+ children?: SelectItemProps[];
721
507
  }
722
508
  type SelectVariant = 'text' | 'icon' | 'checkbox';
723
- interface SelectRadixProps {
509
+ interface SelectProps {
724
510
  items: SelectItemProps[];
725
511
  onValueChange?: (value: string | string[]) => void;
726
512
  onOpenChange?: (open: boolean) => void;
@@ -730,16 +516,18 @@ interface SelectRadixProps {
730
516
  multiple?: boolean;
731
517
  placeholder?: string;
732
518
  search?: boolean;
733
- tooltip?: boolean;
734
- tooltipMessage?: string;
735
519
  label?: string;
736
520
  helperText?: string;
737
- maxWidth?: string | number;
521
+ maxWidth?: number;
738
522
  errorMessage?: string;
739
523
  disabled?: boolean;
740
524
  className?: string;
741
525
  'aria-label'?: string;
742
526
  'data-testid'?: string;
527
+ tooltip?: boolean;
528
+ tooltipText?: string;
529
+ side?: "top" | "right" | "bottom" | "left";
530
+ align?: "start" | "center" | "end";
743
531
  enableInfiniteScroll?: boolean;
744
532
  onScrollEnd?: () => void;
745
533
  isLoadingMore?: boolean;
@@ -748,44 +536,80 @@ interface SelectRadixProps {
748
536
  isSearching?: boolean;
749
537
  }
750
538
 
751
- declare const SelectRadix: React__default.FC<SelectRadixProps>;
539
+ declare const Select: React__default.FC<SelectProps>;
752
540
 
541
+ /**
542
+ * Tipo base para dados da tabela. Use `<Table<SeuTipo>>` para type-safety completo.
543
+ * @example <Table<User> dataSource={users} />
544
+ */
545
+ type TableRowData = Record<string, any>;
546
+ /** Tipos de coluna suportados */
753
547
  type TableColumnType = 'text' | 'datetime' | 'custom';
548
+ /** Opções de alinhamento de coluna */
754
549
  type TableAlign = 'left' | 'center' | 'right';
755
- interface TableColumn {
550
+ /**
551
+ * Configuração de coluna da tabela
552
+ * @typeParam T - Tipo dos dados da linha
553
+ */
554
+ interface TableColumn<T = TableRowData> {
555
+ /** Chave única identificadora da coluna */
756
556
  key: string;
557
+ /** Conteúdo do cabeçalho da coluna */
757
558
  label: ReactNode;
559
+ /** Tipo de dados da coluna */
758
560
  type?: TableColumnType;
561
+ /** Formato de exibição (ex: 'dd/MM/yyyy' para datetime) */
759
562
  format?: string;
760
- render?: (row: TableRowData, index: number) => ReactNode;
563
+ /** Função customizada para renderizar o conteúdo da célula */
564
+ render?: (row: T, index: number) => ReactNode;
565
+ /** Alinhamento do conteúdo */
761
566
  align?: TableAlign;
567
+ /** Estilos CSS customizados */
762
568
  style?: CSSProperties;
763
569
  }
764
- type TableRowData = Record<string, any>;
765
- interface TableProps {
766
- columns: TableColumn[];
767
- dataSource: TableRowData[];
570
+ /**
571
+ * Props do componente Table. Use genérico para autocomplete: `<Table<User>>`
572
+ * @typeParam T - Tipo dos dados da linha
573
+ */
574
+ interface TableProps<T = TableRowData> {
575
+ /** Configuração das colunas */
576
+ columns: TableColumn<T>[];
577
+ /** Array de dados a serem exibidos */
578
+ dataSource: T[];
579
+ /** Classe CSS customizada */
768
580
  className?: string;
581
+ /** Estado de carregamento */
769
582
  loading?: boolean;
583
+ /** Configuração de seleção de linhas */
770
584
  rowSelection?: {
585
+ /** Keys das linhas selecionadas (modo controlado) */
771
586
  selectedRowKeys?: (string | number)[];
772
- onChange?: (keys: (string | number)[], rows: TableRowData[]) => void;
773
- getCheckboxProps?: (row: TableRowData, index: number) => {
587
+ /** Callback quando seleção muda: (keys, rows) => void */
588
+ onChange?: (keys: (string | number)[], rows: T[]) => void;
589
+ /** Customiza props dos checkboxes: (row, index) => { disabled? } */
590
+ getCheckboxProps?: (row: T, index: number) => {
774
591
  disabled?: boolean;
775
592
  };
593
+ /** Desabilita o checkbox "selecionar todos" */
594
+ disableSelectAll?: boolean;
776
595
  };
596
+ /** Configurações de localização */
777
597
  locale?: {
598
+ /** Texto quando não há dados */
778
599
  emptyText?: ReactNode;
779
600
  };
780
- /** Eventos de linha */
781
- onRow?: (row: TableRowData, index: number) => {
601
+ /** Eventos de linha: (row, index) => { onClick?, onDoubleClick?, className? } */
602
+ onRow?: (row: T, index: number) => {
603
+ /** Clique simples na linha */
782
604
  onClick?: () => void;
605
+ /** Clique duplo na linha */
783
606
  onDoubleClick?: () => void;
607
+ /** Classe CSS da linha */
784
608
  className?: string;
785
609
  };
786
610
  }
787
611
 
788
- declare const Table: React__default.FC<TableProps>;
612
+ declare const Table: <T extends TableRowData = TableRowData>({ columns, dataSource, className, loading, rowSelection, locale, onRow, }: TableProps<T>) => react_jsx_runtime.JSX.Element | null;
789
613
 
790
614
  interface BaseFilterItem {
791
615
  id?: string;
@@ -850,7 +674,6 @@ interface TablePaginationProps {
850
674
  declare const TablePagination: React__default.FC<TablePaginationProps>;
851
675
 
852
676
  type TextFieldType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';
853
- type TooltipPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
854
677
  interface TextFieldProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'type'> {
855
678
  /** Controlled value */
856
679
  value?: string;
@@ -866,9 +689,8 @@ interface TextFieldProps extends Omit<React__default.InputHTMLAttributes<HTMLInp
866
689
  tooltip?: boolean;
867
690
  /** Tooltip content */
868
691
  tooltipText?: string;
869
- /** Tooltip position */
870
- positionTooltip?: TooltipPosition;
871
- /** Custom error message for validation */
692
+ side?: "top" | "right" | "bottom" | "left";
693
+ align?: "start" | "center" | "end";
872
694
  errorMessage?: string;
873
695
  /** Leading icon */
874
696
  icon?: React__default.ReactNode;
@@ -905,12 +727,27 @@ declare const useToast: () => ToastContextType;
905
727
  interface TooltipProps {
906
728
  id?: string;
907
729
  text: React__default.ReactNode;
908
- position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'left' | 'right';
730
+ side?: "top" | "right" | "bottom" | "left";
731
+ align?: "start" | "center" | "end";
732
+ sideOffset?: number;
733
+ alignOffset?: number;
734
+ maxWidth?: number;
909
735
  children: React__default.ReactNode;
910
736
  }
911
737
 
912
738
  declare const Tooltip: React__default.FC<TooltipProps>;
913
739
 
740
+ interface SwitchProps {
741
+ defaultChecked?: boolean;
742
+ disabled?: boolean;
743
+ onCheckedChange?: (checked: boolean) => void;
744
+ name?: string;
745
+ value?: string;
746
+ checked?: boolean;
747
+ }
748
+
749
+ declare const Switch: React$1.FC<SwitchProps>;
750
+
914
751
  type InputType = 'numeric' | 'alpha' | 'alphanumeric';
915
752
  interface VerificationCodeProps {
916
753
  /** Define o número de dígitos do código (padrão: 6) */
@@ -1045,5 +882,5 @@ declare function useInfiniteScroll({ status, page, lastPage, onLoadMore, thresho
1045
882
 
1046
883
  declare const normalizeText: (text: React.ReactNode) => string;
1047
884
 
1048
- export { Avatar, Badge, Button, MemoizedCalendar as Calendar, Callout, MemoizedCheckbox as Checkbox, CheckboxRadix, MemoizedChips as Chips, Container, _default$1 as DatePicker, MemoizedDialog as Dialog, Drawer, MemoizedDropdown as Dropdown, Filter, ListItem, Menu, MenuRadix, memorizedQuantity as Quantity, MemoizedRadio as Radio, RadioRadix, Search, Select, SelectField, SelectRadix, Table, TableHeader, TablePagination, _default as TextField, ToastProvider as Toast, ToastProvider, Tooltip, VerificationCode, normalizeText, useApiSimulation, useInfiniteScroll, useToast };
1049
- export type { AvatarProps, BadgeProps, ButtonProps, CalendarItem, CalendarProps, CalloutProps, CheckboxProps, CheckboxRadixProps, ChipsProps, ContainerProps, DateFormat, DatePickerProps, DayItem, DialogProps, DrawerProps, DropdownItem, DropdownProps, DropdownType, EmptyItem, FilterItem, FilterProps, ListItemProps, Locale, MenuItem, MenuProps, MenuRadixProps, QuantityProps, RadioProps$1 as RadioProps, RadioProps as RadioRadixItemProps, RadioGroupProps as RadioRadixProps, SearchProps, SelectFieldProps, SelectOption, SelectProps, SelectRadixProps, TableHeaderProps, TablePaginationProps, TableProps, TextFieldProps, ToastContextType, ToastMessage, ToastOptions, ToastType, TooltipProps, VerificationCodeProps, YearItem };
885
+ export { Avatar, Badge, Button, MemoizedCalendar as Calendar, Callout, Checkbox, MemoizedChips as Chips, Container, _default$1 as DatePicker, MemoizedDialog as Dialog, Drawer, MemoizedDropdown as Dropdown, Filter, ListItem, Menu, memorizedQuantity as Quantity, Radio, Search, Select, Switch, Table, TableHeader, TablePagination, _default as TextField, ToastProvider as Toast, ToastProvider, Tooltip, VerificationCode, normalizeText, useApiSimulation, useInfiniteScroll, useToast };
886
+ export type { AvatarProps, BadgeProps, ButtonProps, CalendarItem, CalendarProps, CalloutProps, CheckboxProps, ChipsProps, ContainerProps, DateFormat, DatePickerProps, DayItem, DialogProps, DrawerProps, DropdownItem, DropdownProps, DropdownType, EmptyItem, FilterItem, FilterProps, ListItemProps, Locale, MenuProps, QuantityProps, RadioGroupProps, RadioProps, SearchProps, SelectProps, SwitchProps, TableHeaderProps, TablePaginationProps, TableProps, TextFieldProps, ToastContextType, ToastMessage, ToastOptions, ToastType, TooltipProps, VerificationCodeProps, YearItem };