@giro-ds/react 3.0.6 → 4.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/Avatar/Avatar.d.ts +2 -1
- package/dist/components/Avatar/Avatar.types.d.ts +12 -12
- package/dist/components/Avatar/__tests__/Avatar.test.d.ts +1 -0
- package/dist/components/Avatar/index.d.ts +1 -0
- package/dist/components/Button/Button.types.d.ts +6 -0
- package/dist/components/Calendar/Calendar.d.ts +3 -7
- package/dist/components/Calendar/Calendar.types.d.ts +102 -79
- package/dist/components/Calendar/__tests__/Calendar.test.d.ts +1 -0
- package/dist/components/Container/__tests__/Container.test.d.ts +1 -0
- package/dist/components/Dialog/Dialog.d.ts +4 -4
- package/dist/components/Dialog/Dialog.types.d.ts +17 -37
- package/dist/components/Dialog/__tests__/Dialog.test.d.ts +1 -0
- package/dist/components/Popover/Popover.d.ts +4 -0
- package/dist/components/Popover/Popover.types.d.ts +8 -0
- package/dist/components/Popover/__test__/Popover.test.d.ts +1 -0
- package/dist/components/Popover/index.d.ts +2 -0
- package/dist/components/Search/Search.types.d.ts +4 -1
- package/dist/components/Search/__tests__/Search.test.d.ts +1 -0
- package/dist/components/Toast/Toast.d.ts +34 -13
- package/dist/components/Toast/Toast.types.d.ts +50 -52
- package/dist/components/Toast/__tests__/Toast.test.d.ts +1 -0
- package/dist/components/Toast/components/ToastContainer.d.ts +22 -0
- package/dist/components/Toast/components/ToastProvider.d.ts +35 -0
- package/dist/components/Toast/index.d.ts +5 -2
- package/dist/components/Tooltip/Tooltip.types.d.ts +1 -26
- package/dist/components/index.d.ts +6 -4
- package/dist/contexts/ToastContext.d.ts +43 -0
- package/dist/hooks/useToast.d.ts +46 -0
- package/dist/index.cjs +4308 -5744
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +315 -193
- package/dist/index.esm.js +4293 -5731
- package/dist/index.esm.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -2
- package/dist/components/Calendar/i18n.d.ts +0 -56
- package/dist/components/Dialog/utils/DialogUtils.d.ts +0 -1
- /package/dist/components/Container/{index.d.ts → Container.d.ts} +0 -0
|
@@ -1,34 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Side, Align
|
|
3
|
-
/**
|
|
4
|
-
* Props do componente Tooltip
|
|
5
|
-
* @example
|
|
6
|
-
* ```tsx
|
|
7
|
-
* <Tooltip text="Informação adicional">
|
|
8
|
-
* <Button>Hover me</Button>
|
|
9
|
-
* </Tooltip>
|
|
10
|
-
* ```
|
|
11
|
-
* @example
|
|
12
|
-
* ```tsx
|
|
13
|
-
* <Tooltip
|
|
14
|
-
* text="Clique para mais detalhes"
|
|
15
|
-
* side="top"
|
|
16
|
-
* align="center"
|
|
17
|
-
* sideOffset={10}
|
|
18
|
-
* maxWidth={300}
|
|
19
|
-
* >
|
|
20
|
-
* <IconButton icon={<InfoIcon />} />
|
|
21
|
-
* </Tooltip>
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
2
|
+
import { BaseProps, Side, Align } from '@/types';
|
|
24
3
|
export interface TooltipProps extends BaseProps {
|
|
25
|
-
/** Conteúdo do tooltip */
|
|
26
4
|
text: React.ReactNode;
|
|
27
|
-
/** Lado onde o tooltip aparece em relação ao elemento */
|
|
28
5
|
side?: Side;
|
|
29
|
-
/** Alinhamento do tooltip */
|
|
30
6
|
align?: Align;
|
|
31
|
-
/** Distância em pixels do lado do elemento */
|
|
32
7
|
sideOffset?: number;
|
|
33
8
|
/** Deslocamento em pixels no eixo de alinhamento */
|
|
34
9
|
alignOffset?: number;
|
|
@@ -5,14 +5,14 @@ export { type BadgeProps } from './Badge/Badge.types';
|
|
|
5
5
|
export { default as Button } from './Button';
|
|
6
6
|
export { type ButtonProps } from './Button/Button.types';
|
|
7
7
|
export { default as Calendar } from './Calendar';
|
|
8
|
-
export { type CalendarProps
|
|
8
|
+
export { type CalendarProps } from './Calendar/Calendar.types';
|
|
9
9
|
export { default as Callout } from './Callout';
|
|
10
10
|
export { type CalloutProps } from './Callout/Callout.types';
|
|
11
11
|
export { default as Checkbox } from './Checkbox';
|
|
12
12
|
export { type CheckboxProps } from './Checkbox/Checkbox.types';
|
|
13
13
|
export { default as Chips } from './Chips';
|
|
14
14
|
export { type ChipsProps } from './Chips/Chips.types';
|
|
15
|
-
export { default as Container } from './Container';
|
|
15
|
+
export { default as Container } from './Container/Container';
|
|
16
16
|
export { type ContainerProps } from './Container/Container.types';
|
|
17
17
|
export { default as DatePicker } from './DatePicker';
|
|
18
18
|
export { type DatePickerProps } from './DatePicker/DatePicker.types';
|
|
@@ -28,6 +28,8 @@ export { default as ListItem } from './ListItem';
|
|
|
28
28
|
export { type ListItemProps } from './ListItem/ListItem.types';
|
|
29
29
|
export { default as Menu } from './Menu';
|
|
30
30
|
export { type MenuProps } from './Menu/Menu.types';
|
|
31
|
+
export { default as Popover } from './Popover';
|
|
32
|
+
export { type PopoverProps } from './Popover/Popover.types';
|
|
31
33
|
export { default as Quantity } from './Quantity';
|
|
32
34
|
export { type QuantityProps } from './Quantity/Quantity.types';
|
|
33
35
|
export { default as Radio } from './Radio';
|
|
@@ -44,8 +46,8 @@ export { type TablePaginationProps } from './Table/TablePagination';
|
|
|
44
46
|
export { type TableHeaderProps, type FilterItem } from './Table/TableHeader';
|
|
45
47
|
export { default as TextField } from './TextField';
|
|
46
48
|
export { type TextFieldProps } from './TextField/TextField.types';
|
|
47
|
-
export {
|
|
48
|
-
export { type
|
|
49
|
+
export { Toast, ToastProvider, ToastContainer, useToast } from './Toast';
|
|
50
|
+
export { type ToastProps } from './Toast/Toast.types';
|
|
49
51
|
export { default as Tooltip } from './Tooltip';
|
|
50
52
|
export { type TooltipProps } from './Tooltip/Tooltip.types';
|
|
51
53
|
export { default as Switch } from './Switch';
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ToastProps } from '../components/Toast/Toast.types';
|
|
3
|
+
/**
|
|
4
|
+
* Valor disponibilizado pelo contexto do sistema de Toast.
|
|
5
|
+
*
|
|
6
|
+
* Acessível via `useToast()` em componentes filhos do `ToastProvider`.
|
|
7
|
+
*
|
|
8
|
+
* @see {@link useToast}
|
|
9
|
+
*/
|
|
10
|
+
export interface ToastContextValue {
|
|
11
|
+
/** Lista de toasts atualmente visíveis na tela. */
|
|
12
|
+
toasts: ToastProps[];
|
|
13
|
+
/**
|
|
14
|
+
* Exibe um novo toast na tela.
|
|
15
|
+
*
|
|
16
|
+
* Gera um `id` único automaticamente e adiciona o toast à fila.
|
|
17
|
+
* Quando o limite de `maxToasts` é atingido, o toast mais antigo é removido.
|
|
18
|
+
*
|
|
19
|
+
* @param toast - Propriedades do toast a ser exibido (sem `id`).
|
|
20
|
+
*/
|
|
21
|
+
showToast: (toast: Omit<ToastProps, 'id'>) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Remove um toast específico da tela pelo seu `id`.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* Geralmente não é necessário chamar este método manualmente, pois os toasts
|
|
27
|
+
* se fecham automaticamente (via `duration`) ou pelo botão de fechar do usuário.
|
|
28
|
+
*
|
|
29
|
+
* @param id - ID único do toast a ser removido.
|
|
30
|
+
*/
|
|
31
|
+
dismissToast: (id: string) => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Contexto React que armazena o estado e as ações do sistema de Toast.
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* Não consuma este contexto diretamente. Utilize o hook `useToast()` para
|
|
38
|
+
* acessar as funcionalidades de forma segura e com verificação de provider.
|
|
39
|
+
*
|
|
40
|
+
* @see {@link ToastContextValue}
|
|
41
|
+
* @see {@link useToast}
|
|
42
|
+
*/
|
|
43
|
+
export declare const ToastContext: React.Context<ToastContextValue | undefined>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ToastProps } from '../components/Toast/Toast.types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook interno que acessa o `ToastContext` diretamente.
|
|
4
|
+
*
|
|
5
|
+
* @throws {Error} Lança um erro se utilizado fora de um `ToastProvider`:
|
|
6
|
+
* *"useToastContext deve ser usado dentro de ToastProvider"*
|
|
7
|
+
*
|
|
8
|
+
* @returns O valor completo do contexto — `toasts`, `showToast` e `dismissToast`.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const useToastContext: () => import("../contexts/ToastContext").ToastContextValue;
|
|
13
|
+
/**
|
|
14
|
+
* Hook para exibir e remover toasts na aplicação.
|
|
15
|
+
*
|
|
16
|
+
* O componente que usa este hook deve ser filho de um `ToastProvider`.
|
|
17
|
+
*
|
|
18
|
+
* @throws {Error} Lança um erro se utilizado fora de um `ToastProvider`:
|
|
19
|
+
* *"useToastContext deve ser usado dentro de ToastProvider"*
|
|
20
|
+
*
|
|
21
|
+
* @returns Objeto com os métodos `showToast` e `dismissToast`.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* import { useToast } from '@giro-ds/react';
|
|
26
|
+
*
|
|
27
|
+
* function MeuComponente() {
|
|
28
|
+
* const { showToast } = useToast();
|
|
29
|
+
*
|
|
30
|
+
* const handleSalvar = async () => {
|
|
31
|
+
* try {
|
|
32
|
+
* await salvarDados();
|
|
33
|
+
* showToast({ title: 'Sucesso!', iconType: 'Success', duration: 3000 });
|
|
34
|
+
* } catch (err) {
|
|
35
|
+
* showToast({ title: 'Erro ao salvar', iconType: 'Alert', automaticClose: false });
|
|
36
|
+
* }
|
|
37
|
+
* };
|
|
38
|
+
*
|
|
39
|
+
* return <button onClick={handleSalvar}>Salvar</button>;
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare const useToast: () => {
|
|
44
|
+
showToast: (toast: Omit<ToastProps, "id">) => void;
|
|
45
|
+
dismissToast: (id: string) => void;
|
|
46
|
+
};
|