@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,3 +0,0 @@
1
- import type { CalendarProps } from "./Calendar.types";
2
- declare const Calendar: ({ selected, selectedDate, currentDate, defaultMonth, startMonth, endMonth, numberOfMonths, onDaySelect, onDateChange, onClear: _onClear, minDate, maxDate, disabled, hidden, format: _format, locale, captionLayout, reverseYears, fixedWeeks, showOutsideDays, showWeekNumber, hideNavigation, disableNavigation, navLayout, role, title, animate, timeZone, modifiers, modifiersClassNames, footer, id, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: CalendarProps) => import("react/jsx-runtime").JSX.Element;
3
- export default Calendar;
@@ -1,109 +0,0 @@
1
- import React from 'react';
2
- import type { Matcher } from 'react-day-picker';
3
- import type { BaseProps, Locale } from '../../types/common.types';
4
- /** Formato de exibição da data aceito pelo componente. */
5
- export type DateFormat = 'dd/mm/yyyy' | 'mm/dd/yyyy' | (string & {});
6
- export interface CalendarProps extends Omit<BaseProps, 'disabled'> {
7
- /** Data selecionada atualmente (usada pelo DatePicker). */
8
- selected?: Date | null;
9
- /** Data selecionada atualmente (usada pelo Filter). */
10
- selectedDate?: Date | null;
11
- /**
12
- * Mês exibido no calendário. Use junto com `onDateChange` para
13
- * controlar a navegação externamente.
14
- */
15
- currentDate?: Date | null;
16
- /**
17
- * Mês inicial padrão exibido quando não controlado.
18
- * @default currentMonth
19
- */
20
- defaultMonth?: Date;
21
- /** Primeiro mês navegável. */
22
- startMonth?: Date;
23
- /** Último mês navegável. */
24
- endMonth?: Date;
25
- /** Número de meses exibidos simultaneamente. @default 1 */
26
- numberOfMonths?: number;
27
- /** Chamado quando o usuário seleciona um dia. */
28
- onDaySelect?: (date: Date) => void;
29
- /** Chamado quando o usuário navega entre meses. */
30
- onDateChange?: (date: Date) => void;
31
- /** Chamado quando o usuário limpa a seleção. */
32
- onClear?: () => void;
33
- /** Data mínima selecionável. */
34
- minDate?: Date;
35
- /** Data máxima selecionável. */
36
- maxDate?: Date;
37
- /**
38
- * Dias desabilitados — aceita qualquer `Matcher` do react-day-picker
39
- * (Date, DateRange, DateBefore, DateAfter, DayOfWeek, função…).
40
- */
41
- disabled?: Matcher | Matcher[];
42
- /**
43
- * Dias ocultados — aceita qualquer `Matcher` do react-day-picker.
44
- */
45
- hidden?: Matcher | Matcher[];
46
- /**
47
- * Formato de exibição da data.
48
- * @example 'dd/mm/yyyy' | 'mm/dd/yyyy'
49
- */
50
- format?: DateFormat;
51
- /**
52
- * Locale da interface — aceita os códigos internos do design system.
53
- * @default 'pt-br'
54
- */
55
- locale?: Locale;
56
- /**
57
- * Layout do cabeçalho do calendário.
58
- * - `'label'` — exibe mês/ano como texto (padrão).
59
- * - `'dropdown'` — exibe dropdowns para mês e ano.
60
- * - `'dropdown-months'` — dropdown apenas para mês.
61
- * - `'dropdown-years'` — dropdown apenas para ano.
62
- */
63
- captionLayout?: 'dropdown' | 'label' | 'dropdown-months' | 'dropdown-years';
64
- /** Inverte a ordem dos anos no dropdown. */
65
- reverseYears?: boolean;
66
- /** Sempre exibe 6 semanas por mês, preenchendo com dias do mês seguinte. */
67
- fixedWeeks?: boolean;
68
- /** Exibe os dias pertencentes ao mês anterior/próximo. */
69
- showOutsideDays?: boolean;
70
- /** Exibe a coluna com o número da semana. */
71
- showWeekNumber?: boolean;
72
- /** Oculta os botões de navegação (sem desabilitar a navegação). */
73
- hideNavigation?: boolean;
74
- /** Desabilita a navegação entre meses. */
75
- disableNavigation?: boolean;
76
- /**
77
- * Posicionamento dos botões de navegação.
78
- * - `'around'` — um botão de cada lado do caption.
79
- * - `'after'` — ambos após o caption.
80
- */
81
- navLayout?: 'after' | 'around';
82
- /** Atributo `aria-label` para o elemento raiz. */
83
- 'aria-label'?: string;
84
- /** Atributo `aria-labelledby` para o elemento raiz. */
85
- 'aria-labelledby'?: string;
86
- /** Foca automaticamente o primeiro dia selecionado ou hoje. */
87
- autoFocus?: boolean;
88
- /** Atributo `role` do elemento raiz (`'application'` ou `'dialog'`). */
89
- role?: 'application' | 'dialog';
90
- /** Atributo `title` do elemento raiz. */
91
- title?: string;
92
- /** Anima a transição entre meses. */
93
- animate?: boolean;
94
- /**
95
- * Fuso horário IANA usado nos cálculos de datas.
96
- * @example 'America/Sao_Paulo'
97
- */
98
- timeZone?: string;
99
- /** Estilos inline para o elemento raiz. */
100
- style?: React.CSSProperties;
101
- /** Substitui os `classNames` padrão do react-day-picker. */
102
- classNames?: Partial<Record<string, string>>;
103
- /** Modificadores customizados para dias específicos. */
104
- modifiers?: Record<string, Matcher | Matcher[] | undefined>;
105
- /** ClassNames aplicadas aos dias que correspondem aos `modifiers`. */
106
- modifiersClassNames?: Record<string, string>;
107
- /** Rodapé do calendário — exibido como live region para acessibilidade. */
108
- footer?: React.ReactNode;
109
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export { default } from './Calendar';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { CalloutProps } from './Callout.types';
3
- declare const Callout: React.FC<CalloutProps>;
4
- export default Callout;
@@ -1,34 +0,0 @@
1
- import * as React from 'react';
2
- import { TextVariant, BaseProps } from '../../types/common.types';
3
- /**
4
- * Props do componente Callout
5
- * @example
6
- * ```tsx
7
- * <Callout
8
- * type="success"
9
- * title="Sucesso!"
10
- * text="Operação realizada com sucesso"
11
- * icon={<CheckIcon />}
12
- * />
13
- * ```
14
- * @example
15
- * ```tsx
16
- * <Callout
17
- * type="alert"
18
- * title="Atenção"
19
- * text="Verifique os campos obrigatórios"
20
- * />
21
- * ```
22
- */
23
- export interface CalloutProps extends BaseProps {
24
- /** Tipo visual do callout */
25
- type?: TextVariant;
26
- /** Título principal do callout (texto em destaque) */
27
- title?: string | null;
28
- /** Texto descritivo do callout */
29
- text?: string;
30
- /** Ícone a ser exibido no callout */
31
- icon?: React.ReactNode;
32
- /** Props adicionais para o elemento div */
33
- [key: string]: any;
34
- }
@@ -1 +0,0 @@
1
- export { default } from './Callout';
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { CheckboxProps } from './Checkbox.types';
3
- declare const Checkbox: React.FC<CheckboxProps>;
4
- export default Checkbox;
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import { BaseProps } from '../../types/common.types';
3
- /**
4
- * Props do componente Checkbox
5
- * @example
6
- * ```tsx
7
- * <Checkbox
8
- * label="Aceito os termos"
9
- * checked={accepted}
10
- * onCheckedChange={setAccepted}
11
- * />
12
- * ```
13
- * @example
14
- * ```tsx
15
- * <Checkbox
16
- * label="Selecionar todos"
17
- * indeterminate={someSelected}
18
- * onCheckedChange={handleSelectAll}
19
- * disabled={isLoading}
20
- * />
21
- * ```
22
- */
23
- export interface CheckboxProps extends BaseProps {
24
- /** Label ou conteúdo a ser exibido ao lado do checkbox */
25
- label?: React.ReactNode;
26
- /** Callback executado quando o estado muda: (checked) => void */
27
- onCheckedChange?: (checked: boolean) => void;
28
- /** Estado inicial (modo não controlado) */
29
- defaultChecked?: boolean;
30
- /** Estado atual (modo controlado) */
31
- checked?: boolean;
32
- /** Estado indeterminado (usado em selecionar todos com seleção parcial) */
33
- indeterminate?: boolean;
34
- }
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,2 +0,0 @@
1
- export { default } from './Checkbox';
2
- export type { CheckboxProps } from './Checkbox.types';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { ChipsProps } from './Chips.types';
3
- declare const MemoizedChips: React.NamedExoticComponent<ChipsProps>;
4
- export default MemoizedChips;
@@ -1,34 +0,0 @@
1
- import * as React from 'react';
2
- import { TextVariant, BaseProps } from '../../types/common.types';
3
- /**
4
- * Props do componente Chips
5
- * @example
6
- * ```tsx
7
- * <Chips
8
- * type="success"
9
- * title="Ativo"
10
- * leftIcon={<CheckIcon />}
11
- * />
12
- * ```
13
- * @example
14
- * ```tsx
15
- * <Chips
16
- * type="brand"
17
- * title="Novo"
18
- * rightIcon={<CloseIcon />}
19
- * disabled={false}
20
- * />
21
- * ```
22
- */
23
- export interface ChipsProps extends BaseProps {
24
- /** Tipo visual do chip */
25
- type?: TextVariant;
26
- /** Texto a ser exibido dentro do chip */
27
- title: string;
28
- /** Ícone posicionado à esquerda do texto */
29
- leftIcon?: React.ReactNode;
30
- /** Ícone posicionado à direita do texto */
31
- rightIcon?: React.ReactNode;
32
- /** Props adicionais para o elemento div */
33
- [key: string]: any;
34
- }
@@ -1 +0,0 @@
1
- export { default } from './Chips';
@@ -1,2 +0,0 @@
1
- import type { ContainerProps } from './Container.types';
2
- export default function Container({ children }: ContainerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * Props do componente Container
4
- * @example
5
- * ```tsx
6
- * <Container>
7
- * <h1>Conteúdo da página</h1>
8
- * <p>Texto dentro do container</p>
9
- * </Container>
10
- * ```
11
- */
12
- export interface ContainerProps {
13
- /** Conteúdo a ser renderizado dentro do container */
14
- children: React.ReactNode;
15
- }
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { DatePickerProps } from './DatePicker.types';
3
- declare const _default: React.NamedExoticComponent<DatePickerProps>;
4
- export default _default;
@@ -1,50 +0,0 @@
1
- import { Locale, BaseProps, Position } from '../../types/common.types';
2
- /**
3
- * Props do componente DatePicker
4
- * @example
5
- * ```tsx
6
- * <DatePicker
7
- * label="Data de nascimento"
8
- * value={birthDate}
9
- * onChange={setBirthDate}
10
- * locale="pt-br"
11
- * />
12
- * ```
13
- * @example
14
- * ```tsx
15
- * <DatePicker
16
- * label="Data de início"
17
- * required
18
- * helperText="Selecione a data de início do projeto"
19
- * minDate={new Date()}
20
- * calendarPosition="right"
21
- * error={errorMessage}
22
- * />
23
- * ```
24
- */
25
- export interface DatePickerProps extends BaseProps {
26
- /** Locale para formatação da data */
27
- locale?: Locale;
28
- /** Posição do calendário em relação ao campo */
29
- calendarPosition?: Position;
30
- /** Texto de ajuda exibido abaixo do campo */
31
- helperText?: string;
32
- /** Define se o campo é obrigatório */
33
- required?: boolean;
34
- /** Label do campo de data */
35
- label?: string;
36
- /** Valor controlado da data */
37
- value?: Date | null;
38
- /** Valor inicial para modo não controlado */
39
- defaultValue?: Date | null;
40
- /** Callback executado quando a data muda: (date) => void */
41
- onChange?: (date: Date | null) => void;
42
- /** Mensagem de erro a ser exibida */
43
- error?: string;
44
- /** Data mínima selecionável */
45
- minDate?: Date;
46
- /** Data máxima selecionável */
47
- maxDate?: Date;
48
- /** ID para testes automatizados */
49
- 'data-testid'?: string;
50
- }
@@ -1,23 +0,0 @@
1
- import { Locale } from '../../types/common.types';
2
- /**
3
- * Formata uma data para string conforme o locale.
4
- * @param date - Data a ser formatada
5
- * @param locale - Locale para formatação ('pt-br' ou 'en-us')
6
- * @returns String formatada da data
7
- */
8
- export declare function formatDate(date: Date, locale?: Locale): string;
9
- /**
10
- * Aplica máscara de data conforme o usuário digita.
11
- * @param value - Valor atual do input
12
- * @param locale - Locale para determinar o formato da máscara
13
- * @returns String com a máscara aplicada
14
- */
15
- export declare function applyDateMask(value: string, locale?: Locale): string;
16
- /**
17
- * Valida se uma string está no formato correto de data para o locale.
18
- * @param value - String a ser validada
19
- * @param locale - Locale para validação
20
- * @returns true se o formato está correto
21
- */
22
- export declare function isValidDateFormat(value: string, locale?: Locale): boolean;
23
- export declare function parseDate(dateString: string, locale?: Locale): Date | null;
@@ -1,2 +0,0 @@
1
- export { default } from './DatePicker';
2
- export type { DatePickerProps } from './DatePicker.types';
@@ -1,4 +0,0 @@
1
- import * as React from "react";
2
- import { DialogProps } from "./Dialog.types";
3
- declare const Dialog: React.FC<DialogProps>;
4
- export default Dialog;
@@ -1,28 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { BaseProps } from '../../types/common.types';
3
- /**
4
- * Props do componente Dialog
5
- * @example
6
- * <Dialog
7
- * title="Confirmar ação"
8
- * bodyContent="Tem certeza que deseja continuar?"
9
- * textConfirm="Confirmar"
10
- * textCancel="Cancelar"
11
- * />
12
- */
13
- export interface DialogProps extends BaseProps, React.HTMLAttributes<HTMLDivElement> {
14
- /** Conteúdo customizado do diálogo */
15
- show: boolean;
16
- /** Título exibido no cabeçalho do diálogo */
17
- title?: string;
18
- /** Texto ou conteúdo do corpo do diálogo */
19
- bodyContent?: ReactNode;
20
- /** Texto do botão de ação primária */
21
- textPrimaryAction?: string;
22
- /** Texto do botão de ação secundária */
23
- textSecondaryAction?: string;
24
- /** Função chamada ao executar a ação primária */
25
- onPrimaryAction?: () => void;
26
- /** Função chamada ao executar a ação secundária */
27
- onSecondaryAction?: () => void;
28
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- export { default } from './Dialog';
2
- export type { DialogProps } from './Dialog.types';
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import type { DrawerProps } from './Drawer.types';
3
- /**
4
- * Componente Drawer do Zanthus Design System
5
- * Implementa um painel lateral deslizante com overlay
6
- * Segue padrões WCAG 2.1 AA para acessibilidade
7
- */
8
- declare const Drawer: React.FC<DrawerProps>;
9
- export default Drawer;
@@ -1,74 +0,0 @@
1
- import { ReactNode, ReactElement } from 'react';
2
- import { Variant, BaseProps } from '../../types/common.types';
3
- /**
4
- * Props do componente Drawer
5
- * @example
6
- * ```tsx
7
- * <Drawer
8
- * isOpen={isDrawerOpen}
9
- * onClose={handleClose}
10
- * title="Menu"
11
- * >
12
- * <nav>
13
- * <a href="/home">Home</a>
14
- * <a href="/about">Sobre</a>
15
- * </nav>
16
- * </Drawer>
17
- * ```
18
- * @example
19
- * ```tsx
20
- * <Drawer
21
- * isOpen={showDrawer}
22
- * onClose={() => setShowDrawer(false)}
23
- * title="Configurações"
24
- * customWidth="400px"
25
- * closeOnOverlayClick={true}
26
- * closeOnEscape={true}
27
- * >
28
- * <Settings />
29
- * </Drawer>
30
- * ```
31
- */
32
- export interface DrawerProps extends BaseProps {
33
- /** Conteúdo a ser exibido dentro do drawer */
34
- children?: ReactNode;
35
- /** Largura customizada do drawer (ex: '400px', '50%') */
36
- customWidth?: string;
37
- /** Callback executado ao fechar o drawer: () => void */
38
- onClose: () => void;
39
- /** Título exibido no cabeçalho do drawer */
40
- title?: string;
41
- /** Define se o drawer está aberto */
42
- isOpen: boolean;
43
- /** Callback executado ao abrir o drawer: () => void */
44
- onOpen?: () => void;
45
- /** Callback executado ao clicar no overlay: () => void */
46
- onOverlayClick?: () => void;
47
- /** Define se o drawer fecha ao clicar no overlay */
48
- closeOnOverlayClick?: boolean;
49
- /** Define se o drawer fecha ao pressionar ESC */
50
- closeOnEscape?: boolean;
51
- }
52
- /**
53
- * Props do componente DrawerExample (trigger para abrir o drawer)
54
- * @example
55
- * ```tsx
56
- * <DrawerExample
57
- * text="Abrir menu"
58
- * icon={<MenuIcon />}
59
- * onOpen={handleOpen}
60
- * />
61
- * ```
62
- */
63
- export interface DrawerExampleProps extends BaseProps {
64
- /** Texto do botão trigger */
65
- text?: string;
66
- /** Ícone do botão trigger */
67
- icon?: ReactElement;
68
- /** Conteúdo customizado do botão trigger */
69
- children?: ReactNode;
70
- /** Callback executado ao abrir: () => void */
71
- onOpen?: () => void;
72
- /** Variante visual do botão trigger */
73
- variant?: Variant;
74
- }
@@ -1 +0,0 @@
1
- export { default } from './Drawer';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { DropdownProps } from './Dropdown.types';
3
- declare const MemoizedDropdown: React.NamedExoticComponent<DropdownProps>;
4
- export default MemoizedDropdown;
@@ -1,91 +0,0 @@
1
- import React from 'react';
2
- import { BaseProps } from '../../types/common.types';
3
- /**
4
- * Representa um item individual do dropdown
5
- */
6
- export interface DropdownItem {
7
- /** ID único do item (será gerado automaticamente se não fornecido) */
8
- id?: string;
9
- /** Texto principal do item */
10
- text: string;
11
- /** Texto secundário/descrição do item */
12
- subText?: string;
13
- /** Ícone do item */
14
- icon?: React.ReactNode;
15
- /** Define se o item está desabilitado */
16
- disabled?: boolean;
17
- }
18
- /** Tipos de dropdown disponíveis */
19
- export type DropdownType = 'text' | 'checkbox' | 'icon';
20
- /**
21
- * Props do componente Dropdown
22
- * @example
23
- * ```tsx
24
- * <Dropdown
25
- * items={[
26
- * { text: 'Opção 1', icon: <Icon1 /> },
27
- * { text: 'Opção 2', icon: <Icon2 /> }
28
- * ]}
29
- * type="text"
30
- * placeholder="Selecione uma opção"
31
- * />
32
- * ```
33
- * @example
34
- * ```tsx
35
- * <Dropdown
36
- * items={items}
37
- * type="checkbox"
38
- * applySearch={true}
39
- * onSelectionChange={(ids) => console.log(ids)}
40
- * defaultSelectedIds={['1', '2']}
41
- * maxHeight="300px"
42
- * />
43
- * ```
44
- */
45
- export interface DropdownProps extends BaseProps {
46
- /** Força posição do dropdown: 'top' abre para cima, 'bottom' para baixo (detecção automática se não especificado) */
47
- position?: 'top' | 'bottom';
48
- /** Array de itens para o dropdown */
49
- items: DropdownItem[];
50
- /** Tipo do dropdown */
51
- type?: DropdownType;
52
- /** Habilita campo de busca */
53
- applySearch?: boolean;
54
- /** Placeholder do campo de busca */
55
- placeholder?: string;
56
- /** Callback executado quando a seleção muda: (selectedIds) => void */
57
- onSelectionChange?: (selectedIds: string[]) => void;
58
- /** Controla exibição do subtexto dos itens */
59
- showSubText?: boolean;
60
- /** IDs dos itens selecionados por padrão */
61
- defaultSelectedIds?: string[];
62
- /** Estado inicial dos itens selecionados (objeto chave-valor) */
63
- initialItemsSelected?: Record<string, boolean>;
64
- /** Largura do dropdown */
65
- width?: string | number;
66
- /** Largura máxima do dropdown */
67
- maxWidth?: string | number;
68
- /** Largura mínima do dropdown */
69
- minWidth?: string | number;
70
- /** Altura máxima do dropdown */
71
- maxHeight?: string | number;
72
- /** Define se o componente está sendo usado para filtro */
73
- filter?: boolean;
74
- /** Configurações para paginação infinita */
75
- infiniteScroll?: {
76
- /** Status atual do carregamento */
77
- status: 'idle' | 'loading' | 'succeeded' | 'failed';
78
- /** Página atual */
79
- page: number;
80
- /** Última página disponível */
81
- lastPage: number;
82
- /** Callback executado para carregar próxima página: () => void */
83
- onLoadMore: () => void;
84
- /** Threshold para trigger do scroll infinito (0-1) */
85
- threshold?: number;
86
- /** Margem para trigger do scroll infinito */
87
- rootMargin?: string;
88
- /** Modo de debug */
89
- debug?: boolean;
90
- };
91
- }
@@ -1,8 +0,0 @@
1
- import type { DropdownItem, DropdownType } from './Dropdown.types';
2
- /**
3
- * Valida e filtra itens do dropdown baseado no tipo especificado
4
- * @param items - Array de itens para validar
5
- * @param type - Tipo do dropdown ('text' | 'checkbox' | 'icon')
6
- * @returns Array de itens válidos filtrados
7
- */
8
- export declare const validateItems: (items: unknown, type: DropdownType) => DropdownItem[];
@@ -1,2 +0,0 @@
1
- export { default } from './Dropdown';
2
- export type { DropdownProps, DropdownItem, DropdownType } from './Dropdown.types';
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { FilterProps } from './Filter.types';
3
- declare const Filter: React.FC<FilterProps>;
4
- export default Filter;