@grazziotin/react-components-next 0.1.0 → 1.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.
@@ -0,0 +1,316 @@
1
+ import * as _mui_material from '@mui/material';
2
+ import { CSSProperties, Breakpoint, TabProps as TabProps$1, TabsProps as TabsProps$1 } from '@mui/material';
3
+ import * as react from 'react';
4
+ import react__default, { ComponentPropsWithoutRef } from 'react';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { DataGridProps } from '@mui/x-data-grid';
7
+ import * as _emotion_styled from '@emotion/styled';
8
+ import * as _mui_system from '@mui/system';
9
+ import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
10
+
11
+ /**
12
+ * Tipo do atributo nativo `className` de um elemento `div` no React.
13
+ * Equivalente a `React.HTMLAttributes<HTMLDivElement>["className"]`.
14
+ */
15
+ type CardClassName = ComponentPropsWithoutRef<"div">["className"];
16
+ /**
17
+ * Propriedades do componente {@link Card}.
18
+ * O Card é um container com cabeçalho opcional (título, ícone) e área de conteúdo.
19
+ * Estilos dinâmicos são aplicados via MUI `Box`; classes utilitárias podem ser
20
+ * combinadas com `className` e a função `cn`.
21
+ */
22
+ interface CardProps {
23
+ /**
24
+ * Largura do card.
25
+ * Aceita qualquer valor CSS válido (ex.: `"100%"`, `"320px"`, `"auto"`).
26
+ * @default "100%"
27
+ */
28
+ width?: string;
29
+ /**
30
+ * Altura do card.
31
+ * Aceita qualquer valor CSS válido (ex.: `"auto"`, `"200px"`, `"100%"`).
32
+ * @default "auto"
33
+ */
34
+ height?: string;
35
+ /**
36
+ * Margem externa do card.
37
+ * Aceita shorthand ou valores individuais do CSS (ex.: `"16px"`, `"0 8px"`).
38
+ */
39
+ margin?: string;
40
+ /**
41
+ * Texto exibido no cabeçalho do card.
42
+ * Sempre renderizado; quando o texto ultrapassa o espaço, é truncado com reticências.
43
+ */
44
+ title?: string;
45
+ /**
46
+ * Habilita o tooltip do Mantine sobre o título ao passar o mouse.
47
+ * O título continua visível com ou sem tooltip; quando `false`, o hover não exibe popup.
48
+ * @default false
49
+ */
50
+ toolTip?: boolean;
51
+ /**
52
+ * Atributo `className` do container principal (tipo nativo do React).
53
+ * String de classes CSS; mesclada com classes internas via `cn`.
54
+ * @see {@link CardClassName}
55
+ */
56
+ className?: CardClassName;
57
+ /**
58
+ * Largura da barra do cabeçalho (área do título e ícone).
59
+ * @default "100%"
60
+ */
61
+ titleWidth?: string;
62
+ /**
63
+ * Cor de fundo do cabeçalho.
64
+ * Aceita cores CSS (hex, rgb, variáveis CSS, etc.).
65
+ * @default "var(--primary-color)"
66
+ */
67
+ titleColor?: string;
68
+ /**
69
+ * Raio da borda apenas do cabeçalho (ex.: `"8px 8px 0 0"`).
70
+ * Útil para arredondar só o topo quando o conteúdo não tem o mesmo radius.
71
+ */
72
+ borderTitle?: string;
73
+ /**
74
+ * Callback ao clicar no card inteiro.
75
+ * Quando definido, o cursor do card passa a ser `pointer` com `!important`.
76
+ */
77
+ onClick?: () => void;
78
+ /**
79
+ * Raio da borda do container principal do card (ex.: `"10px"`).
80
+ */
81
+ borderRadius?: string;
82
+ /**
83
+ * Elemento React exibido à direita do título no cabeçalho (ícone, botão, ação, etc.).
84
+ */
85
+ icon?: React.ReactNode;
86
+ /**
87
+ * Conteúdo principal do card, renderizado abaixo do cabeçalho.
88
+ */
89
+ children: React.ReactNode;
90
+ /**
91
+ * Alinhamento horizontal dos itens no cabeçalho (título e `icon`).
92
+ * Mesmos valores de `justify-content` do CSS (ex.: `"space-between"`, `"flex-end"`).
93
+ * @default "space-between"
94
+ */
95
+ justifyContent?: CSSProperties["justifyContent"];
96
+ }
97
+
98
+ /**
99
+ * Container de UI com cabeçalho colorido (título e ícone opcionais) e área de conteúdo.
100
+ *
101
+ * O card usa MUI `Box` para dimensões, sombra e responsividade; classes Tailwind
102
+ * extras podem ser passadas em `className` e são mescladas com `cn`. O título é
103
+ * sempre exibido e truncado quando necessário; o tooltip (Mantine) só aparece se
104
+ * `toolTip` for `true`.
105
+ *
106
+ * @param props - Propriedades do componente. Detalhes em {@link CardProps}.
107
+ * @param props.width - Largura do card. Padrão: `"100%"`.
108
+ * @param props.height - Altura do card. Padrão: `"auto"`.
109
+ * @param props.margin - Margem externa.
110
+ * @param props.title - Texto do cabeçalho.
111
+ * @param props.toolTip - Habilita tooltip no título.
112
+ * @param props.className - `className` nativo do React no container.
113
+ * @param props.titleWidth - Largura da barra do cabeçalho. Padrão: `"100%"`.
114
+ * @param props.titleColor - Cor de fundo do cabeçalho. Padrão: `var(--primary-color)`.
115
+ * @param props.borderTitle - `border-radius` só do cabeçalho.
116
+ * @param props.onClick - Clique no card; adiciona `cursor: pointer !important`.
117
+ * @param props.borderRadius - `border-radius` do container.
118
+ * @param props.icon - Conteúdo à direita do título.
119
+ * @param props.children - Corpo do card.
120
+ * @param props.justifyContent - Alinhamento título/ícone. Padrão: `"space-between"`.
121
+ *
122
+ * @returns Elemento `Box` com cabeçalho e `children`.
123
+ *
124
+ * @example
125
+ * ```tsx
126
+ * <Card title="Resumo" toolTip icon={<span>+</span>}>
127
+ * <p>Conteúdo interno</p>
128
+ * </Card>
129
+ * ```
130
+ *
131
+ * @example
132
+ * ```tsx
133
+ * <Card
134
+ * title="Clique aqui"
135
+ * width="320px"
136
+ * onClick={() => alert("Card clicado")}
137
+ * >
138
+ * Card interativo
139
+ * </Card>
140
+ * ```
141
+ */
142
+ declare function Card({ margin, onClick, title, toolTip, className, borderTitle, children, borderRadius, width, height, titleWidth, justifyContent, titleColor, icon, }: Readonly<CardProps>): React.ReactElement;
143
+
144
+ /**
145
+ * Propriedades do componente {@link Dialog}.
146
+ * Modal baseado no MUI `Dialog`, com título, conteúdo principal e rodapé de ações opcionais.
147
+ * O componente usa `fullWidth` por padrão; a largura máxima é controlada por `maxWidth`.
148
+ */
149
+ interface DialogProps {
150
+ /**
151
+ * Controla se o diálogo está aberto e visível.
152
+ */
153
+ open: boolean;
154
+ /**
155
+ * Texto exibido no cabeçalho do diálogo.
156
+ * Quando omitido, o bloco de título não é renderizado.
157
+ */
158
+ title?: string;
159
+ /**
160
+ * Callback invocado ao fechar o diálogo
161
+ * (clique no backdrop, tecla ESC ou botão de fechar do MUI).
162
+ */
163
+ onClose: () => void;
164
+ /**
165
+ * Aplica desfoque e overlay escuro semitransparente no backdrop.
166
+ * @default false
167
+ */
168
+ blurBackdrop?: boolean;
169
+ /**
170
+ * Conteúdo principal exibido na área central do diálogo.
171
+ */
172
+ children: React.ReactNode;
173
+ /**
174
+ * Conteúdo do rodapé (botões, links ou ações customizadas).
175
+ * Quando omitido, `DialogActions` não é renderizado.
176
+ */
177
+ actions?: React.ReactNode;
178
+ /**
179
+ * Largura máxima do diálogo conforme breakpoints do MUI
180
+ * (`xs`, `sm`, `md`, `lg`, `xl`).
181
+ * Use `false` para desativar o limite de largura.
182
+ */
183
+ maxWidth?: false | Breakpoint;
184
+ }
185
+
186
+ /**
187
+ * Modal de diálogo baseado no MUI `Dialog`, com título, conteúdo e ações opcionais.
188
+ *
189
+ * O componente usa `fullWidth` por padrão e permite limitar a largura via `maxWidth`.
190
+ * Com `blurBackdrop`, o fundo recebe desfoque e overlay escuro semitransparente.
191
+ *
192
+ * @param props - Propriedades do componente. Detalhes em {@link DialogProps}.
193
+ * @param props.open - Controla se o diálogo está visível.
194
+ * @param props.title - Título exibido no topo; omitido se não informado.
195
+ * @param props.onClose - Callback ao fechar (clique fora, ESC ou botão de fechar do MUI).
196
+ * @param props.actions - Rodapé com botões ou ações customizadas.
197
+ * @param props.children - Conteúdo principal do diálogo.
198
+ * @param props.maxWidth - Largura máxima do MUI (`xs`, `sm`, `md`, `lg`, `xl` ou `false`).
199
+ * @param props.blurBackdrop - Aplica blur e escurecimento no backdrop. Padrão: `false`.
200
+ *
201
+ * @returns Instância do `Dialog` do Material UI.
202
+ *
203
+ * @example
204
+ * ```tsx
205
+ * const [open, setOpen] = useState(false);
206
+ *
207
+ * <Dialog
208
+ * open={open}
209
+ * title="Confirmar exclusão"
210
+ * onClose={() => setOpen(false)}
211
+ * actions={<Button onClick={() => setOpen(false)}>OK</Button>}
212
+ * >
213
+ * Deseja realmente excluir este item?
214
+ * </Dialog>
215
+ * ```
216
+ *
217
+ * @example
218
+ * ```tsx
219
+ * <Dialog
220
+ * open={open}
221
+ * onClose={handleClose}
222
+ * maxWidth="sm"
223
+ * blurBackdrop
224
+ * >
225
+ * Conteúdo sem título.
226
+ * </Dialog>
227
+ * ```
228
+ */
229
+ declare function Dialog({ open, title, onClose, actions, children, maxWidth, blurBackdrop, }: Readonly<DialogProps>): react__default.ReactElement;
230
+
231
+ /**
232
+ * Propriedades do componente {@link DataTable}.
233
+ * Wrapper tipado sobre o MUI `DataGrid`, com estilização e textos em português.
234
+ */
235
+ type DataTableProps = DataGridProps;
236
+
237
+ /**
238
+ * Componente DataTable personalizado baseado no MUI DataGrid.
239
+ *
240
+ * Fornece uma tabela de dados com estilização customizada, filtros avançados,
241
+ * paginação, ordenação e gerenciamento de colunas.
242
+ *
243
+ * Recursos incluídos:
244
+ * - Operador de filtro "entre" automático para colunas string e number
245
+ * - Painel de filtros customizado
246
+ * - Painel de gerenciamento de colunas
247
+ * - Paginação estilizada
248
+ * - Overlay personalizado para "sem dados"
249
+ * - Textos em português brasileiro
250
+ *
251
+ * @param props - Todas as props do MUI DataGrid são suportadas. Ver {@link DataTableProps}.
252
+ *
253
+ * @example
254
+ * <DataTable
255
+ * rows={dados}
256
+ * columns={colunas}
257
+ * loading={carregando}
258
+ * pageSizeOptions={[10, 20, 50]}
259
+ * />
260
+ */
261
+ declare const DataTable: ({ ...rest }: DataTableProps) => react_jsx_runtime.JSX.Element;
262
+
263
+ /**
264
+ * Propriedades de estilo compartilhadas entre {@link Tab} e {@link Tabs}.
265
+ */
266
+ interface TabColorProps {
267
+ /**
268
+ * Cor do indicador ativo e do rótulo da aba selecionada.
269
+ * @default "var(--primary-color)"
270
+ */
271
+ color?: string;
272
+ /**
273
+ * Família tipográfica do rótulo da aba.
274
+ * Defina `--font-family` no CSS do projeto ou passe esta prop diretamente.
275
+ * @default "var(--font-family, inherit)"
276
+ */
277
+ fontFamily?: string;
278
+ }
279
+ /**
280
+ * Propriedades do componente {@link Tab}.
281
+ * Estende o `Tab` do MUI com suporte a cor customizada via `color`.
282
+ */
283
+ type TabProps = TabProps$1 & TabColorProps;
284
+ /**
285
+ * Propriedades do componente {@link Tabs}.
286
+ * Estende o `Tabs` do MUI com suporte a cor customizada do indicador via `color`.
287
+ */
288
+ type TabsProps = TabsProps$1 & TabColorProps;
289
+
290
+ /**
291
+ * Container de abas baseado no MUI `Tabs`, com indicador colorido customizável.
292
+ *
293
+ * @param props.color - Cor do indicador da aba ativa. Padrão: `var(--primary-color)`.
294
+ *
295
+ * @example
296
+ * ```tsx
297
+ * <Tabs value={value} onChange={handleChange} color="#00B2A6">
298
+ * <Tab label="Aba 1" />
299
+ * </Tabs>
300
+ * ```
301
+ */
302
+ declare const Tabs: _emotion_styled.StyledComponent<_mui_material.TabsOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style" | "className" | "aria-label" | "aria-labelledby" | "children" | "onChange" | "sx" | "classes" | "slots" | "slotProps" | "variant" | "value" | "action" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "orientation" | "scrollButtons" | "selectionFollowsFocus" | "textColor" | "visibleScrollbar"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & TabColorProps, {}, {}>;
303
+ /**
304
+ * Aba individual baseada no MUI `Tab`, com tipografia e cor de seleção customizáveis.
305
+ *
306
+ * @param props.color - Cor do rótulo quando a aba está selecionada. Padrão: `var(--primary-color)`.
307
+ * @param props.fontFamily - Família tipográfica do rótulo. Padrão: `var(--font-family, inherit)`.
308
+ *
309
+ * @example
310
+ * ```tsx
311
+ * <Tab label="Configurações" color="#00B2A6" />
312
+ * ```
313
+ */
314
+ declare const Tab: _emotion_styled.StyledComponent<_mui_material.TabOwnProps & Omit<_mui_material.ButtonBaseOwnProps, keyof _mui_material.TabOwnProps> & Omit<_mui_material.ButtonBaseOwnProps, "tabIndex" | "type" | "touchRippleRef" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "nativeButton" | "onFocusVisible" | "TouchRippleProps" | keyof _mui_material.TabOwnProps> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "label" | "style" | "className" | "tabIndex" | "children" | "icon" | "sx" | "type" | "classes" | "disabled" | "touchRippleRef" | "value" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "nativeButton" | "onFocusVisible" | "TouchRippleProps" | "disableFocusRipple" | "iconPosition" | "wrapped"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & TabColorProps, {}, {}>;
315
+
316
+ export { Card, type CardClassName, type CardProps, DataTable, type DataTableProps, Dialog, type DialogProps, Tab, type TabColorProps, type TabProps, Tabs, type TabsProps };
@@ -0,0 +1,316 @@
1
+ import * as _mui_material from '@mui/material';
2
+ import { CSSProperties, Breakpoint, TabProps as TabProps$1, TabsProps as TabsProps$1 } from '@mui/material';
3
+ import * as react from 'react';
4
+ import react__default, { ComponentPropsWithoutRef } from 'react';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { DataGridProps } from '@mui/x-data-grid';
7
+ import * as _emotion_styled from '@emotion/styled';
8
+ import * as _mui_system from '@mui/system';
9
+ import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
10
+
11
+ /**
12
+ * Tipo do atributo nativo `className` de um elemento `div` no React.
13
+ * Equivalente a `React.HTMLAttributes<HTMLDivElement>["className"]`.
14
+ */
15
+ type CardClassName = ComponentPropsWithoutRef<"div">["className"];
16
+ /**
17
+ * Propriedades do componente {@link Card}.
18
+ * O Card é um container com cabeçalho opcional (título, ícone) e área de conteúdo.
19
+ * Estilos dinâmicos são aplicados via MUI `Box`; classes utilitárias podem ser
20
+ * combinadas com `className` e a função `cn`.
21
+ */
22
+ interface CardProps {
23
+ /**
24
+ * Largura do card.
25
+ * Aceita qualquer valor CSS válido (ex.: `"100%"`, `"320px"`, `"auto"`).
26
+ * @default "100%"
27
+ */
28
+ width?: string;
29
+ /**
30
+ * Altura do card.
31
+ * Aceita qualquer valor CSS válido (ex.: `"auto"`, `"200px"`, `"100%"`).
32
+ * @default "auto"
33
+ */
34
+ height?: string;
35
+ /**
36
+ * Margem externa do card.
37
+ * Aceita shorthand ou valores individuais do CSS (ex.: `"16px"`, `"0 8px"`).
38
+ */
39
+ margin?: string;
40
+ /**
41
+ * Texto exibido no cabeçalho do card.
42
+ * Sempre renderizado; quando o texto ultrapassa o espaço, é truncado com reticências.
43
+ */
44
+ title?: string;
45
+ /**
46
+ * Habilita o tooltip do Mantine sobre o título ao passar o mouse.
47
+ * O título continua visível com ou sem tooltip; quando `false`, o hover não exibe popup.
48
+ * @default false
49
+ */
50
+ toolTip?: boolean;
51
+ /**
52
+ * Atributo `className` do container principal (tipo nativo do React).
53
+ * String de classes CSS; mesclada com classes internas via `cn`.
54
+ * @see {@link CardClassName}
55
+ */
56
+ className?: CardClassName;
57
+ /**
58
+ * Largura da barra do cabeçalho (área do título e ícone).
59
+ * @default "100%"
60
+ */
61
+ titleWidth?: string;
62
+ /**
63
+ * Cor de fundo do cabeçalho.
64
+ * Aceita cores CSS (hex, rgb, variáveis CSS, etc.).
65
+ * @default "var(--primary-color)"
66
+ */
67
+ titleColor?: string;
68
+ /**
69
+ * Raio da borda apenas do cabeçalho (ex.: `"8px 8px 0 0"`).
70
+ * Útil para arredondar só o topo quando o conteúdo não tem o mesmo radius.
71
+ */
72
+ borderTitle?: string;
73
+ /**
74
+ * Callback ao clicar no card inteiro.
75
+ * Quando definido, o cursor do card passa a ser `pointer` com `!important`.
76
+ */
77
+ onClick?: () => void;
78
+ /**
79
+ * Raio da borda do container principal do card (ex.: `"10px"`).
80
+ */
81
+ borderRadius?: string;
82
+ /**
83
+ * Elemento React exibido à direita do título no cabeçalho (ícone, botão, ação, etc.).
84
+ */
85
+ icon?: React.ReactNode;
86
+ /**
87
+ * Conteúdo principal do card, renderizado abaixo do cabeçalho.
88
+ */
89
+ children: React.ReactNode;
90
+ /**
91
+ * Alinhamento horizontal dos itens no cabeçalho (título e `icon`).
92
+ * Mesmos valores de `justify-content` do CSS (ex.: `"space-between"`, `"flex-end"`).
93
+ * @default "space-between"
94
+ */
95
+ justifyContent?: CSSProperties["justifyContent"];
96
+ }
97
+
98
+ /**
99
+ * Container de UI com cabeçalho colorido (título e ícone opcionais) e área de conteúdo.
100
+ *
101
+ * O card usa MUI `Box` para dimensões, sombra e responsividade; classes Tailwind
102
+ * extras podem ser passadas em `className` e são mescladas com `cn`. O título é
103
+ * sempre exibido e truncado quando necessário; o tooltip (Mantine) só aparece se
104
+ * `toolTip` for `true`.
105
+ *
106
+ * @param props - Propriedades do componente. Detalhes em {@link CardProps}.
107
+ * @param props.width - Largura do card. Padrão: `"100%"`.
108
+ * @param props.height - Altura do card. Padrão: `"auto"`.
109
+ * @param props.margin - Margem externa.
110
+ * @param props.title - Texto do cabeçalho.
111
+ * @param props.toolTip - Habilita tooltip no título.
112
+ * @param props.className - `className` nativo do React no container.
113
+ * @param props.titleWidth - Largura da barra do cabeçalho. Padrão: `"100%"`.
114
+ * @param props.titleColor - Cor de fundo do cabeçalho. Padrão: `var(--primary-color)`.
115
+ * @param props.borderTitle - `border-radius` só do cabeçalho.
116
+ * @param props.onClick - Clique no card; adiciona `cursor: pointer !important`.
117
+ * @param props.borderRadius - `border-radius` do container.
118
+ * @param props.icon - Conteúdo à direita do título.
119
+ * @param props.children - Corpo do card.
120
+ * @param props.justifyContent - Alinhamento título/ícone. Padrão: `"space-between"`.
121
+ *
122
+ * @returns Elemento `Box` com cabeçalho e `children`.
123
+ *
124
+ * @example
125
+ * ```tsx
126
+ * <Card title="Resumo" toolTip icon={<span>+</span>}>
127
+ * <p>Conteúdo interno</p>
128
+ * </Card>
129
+ * ```
130
+ *
131
+ * @example
132
+ * ```tsx
133
+ * <Card
134
+ * title="Clique aqui"
135
+ * width="320px"
136
+ * onClick={() => alert("Card clicado")}
137
+ * >
138
+ * Card interativo
139
+ * </Card>
140
+ * ```
141
+ */
142
+ declare function Card({ margin, onClick, title, toolTip, className, borderTitle, children, borderRadius, width, height, titleWidth, justifyContent, titleColor, icon, }: Readonly<CardProps>): React.ReactElement;
143
+
144
+ /**
145
+ * Propriedades do componente {@link Dialog}.
146
+ * Modal baseado no MUI `Dialog`, com título, conteúdo principal e rodapé de ações opcionais.
147
+ * O componente usa `fullWidth` por padrão; a largura máxima é controlada por `maxWidth`.
148
+ */
149
+ interface DialogProps {
150
+ /**
151
+ * Controla se o diálogo está aberto e visível.
152
+ */
153
+ open: boolean;
154
+ /**
155
+ * Texto exibido no cabeçalho do diálogo.
156
+ * Quando omitido, o bloco de título não é renderizado.
157
+ */
158
+ title?: string;
159
+ /**
160
+ * Callback invocado ao fechar o diálogo
161
+ * (clique no backdrop, tecla ESC ou botão de fechar do MUI).
162
+ */
163
+ onClose: () => void;
164
+ /**
165
+ * Aplica desfoque e overlay escuro semitransparente no backdrop.
166
+ * @default false
167
+ */
168
+ blurBackdrop?: boolean;
169
+ /**
170
+ * Conteúdo principal exibido na área central do diálogo.
171
+ */
172
+ children: React.ReactNode;
173
+ /**
174
+ * Conteúdo do rodapé (botões, links ou ações customizadas).
175
+ * Quando omitido, `DialogActions` não é renderizado.
176
+ */
177
+ actions?: React.ReactNode;
178
+ /**
179
+ * Largura máxima do diálogo conforme breakpoints do MUI
180
+ * (`xs`, `sm`, `md`, `lg`, `xl`).
181
+ * Use `false` para desativar o limite de largura.
182
+ */
183
+ maxWidth?: false | Breakpoint;
184
+ }
185
+
186
+ /**
187
+ * Modal de diálogo baseado no MUI `Dialog`, com título, conteúdo e ações opcionais.
188
+ *
189
+ * O componente usa `fullWidth` por padrão e permite limitar a largura via `maxWidth`.
190
+ * Com `blurBackdrop`, o fundo recebe desfoque e overlay escuro semitransparente.
191
+ *
192
+ * @param props - Propriedades do componente. Detalhes em {@link DialogProps}.
193
+ * @param props.open - Controla se o diálogo está visível.
194
+ * @param props.title - Título exibido no topo; omitido se não informado.
195
+ * @param props.onClose - Callback ao fechar (clique fora, ESC ou botão de fechar do MUI).
196
+ * @param props.actions - Rodapé com botões ou ações customizadas.
197
+ * @param props.children - Conteúdo principal do diálogo.
198
+ * @param props.maxWidth - Largura máxima do MUI (`xs`, `sm`, `md`, `lg`, `xl` ou `false`).
199
+ * @param props.blurBackdrop - Aplica blur e escurecimento no backdrop. Padrão: `false`.
200
+ *
201
+ * @returns Instância do `Dialog` do Material UI.
202
+ *
203
+ * @example
204
+ * ```tsx
205
+ * const [open, setOpen] = useState(false);
206
+ *
207
+ * <Dialog
208
+ * open={open}
209
+ * title="Confirmar exclusão"
210
+ * onClose={() => setOpen(false)}
211
+ * actions={<Button onClick={() => setOpen(false)}>OK</Button>}
212
+ * >
213
+ * Deseja realmente excluir este item?
214
+ * </Dialog>
215
+ * ```
216
+ *
217
+ * @example
218
+ * ```tsx
219
+ * <Dialog
220
+ * open={open}
221
+ * onClose={handleClose}
222
+ * maxWidth="sm"
223
+ * blurBackdrop
224
+ * >
225
+ * Conteúdo sem título.
226
+ * </Dialog>
227
+ * ```
228
+ */
229
+ declare function Dialog({ open, title, onClose, actions, children, maxWidth, blurBackdrop, }: Readonly<DialogProps>): react__default.ReactElement;
230
+
231
+ /**
232
+ * Propriedades do componente {@link DataTable}.
233
+ * Wrapper tipado sobre o MUI `DataGrid`, com estilização e textos em português.
234
+ */
235
+ type DataTableProps = DataGridProps;
236
+
237
+ /**
238
+ * Componente DataTable personalizado baseado no MUI DataGrid.
239
+ *
240
+ * Fornece uma tabela de dados com estilização customizada, filtros avançados,
241
+ * paginação, ordenação e gerenciamento de colunas.
242
+ *
243
+ * Recursos incluídos:
244
+ * - Operador de filtro "entre" automático para colunas string e number
245
+ * - Painel de filtros customizado
246
+ * - Painel de gerenciamento de colunas
247
+ * - Paginação estilizada
248
+ * - Overlay personalizado para "sem dados"
249
+ * - Textos em português brasileiro
250
+ *
251
+ * @param props - Todas as props do MUI DataGrid são suportadas. Ver {@link DataTableProps}.
252
+ *
253
+ * @example
254
+ * <DataTable
255
+ * rows={dados}
256
+ * columns={colunas}
257
+ * loading={carregando}
258
+ * pageSizeOptions={[10, 20, 50]}
259
+ * />
260
+ */
261
+ declare const DataTable: ({ ...rest }: DataTableProps) => react_jsx_runtime.JSX.Element;
262
+
263
+ /**
264
+ * Propriedades de estilo compartilhadas entre {@link Tab} e {@link Tabs}.
265
+ */
266
+ interface TabColorProps {
267
+ /**
268
+ * Cor do indicador ativo e do rótulo da aba selecionada.
269
+ * @default "var(--primary-color)"
270
+ */
271
+ color?: string;
272
+ /**
273
+ * Família tipográfica do rótulo da aba.
274
+ * Defina `--font-family` no CSS do projeto ou passe esta prop diretamente.
275
+ * @default "var(--font-family, inherit)"
276
+ */
277
+ fontFamily?: string;
278
+ }
279
+ /**
280
+ * Propriedades do componente {@link Tab}.
281
+ * Estende o `Tab` do MUI com suporte a cor customizada via `color`.
282
+ */
283
+ type TabProps = TabProps$1 & TabColorProps;
284
+ /**
285
+ * Propriedades do componente {@link Tabs}.
286
+ * Estende o `Tabs` do MUI com suporte a cor customizada do indicador via `color`.
287
+ */
288
+ type TabsProps = TabsProps$1 & TabColorProps;
289
+
290
+ /**
291
+ * Container de abas baseado no MUI `Tabs`, com indicador colorido customizável.
292
+ *
293
+ * @param props.color - Cor do indicador da aba ativa. Padrão: `var(--primary-color)`.
294
+ *
295
+ * @example
296
+ * ```tsx
297
+ * <Tabs value={value} onChange={handleChange} color="#00B2A6">
298
+ * <Tab label="Aba 1" />
299
+ * </Tabs>
300
+ * ```
301
+ */
302
+ declare const Tabs: _emotion_styled.StyledComponent<_mui_material.TabsOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style" | "className" | "aria-label" | "aria-labelledby" | "children" | "onChange" | "sx" | "classes" | "slots" | "slotProps" | "variant" | "value" | "action" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "orientation" | "scrollButtons" | "selectionFollowsFocus" | "textColor" | "visibleScrollbar"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & TabColorProps, {}, {}>;
303
+ /**
304
+ * Aba individual baseada no MUI `Tab`, com tipografia e cor de seleção customizáveis.
305
+ *
306
+ * @param props.color - Cor do rótulo quando a aba está selecionada. Padrão: `var(--primary-color)`.
307
+ * @param props.fontFamily - Família tipográfica do rótulo. Padrão: `var(--font-family, inherit)`.
308
+ *
309
+ * @example
310
+ * ```tsx
311
+ * <Tab label="Configurações" color="#00B2A6" />
312
+ * ```
313
+ */
314
+ declare const Tab: _emotion_styled.StyledComponent<_mui_material.TabOwnProps & Omit<_mui_material.ButtonBaseOwnProps, keyof _mui_material.TabOwnProps> & Omit<_mui_material.ButtonBaseOwnProps, "tabIndex" | "type" | "touchRippleRef" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "nativeButton" | "onFocusVisible" | "TouchRippleProps" | keyof _mui_material.TabOwnProps> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "label" | "style" | "className" | "tabIndex" | "children" | "icon" | "sx" | "type" | "classes" | "disabled" | "touchRippleRef" | "value" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "nativeButton" | "onFocusVisible" | "TouchRippleProps" | "disableFocusRipple" | "iconPosition" | "wrapped"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & TabColorProps, {}, {}>;
315
+
316
+ export { Card, type CardClassName, type CardProps, DataTable, type DataTableProps, Dialog, type DialogProps, Tab, type TabColorProps, type TabProps, Tabs, type TabsProps };