@giro-ds/react 4.0.0 → 5.0.1

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 (132) hide show
  1. package/dist/index.cjs +429 -703
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.ts +117 -171
  4. package/dist/index.esm.js +431 -705
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/styles.css +1 -1
  7. package/package.json +1 -1
  8. package/dist/components/Avatar/Avatar.d.ts +0 -4
  9. package/dist/components/Avatar/Avatar.types.d.ts +0 -23
  10. package/dist/components/Avatar/__tests__/Avatar.test.d.ts +0 -1
  11. package/dist/components/Avatar/index.d.ts +0 -2
  12. package/dist/components/Badge/Badge.d.ts +0 -4
  13. package/dist/components/Badge/Badge.types.d.ts +0 -37
  14. package/dist/components/Badge/index.d.ts +0 -2
  15. package/dist/components/Button/Button.d.ts +0 -4
  16. package/dist/components/Button/Button.types.d.ts +0 -62
  17. package/dist/components/Button/__tests__/Button.test.d.ts +0 -1
  18. package/dist/components/Button/index.d.ts +0 -2
  19. package/dist/components/Calendar/Calendar.d.ts +0 -3
  20. package/dist/components/Calendar/Calendar.types.d.ts +0 -109
  21. package/dist/components/Calendar/__tests__/Calendar.test.d.ts +0 -1
  22. package/dist/components/Calendar/index.d.ts +0 -1
  23. package/dist/components/Callout/Callout.d.ts +0 -4
  24. package/dist/components/Callout/Callout.types.d.ts +0 -34
  25. package/dist/components/Callout/index.d.ts +0 -1
  26. package/dist/components/Checkbox/Checkbox.d.ts +0 -4
  27. package/dist/components/Checkbox/Checkbox.types.d.ts +0 -34
  28. package/dist/components/Checkbox/__tests__/Checkbox.test.d.ts +0 -1
  29. package/dist/components/Checkbox/index.d.ts +0 -2
  30. package/dist/components/Chips/Chips.d.ts +0 -4
  31. package/dist/components/Chips/Chips.types.d.ts +0 -34
  32. package/dist/components/Chips/index.d.ts +0 -1
  33. package/dist/components/Container/Container.d.ts +0 -2
  34. package/dist/components/Container/Container.types.d.ts +0 -15
  35. package/dist/components/Container/__tests__/Container.test.d.ts +0 -1
  36. package/dist/components/DatePicker/DatePicker.d.ts +0 -4
  37. package/dist/components/DatePicker/DatePicker.types.d.ts +0 -50
  38. package/dist/components/DatePicker/DateUtils.d.ts +0 -23
  39. package/dist/components/DatePicker/index.d.ts +0 -2
  40. package/dist/components/Dialog/Dialog.d.ts +0 -4
  41. package/dist/components/Dialog/Dialog.types.d.ts +0 -28
  42. package/dist/components/Dialog/__tests__/Dialog.test.d.ts +0 -1
  43. package/dist/components/Dialog/index.d.ts +0 -2
  44. package/dist/components/Drawer/Drawer.d.ts +0 -9
  45. package/dist/components/Drawer/Drawer.types.d.ts +0 -74
  46. package/dist/components/Drawer/index.d.ts +0 -1
  47. package/dist/components/Dropdown/Dropdown.d.ts +0 -4
  48. package/dist/components/Dropdown/Dropdown.types.d.ts +0 -91
  49. package/dist/components/Dropdown/DropdownUtils.d.ts +0 -8
  50. package/dist/components/Dropdown/index.d.ts +0 -2
  51. package/dist/components/Filter/Filter.d.ts +0 -4
  52. package/dist/components/Filter/Filter.types.d.ts +0 -65
  53. package/dist/components/Filter/index.d.ts +0 -2
  54. package/dist/components/ListItem/ListItem.d.ts +0 -4
  55. package/dist/components/ListItem/ListItem.types.d.ts +0 -52
  56. package/dist/components/ListItem/index.d.ts +0 -2
  57. package/dist/components/Menu/Menu.d.ts +0 -4
  58. package/dist/components/Menu/Menu.types.d.ts +0 -90
  59. package/dist/components/Menu/__tests__/Menu.test.d.ts +0 -1
  60. package/dist/components/Menu/components/MenuItem.d.ts +0 -3
  61. package/dist/components/Menu/hooks/useMenuLogic.d.ts +0 -15
  62. package/dist/components/Menu/hooks/useSearchLogic.d.ts +0 -13
  63. package/dist/components/Menu/index.d.ts +0 -2
  64. package/dist/components/Popover/Popover.d.ts +0 -4
  65. package/dist/components/Popover/Popover.types.d.ts +0 -8
  66. package/dist/components/Popover/__test__/Popover.test.d.ts +0 -1
  67. package/dist/components/Popover/index.d.ts +0 -2
  68. package/dist/components/Quantity/Quantity.d.ts +0 -4
  69. package/dist/components/Quantity/Quantity.types.d.ts +0 -38
  70. package/dist/components/Quantity/index.d.ts +0 -2
  71. package/dist/components/Radio/Radio.d.ts +0 -4
  72. package/dist/components/Radio/Radio.types.d.ts +0 -52
  73. package/dist/components/Radio/__tests__/Radio.test.d.ts +0 -1
  74. package/dist/components/Radio/index.d.ts +0 -2
  75. package/dist/components/Search/Search.d.ts +0 -4
  76. package/dist/components/Search/Search.types.d.ts +0 -48
  77. package/dist/components/Search/__tests__/Search.test.d.ts +0 -1
  78. package/dist/components/Search/index.d.ts +0 -2
  79. package/dist/components/Select/Select.d.ts +0 -4
  80. package/dist/components/Select/Select.types.d.ts +0 -224
  81. package/dist/components/Select/__tests__/SelectRadix.test.d.ts +0 -1
  82. package/dist/components/Select/components/CheckboxSelectItem.d.ts +0 -4
  83. package/dist/components/Select/components/ExpandableSelectItem.d.ts +0 -11
  84. package/dist/components/Select/components/SelectItem.d.ts +0 -7
  85. package/dist/components/Select/hooks/useSelectLogic.d.ts +0 -3
  86. package/dist/components/Select/index.d.ts +0 -5
  87. package/dist/components/Switch/Switch.d.ts +0 -4
  88. package/dist/components/Switch/Switch.types.d.ts +0 -32
  89. package/dist/components/Switch/__tests__/Switch.test.d.ts +0 -1
  90. package/dist/components/Switch/index.d.ts +0 -2
  91. package/dist/components/Table/EmptyRows150Color.d.ts +0 -8
  92. package/dist/components/Table/LoaderList.d.ts +0 -10
  93. package/dist/components/Table/MultiLineText/MultiLineText.d.ts +0 -14
  94. package/dist/components/Table/MultiLineText/index.d.ts +0 -2
  95. package/dist/components/Table/Table.d.ts +0 -3
  96. package/dist/components/Table/Table.types.d.ts +0 -70
  97. package/dist/components/Table/TableHeader.d.ts +0 -48
  98. package/dist/components/Table/TablePagination.d.ts +0 -13
  99. package/dist/components/Table/index.d.ts +0 -7
  100. package/dist/components/Table/utils/tableActions.d.ts +0 -21
  101. package/dist/components/TextField/TextField.d.ts +0 -4
  102. package/dist/components/TextField/TextField.types.d.ts +0 -69
  103. package/dist/components/TextField/__tests__/Textfield.test.d.ts +0 -1
  104. package/dist/components/TextField/index.d.ts +0 -2
  105. package/dist/components/TextField/utils/__tests__/validation.test.d.ts +0 -1
  106. package/dist/components/TextField/utils/index.d.ts +0 -2
  107. package/dist/components/TextField/utils/validation.d.ts +0 -8
  108. package/dist/components/Toast/Toast.d.ts +0 -34
  109. package/dist/components/Toast/Toast.types.d.ts +0 -57
  110. package/dist/components/Toast/__tests__/Toast.test.d.ts +0 -1
  111. package/dist/components/Toast/components/ToastContainer.d.ts +0 -22
  112. package/dist/components/Toast/components/ToastProvider.d.ts +0 -35
  113. package/dist/components/Toast/index.d.ts +0 -5
  114. package/dist/components/Tooltip/Tooltip.d.ts +0 -4
  115. package/dist/components/Tooltip/Tooltip.types.d.ts +0 -14
  116. package/dist/components/Tooltip/__tests__/Tooltip.test.d.ts +0 -1
  117. package/dist/components/Tooltip/index.d.ts +0 -2
  118. package/dist/components/VerificationCode/VerificationCode.d.ts +0 -20
  119. package/dist/components/VerificationCode/VerificationCode.types.d.ts +0 -39
  120. package/dist/components/VerificationCode/index.d.ts +0 -2
  121. package/dist/components/index.d.ts +0 -59
  122. package/dist/contexts/ToastContext.d.ts +0 -43
  123. package/dist/hooks/ApiSimulation.d.ts +0 -53
  124. package/dist/hooks/InfiniteScroll.d.ts +0 -41
  125. package/dist/hooks/NormalizeText.d.ts +0 -1
  126. package/dist/hooks/useToast.d.ts +0 -46
  127. package/dist/shared/Label/index.d.ts +0 -15
  128. package/dist/shared/icons/CheckHalf.d.ts +0 -10
  129. package/dist/shared/icons/CheckSmall.d.ts +0 -10
  130. package/dist/shared/icons/index.d.ts +0 -4
  131. package/dist/types/common.types.d.ts +0 -12
  132. package/dist/types/index.d.ts +0 -1
@@ -1,65 +0,0 @@
1
- import { ReactNode, ReactElement } from 'react';
2
- import { Variant, BaseProps, Locale, Position } from '../../types/common.types';
3
- import { DropdownItem, DropdownType } from '../Dropdown/Dropdown.types';
4
- /**
5
- * Props do componente Filter
6
- * @example
7
- * ```tsx
8
- * <Filter
9
- * items={filterItems}
10
- * type="checkbox"
11
- * placeholder="Filtrar por categoria"
12
- * onApplyFilter={(ids) => handleFilter(ids)}
13
- * buttonText="Filtros"
14
- * />
15
- * ```
16
- * @example
17
- * ```tsx
18
- * <Filter
19
- * type="calendar"
20
- * selectedDate={selectedDate}
21
- * onDateSelect={handleDateSelect}
22
- * minDate={new Date('2024-01-01')}
23
- * locale="pt-br"
24
- * icon={<CalendarIcon />}
25
- * />
26
- * ```
27
- */
28
- export interface FilterProps extends BaseProps {
29
- /** Array de itens para filtros do tipo dropdown */
30
- items?: DropdownItem[];
31
- /** Tipo do filtro (dropdown ou calendário) */
32
- type?: DropdownType | 'calendar';
33
- /** IDs dos itens selecionados */
34
- selectedIds?: string[];
35
- /** Callback executado ao aplicar filtro: (selectedIds) => void */
36
- onApplyFilter?: (selectedIds: string[]) => void;
37
- /** Placeholder do campo de busca */
38
- placeholder?: string;
39
- /** Habilita campo de busca no dropdown */
40
- enableSearch?: boolean;
41
- /** Texto ou conteúdo do botão de filtro */
42
- buttonText?: string | ReactNode;
43
- /** Ícone do botão de filtro */
44
- icon?: ReactElement;
45
- /** Variante visual do botão */
46
- variant?: Variant;
47
- /** Callback executado ao abrir o filtro: () => void */
48
- onOpen?: () => void;
49
- /** Callback executado ao fechar o filtro: () => void */
50
- onClose?: () => void;
51
- /** Posição do dropdown em relação ao botão */
52
- position?: Position;
53
- /** Data selecionada (para tipo calendar) */
54
- selectedDate?: Date | null;
55
- /** Callback executado ao selecionar data: (date) => void */
56
- onDateSelect?: (date: Date) => void;
57
- /** Callback executado ao limpar data: () => void */
58
- onClearDate?: () => void;
59
- /** Data mínima selecionável (para tipo calendar) */
60
- minDate?: Date;
61
- /** Data máxima selecionável (para tipo calendar) */
62
- maxDate?: Date;
63
- /** Locale do calendário */
64
- locale?: Locale;
65
- }
@@ -1,2 +0,0 @@
1
- export { default } from './Filter';
2
- export type { FilterProps } from './Filter.types';
@@ -1,4 +0,0 @@
1
- import React from "react";
2
- import type { ListItemProps } from './ListItem.types';
3
- declare const ListItem: React.FC<ListItemProps>;
4
- export default ListItem;
@@ -1,52 +0,0 @@
1
- import * as React from 'react';
2
- import { BaseProps } from '../../types/common.types';
3
- /** Variantes disponíveis para o ListItem */
4
- export type ListItemVariant = 'text' | 'checkbox' | 'radio' | 'icon';
5
- /**
6
- * Props do componente ListItem
7
- * @example
8
- * ```tsx
9
- * <ListItem
10
- * variant="text"
11
- * text="Item da lista"
12
- * subText="Descrição do item"
13
- * onClick={handleClick}
14
- * />
15
- * ```
16
- * @example
17
- * ```tsx
18
- * <ListItem
19
- * variant="checkbox"
20
- * text="Aceitar termos"
21
- * checked={isChecked}
22
- * onChange={setIsChecked}
23
- * disabled={false}
24
- * />
25
- * ```
26
- */
27
- export interface ListItemProps extends BaseProps {
28
- /** Variante do item da lista */
29
- variant?: ListItemVariant;
30
- /** Texto principal do item */
31
- text?: string;
32
- /** Nome do input (para variantes checkbox/radio) */
33
- name?: string;
34
- /** Texto secundário/descrição do item */
35
- subText?: string;
36
- /** Estado de checked (para variantes checkbox/radio) */
37
- checked?: boolean;
38
- /** Estado de selecionado (para variantes text/icon) */
39
- selected?: boolean;
40
- /** Callback executado ao clicar no item: (event) => void */
41
- onClick?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => void;
42
- /** Callback executado quando o estado muda: (checked) => void */
43
- onChange?: (checked: boolean) => void;
44
- /** Ícone do item (para variante icon) */
45
- icon?: React.ReactNode;
46
- /** Valor do input (para variantes checkbox/radio) */
47
- value?: string;
48
- /** Define se deve mostrar o subtexto */
49
- showSubText?: boolean;
50
- /** Estado de hover */
51
- hovered?: boolean;
52
- }
@@ -1,2 +0,0 @@
1
- export { default } from './ListItem';
2
- export type { ListItemProps } from './ListItem.types';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { MenuProps } from './Menu.types';
3
- declare const Menu: React.FC<MenuProps>;
4
- export default Menu;
@@ -1,90 +0,0 @@
1
- import * as React from 'react';
2
- import { ReactElement } from 'react';
3
- import { BaseProps } from '../../types/common.types';
4
- /**
5
- * Representa um item do menu (suporta subitens aninhados)
6
- */
7
- export interface MenuItemProps {
8
- /** ID único do item */
9
- id?: string;
10
- /** Texto principal do item */
11
- text?: string;
12
- /** Texto secundário/descrição do item */
13
- subText?: string;
14
- /** Estado desabilitado do item */
15
- disabled?: boolean;
16
- /** Ícone do item */
17
- icon?: React.ReactNode;
18
- /** Subitens do menu (para menus aninhados) */
19
- children?: MenuItemProps[];
20
- /** Valor do item */
21
- value?: string;
22
- }
23
- /**
24
- * Props para renderização customizada de item do menu
25
- */
26
- export interface DefaultMenuItemProps {
27
- /** Dados do item */
28
- item: MenuItemProps;
29
- /** Define se o item está selecionado */
30
- isSelected: boolean;
31
- /** Callback executado ao selecionar o item: (item) => void */
32
- onSelect: (item: MenuItemProps) => void;
33
- }
34
- /**
35
- * Props do componente Menu
36
- * @example
37
- * ```tsx
38
- * <Menu
39
- * items={[
40
- * { id: '1', text: 'Perfil', icon: <UserIcon /> },
41
- * { id: '2', text: 'Configurações', icon: <SettingsIcon /> }
42
- * ]}
43
- * onItemSelect={(item) => handleSelect(item)}
44
- * >
45
- * <Button>Menu</Button>
46
- * </Menu>
47
- * ```
48
- * @example
49
- * ```tsx
50
- * <Menu
51
- * items={menuItems}
52
- * type="icon"
53
- * search={true}
54
- * enableInfiniteScroll={true}
55
- * onScrollEnd={loadMore}
56
- * maxHeight="400px"
57
- * align="end"
58
- * />
59
- * ```
60
- */
61
- export interface MenuProps extends BaseProps {
62
- /** Array de itens do menu */
63
- items: MenuItemProps[];
64
- /** Elemento trigger customizado para abrir o menu */
65
- children?: ReactElement;
66
- /** Tipo de visualização do menu */
67
- type?: 'text' | 'icon';
68
- /** Callback executado quando um item é selecionado: (item) => void */
69
- onItemSelect?: (items: MenuItemProps) => void;
70
- /** Array de itens selecionados */
71
- selectedItems?: MenuItemProps[];
72
- /** Habilita campo de busca */
73
- search?: boolean;
74
- /** Alinhamento do menu */
75
- align?: 'start' | 'end' | 'center';
76
- /** Altura máxima do menu */
77
- maxHeight?: number | string;
78
- /** Habilita scroll infinito */
79
- enableInfiniteScroll?: boolean;
80
- /** Callback executado ao chegar ao final do scroll: () => void */
81
- onScrollEnd?: () => void;
82
- /** Estado de carregamento de mais itens */
83
- isLoadingMore?: boolean;
84
- /** Habilita busca via API */
85
- enableApiSearch?: boolean;
86
- /** Callback executado na busca via API: (searchTerm) => void */
87
- onApiSearch?: (searchTerm: string) => void;
88
- /** Callback executado quando o menu abre/fecha: (open) => void */
89
- onOpenChange?: (open: boolean) => void;
90
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import { DefaultMenuItemProps } from '../Menu.types';
2
- export declare const MenuItem: import("react").MemoExoticComponent<({ item, isSelected, onSelect }: DefaultMenuItemProps) => import("react/jsx-runtime").JSX.Element>;
3
- export default MenuItem;
@@ -1,15 +0,0 @@
1
- import { MenuItemProps } from '../Menu.types';
2
- export interface UseMenuLogicProps {
3
- selectedItems?: MenuItemProps[];
4
- onItemSelect?: (items: MenuItemProps) => void;
5
- onOpenChange?: (open: boolean) => void;
6
- }
7
- export interface UseMenuLogicReturn {
8
- open: boolean;
9
- internalSelectedItems: MenuItemProps[];
10
- setOpen: (open: boolean) => void;
11
- handleItemSelect: (item: MenuItemProps) => void;
12
- isItemSelected: (item: MenuItemProps) => boolean;
13
- }
14
- export declare function useMenuLogic({ selectedItems, onItemSelect, onOpenChange, }: UseMenuLogicProps): UseMenuLogicReturn;
15
- export default useMenuLogic;
@@ -1,13 +0,0 @@
1
- import { MenuItemProps } from '../Menu.types';
2
- interface UseSearchLogicProps {
3
- items: MenuItemProps[];
4
- searchValue: string;
5
- searchTerm: string;
6
- enableApiSearch?: boolean;
7
- onApiSearch?: (term: string) => void;
8
- }
9
- interface UseSearchLogicReturn {
10
- filteredItems: MenuItemProps[];
11
- }
12
- export declare const useSearchLogic: ({ items, searchValue, searchTerm, enableApiSearch, onApiSearch, }: UseSearchLogicProps) => UseSearchLogicReturn;
13
- export {};
@@ -1,2 +0,0 @@
1
- export { default } from './Menu';
2
- export type { MenuProps, MenuItemProps } from './Menu.types';
@@ -1,4 +0,0 @@
1
- import * as React from "react";
2
- import { PopoverProps } from "./Popover.types";
3
- declare const Popover: React.FC<PopoverProps>;
4
- export default Popover;
@@ -1,8 +0,0 @@
1
- import { Align, Side } from '../../types/common.types';
2
- export interface PopoverProps {
3
- trigger: React.ReactNode;
4
- content: React.ReactNode;
5
- onDateSelect?: (date: Date) => void;
6
- align?: Align;
7
- side?: Side;
8
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- export { default } from './Popover';
2
- export type { PopoverProps } from './Popover.types';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { QuantityProps } from './Quantity.types';
3
- declare const memorizedQuantity: React.NamedExoticComponent<QuantityProps>;
4
- export default memorizedQuantity;
@@ -1,38 +0,0 @@
1
- import { Size, BaseProps } from '../../types/common.types';
2
- /**
3
- * Props do componente Quantity
4
- * @example
5
- * ```tsx
6
- * <Quantity
7
- * value={quantity}
8
- * onChange={setQuantity}
9
- * size="lg"
10
- * />
11
- * ```
12
- * @example
13
- * ```tsx
14
- * <Quantity
15
- * defaultValue={1}
16
- * decimal={true}
17
- * decimalPlaces={2}
18
- * step={0.5}
19
- * disabled={false}
20
- * />
21
- * ```
22
- */
23
- export interface QuantityProps extends BaseProps {
24
- /** Valor inicial (modo não controlado) */
25
- defaultValue?: number;
26
- /** Valor atual (modo controlado) */
27
- value?: number;
28
- /** Callback executado quando o valor muda: (value) => void */
29
- onChange?: (value: number) => void;
30
- /** Habilita entrada de valores decimais */
31
- decimal?: boolean;
32
- /** Tamanho do componente */
33
- size?: Size;
34
- /** Número de casas decimais permitidas */
35
- decimalPlaces?: number;
36
- /** Incremento/decremento ao clicar nos botões */
37
- step?: number;
38
- }
@@ -1,2 +0,0 @@
1
- export { default } from './Quantity';
2
- export type { QuantityProps } from './Quantity.types';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { RadioGroupProps } from './Radio.types';
3
- declare const Radio: React.FC<RadioGroupProps>;
4
- export default Radio;
@@ -1,52 +0,0 @@
1
- import { BaseProps } from '../../types/common.types';
2
- /**
3
- * Props de um item individual de rádio
4
- */
5
- export interface RadioProps {
6
- /** ID único do elemento */
7
- id?: string | number;
8
- /** Valor do radio button */
9
- value: string;
10
- /** Label exibida ao lado do radio button */
11
- label: string;
12
- /** Estado desabilitado do item */
13
- disabled?: boolean;
14
- }
15
- /**
16
- * Props do componente RadioGroup
17
- * @example
18
- * ```tsx
19
- * <RadioGroup
20
- * items={[
21
- * { value: 'option1', label: 'Opção 1' },
22
- * { value: 'option2', label: 'Opção 2' }
23
- * ]}
24
- * onValueChange={(value) => setSelected(value)}
25
- * defaultValue="option1"
26
- * />
27
- * ```
28
- * @example
29
- * ```tsx
30
- * <RadioGroup
31
- * items={options}
32
- * onValueChange={handleChange}
33
- * name="preference"
34
- * orientation="horizontal"
35
- * ariaLabel="Selecione sua preferência"
36
- * />
37
- * ```
38
- */
39
- export interface RadioGroupProps extends BaseProps {
40
- /** Array de itens de rádio */
41
- items: RadioProps[];
42
- /** Callback executado quando o valor muda: (value) => void */
43
- onValueChange?: (value: string) => void;
44
- /** Valor inicial selecionado */
45
- defaultValue?: string;
46
- /** Nome do grupo de radio buttons */
47
- name?: string;
48
- /** Label acessível para leitores de tela */
49
- ariaLabel?: string;
50
- /** Orientação do layout dos radio buttons */
51
- orientation?: "horizontal" | "vertical";
52
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- export { default } from './Radio';
2
- export type { RadioProps, RadioGroupProps } from './Radio.types';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { SearchProps } from './Search.types';
3
- declare const Search: React.ForwardRefExoticComponent<SearchProps & React.RefAttributes<HTMLInputElement>>;
4
- export default Search;
@@ -1,48 +0,0 @@
1
- import * as React from 'react';
2
- import type { ComponentPropsWithoutRef } from 'react';
3
- import { BaseProps } from '../../types/common.types';
4
- /**
5
- * Props do componente Search
6
- * @example
7
- * ```tsx
8
- * <Search
9
- * placeholder="Buscar..."
10
- * value={searchTerm}
11
- * onChange={(e) => setSearchTerm(e.target.value)}
12
- * onClear={() => setSearchTerm('')}
13
- * />
14
- * ```
15
- * @example
16
- * ```tsx
17
- * <Search
18
- * placeholder="Pesquisar produtos"
19
- * disabled={isLoading}
20
- * onKeyDown={(e) => e.key === 'Enter' && handleSearch()}
21
- * onFocus={handleFocus}
22
- * />
23
- * ```
24
- */
25
- type NativeInputProps = Omit<ComponentPropsWithoutRef<'input'>, 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'onMouseDown'>;
26
- export interface SearchProps extends BaseProps, NativeInputProps {
27
- /** Placeholder do campo de busca */
28
- placeholder?: string;
29
- /** Valor controlado do campo */
30
- value?: string;
31
- /** Callback executado quando o valor muda: (e) => void */
32
- onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
33
- /** Callback executado ao pressionar tecla: (e) => void */
34
- onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
35
- /** Callback executado ao focar no campo: (e) => void */
36
- onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;
37
- /** Callback executado ao desfocar do campo: (e) => void */
38
- onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
39
- /** Callback executado ao limpar o campo: () => void */
40
- onClear?: () => void;
41
- /** Callback executado ao clicar no componente: (e) => void */
42
- onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
43
- /** Callback executado ao pressionar mouse no componente: (e) => void */
44
- onMouseDown?: (e: React.MouseEvent<HTMLDivElement>) => void;
45
- /** ID para testes automatizados */
46
- 'data-testid'?: string;
47
- }
48
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- export { default } from './Search';
2
- export type { SearchProps } from './Search.types';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { SelectProps } from './Select.types';
3
- declare const Select: React.FC<SelectProps>;
4
- export default Select;