@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.
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.types.d.ts +3 -23
- package/dist/components/Button/__tests__/Button.test.d.ts +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +4 -4
- package/dist/components/Checkbox/Checkbox.types.d.ts +4 -19
- package/dist/components/Checkbox/__tests__/Checkbox.test.d.ts +1 -0
- package/dist/components/Menu/Menu.d.ts +1 -1
- package/dist/components/Menu/Menu.types.d.ts +25 -34
- package/dist/components/Menu/__tests__/Menu.test.d.ts +1 -0
- package/dist/components/{MenuRadix → Menu}/components/MenuItem.d.ts +1 -6
- package/dist/components/{MenuRadix → Menu}/hooks/useMenuLogic.d.ts +1 -1
- package/dist/components/{MenuRadix → Menu}/hooks/useSearchLogic.d.ts +1 -1
- package/dist/components/Menu/index.d.ts +1 -1
- package/dist/components/Radio/Radio.d.ts +3 -3
- package/dist/components/Radio/Radio.types.d.ts +11 -14
- package/dist/components/Radio/__tests__/Radio.test.d.ts +1 -0
- package/dist/components/Radio/index.d.ts +1 -0
- package/dist/components/Search/Search.types.d.ts +1 -0
- package/dist/components/Select/Select.d.ts +2 -2
- package/dist/components/Select/Select.types.d.ts +100 -52
- package/dist/components/Select/__tests__/SelectRadix.test.d.ts +1 -0
- package/dist/components/{SelectRadix → Select}/components/CheckboxSelectItem.d.ts +1 -1
- package/dist/components/Select/components/ExpandableSelectItem.d.ts +11 -0
- package/dist/components/{SelectRadix → Select}/components/SelectItem.d.ts +1 -1
- package/dist/components/{SelectRadix → Select}/hooks/useSelectLogic.d.ts +1 -1
- package/dist/components/Select/index.d.ts +4 -1
- package/dist/components/Switch/Switch.d.ts +4 -0
- package/dist/components/{CheckboxRadix/CheckboxRadix.types.d.ts → Switch/Switch.types.d.ts} +5 -7
- package/dist/components/Switch/__tests__/Switch.test.d.ts +1 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Table/Table.d.ts +2 -3
- package/dist/components/Table/Table.types.d.ts +46 -10
- package/dist/components/Table/index.d.ts +1 -1
- package/dist/components/TextField/TextField.types.d.ts +2 -3
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.types.d.ts +5 -1
- package/dist/components/Tooltip/__tests__/Tooltip.test.d.ts +1 -0
- package/dist/components/Tooltip/index.d.ts +1 -0
- package/dist/components/index.d.ts +5 -13
- package/dist/index.cjs +275 -843
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +85 -248
- package/dist/index.esm.js +287 -833
- package/dist/index.esm.js.map +1 -1
- package/dist/shared/Label/index.d.ts +4 -3
- package/dist/styles.css +1 -1
- package/package.json +3 -2
- package/dist/components/CheckboxRadix/CheckboxRadix.d.ts +0 -4
- package/dist/components/CheckboxRadix/index.d.ts +0 -2
- package/dist/components/MenuRadix/MenuRadix.d.ts +0 -4
- package/dist/components/MenuRadix/MenuRadix.types.d.ts +0 -27
- package/dist/components/MenuRadix/index.d.ts +0 -2
- package/dist/components/RadioRadix/RadioRadix.d.ts +0 -4
- package/dist/components/RadioRadix/RadioRadix.types.d.ts +0 -15
- package/dist/components/RadioRadix/index.d.ts +0 -2
- package/dist/components/SelectField/SelectField.d.ts +0 -4
- package/dist/components/SelectField/SelectField.types.d.ts +0 -35
- package/dist/components/SelectRadix/SelectRadix.d.ts +0 -4
- package/dist/components/SelectRadix/SelectRadix.types.d.ts +0 -112
- 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
|
-
|
|
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
|
-
|
|
75
|
-
[key: string]: any;
|
|
55
|
+
loading?: boolean;
|
|
76
56
|
}
|
|
77
57
|
|
|
78
|
-
declare const Button: React__default.ForwardRefExoticComponent<
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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?:
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
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
|
-
|
|
773
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
870
|
-
|
|
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
|
-
|
|
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,
|
|
1049
|
-
export type { AvatarProps, BadgeProps, ButtonProps, CalendarItem, CalendarProps, CalloutProps, CheckboxProps,
|
|
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 };
|