---
title: Botões
icon: hand-pointer
---
Uma lista de botões e grupos de botões usados em todo o aplicativo.
## Botão
```jsx
import { Button } from "@/ui/input/button/components/Button";
export const MyComponent = () => {
return (
| Propriedades | Tipo | Descrição |
| --------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------- |
| className | string | Nome de classe opcional para estilo adicional |
| Ícone | `React.ComponentType` | Um componente de ícone opcional que é exibido dentro do botão |
| título | string | O conteúdo de texto do botão |
| larguraCompleta | booleano | Define se o botão deve ocupar toda a largura do seu container |
| variante | string | A variante de estilo visual do botão. As opções incluem `primary`, `secondary` e `tertiary` |
| tamanho | string | O tamanho do botão. Tem duas opções: `pequeno` e `médio` |
| posição | string | A posição do botão em relação aos seus irmãos. As opções incluem: `independente`, `esquerda`, `direita` e `meio` |
| destaque | string | A cor de destaque do botão. As opções incluem: `padrão`, `azul` e `perigo` |
| em breve | booleano | Indica se o botão está marcado como "em breve" (como para recursos futuros) |
| desativado | booleano | Especifica se o botão está desativado ou não |
| foco | booleano | Determina se o botão está em foco |
| aoClicar | função | Uma função de callback que é acionada quando o usuário clica no botão |
## Grupo de Botões
```jsx
import { Button } from "@/ui/input/button/components/Button";
import { ButtonGroup } from "@/ui/input/button/components/ButtonGroup";
export const MyComponent = () => {
return (
);
};
```
| Propriedades | Tipo | Descrição |
| ------------ | --------- | ------------------------------------------------------------------------------------------------------------- |
| variante | string | A variante de estilo visual dos botões dentro do grupo. As opções incluem `primary`, `secondary` e `tertiary` |
| tamanho | string | O tamanho dos botões dentro do grupo. Tem duas opções: `médio` e `pequeno` |
| destaque | string | A cor de destaque dos botões dentro do grupo. As opções incluem `padrão`, `azul` e `perigo` |
| className | string | Nome de classe opcional para estilo adicional |
| filhos | ReactNode | Um array de elementos React que representam os botões individuais no grupo |
## Botão Flutuante
```jsx
import { FloatingButton } from "@/ui/input/button/components/FloatingButton";
import { IconSearch } from "@tabler/icons-react";
export const MyComponent = () => {
return (
);
};
```
| Propriedades | Tipo | Descrição |
| --------------- | --------------------- | --------------------------------------------------------------------------------------------------------------- |
| className | string | Nome opcional para estilo adicional |
| Ícone | `React.ComponentType` | Um componente de ícone opcional que é exibido dentro do botão |
| título | string | O conteúdo de texto do botão |
| tamanho | string | O tamanho do botão. Tem duas opções: `pequeno` e `médio` |
| posição | string | A posição do botão em relação aos seus irmãos. As opções incluem: `independente`, `esquerda`, `meio`, `direita` |
| aplicarSombra | booleano | Determina se deve aplicar sombra a um botão |
| aplicarDesfoque | booleano | Determina se deve aplicar um efeito de desfoque ao botão |
| desativado | booleano | Determina se o botão está desativado |
| foco | booleano | Indica se o botão está em foco |
## Grupo de Botões Flutuantes
```jsx
import { FloatingButton } from "@/ui/input/button/components/FloatingButton";
import { FloatingButtonGroup } from "@/ui/input/button/components/FloatingButtonGroup";
import { IconClipboardText, IconCheckbox } from "@tabler/icons-react";
export const MyComponent = () => {
return (
);
};
```
| Propriedades | Tipo | Descrição | Padrão |
| ------------ | --------- | -------------------------------------------------------------------------- | ------- |
| tamanho | string | O tamanho do botão. Tem duas opções: `pequeno` e `médio` | pequeno |
| filhos | ReactNode | Um array de elementos React que representam os botões individuais no grupo | |
## Botão de Ícone Flutuante
```jsx
import { FloatingIconButton } from "@/ui/input/button/components/FloatingIconButton";
import { IconSearch } from "@tabler/icons-react";
export const MyComponent = () => {
return (
console.log("click")}
isActive={true}
/>
);
};
```
| Propriedades | Tipo | Descrição |
| --------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------- |
| className | string | Nome opcional para estilo adicional |
| Ícone | `React.ComponentType` | Um componente de ícone opcional que é exibido dentro do botão |
| tamanho | string | O tamanho do botão. Tem duas opções: `pequeno` e `médio` |
| posição | string | A posição do botão em relação aos seus irmãos. As opções incluem: `independente`, `esquerda`, `direita` e `meio` |
| aplicarSombra | booleano | Determina se deve aplicar sombra a um botão |
| aplicarDesfoque | booleano | Determina se deve aplicar um efeito de desfoque ao botão |
| desativado | booleano | Determina se o botão está desativado |
| foco | booleano | Indica se o botão está em foco |
| aoClicar | função | Uma função de callback que é acionada quando o usuário clica no botão |
| estáAtivo | booleano | Determina se o botão está em um estado ativo |
## Grupo de Botões de Ícone Flutuantes
```jsx
import { FloatingIconButtonGroup } from "@/ui/input/button/components/FloatingIconButtonGroup";
import { IconClipboardText, IconCheckbox } from "@tabler/icons-react";
export const MyComponent = () => {
const iconButtons = [
{
Icon: IconClipboardText,
onClick: () => console.log("Button 1 clicked"),
isActive: true,
},
{
Icon: IconCheckbox,
onClick: () => console.log("Button 2 clicked"),
isActive: true,
},
];
return (
);
};
```
| Propriedades | Tipo | Descrição |
| ------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| className | string | Nome opcional para estilo adicional |
| tamanho | string | O tamanho do botão. Tem duas opções: `pequeno` e `médio` |
| botõesDeÍcone | array | Um array de objetos, cada um representando um botão de ícone no grupo. Cada objeto deve incluir o componente de ícone que você deseja exibir no botão, a função a ser chamada quando um usuário clica no botão, e se o botão deve estar ativo ou não. |
## Botão Claro
```jsx
import { LightButton } from "@/ui/input/button/components/LightButton";
export const MyComponent = () => {
return console.log('click')}
/>;
};
```
| Propriedades | Tipo | Descrição |
| ------------ | ----------------- | ---------------------------------------------------------------------- |
| className | string | Nome opcional para estilização adicional. |
| ícone | `React.ReactNode` | O ícone que você deseja exibir no botão |
| título | string | O conteúdo de texto do botão |
| destaque | string | A cor de destaque do botão. Opções incluem: `secundário` e `terciário` |
| ativo | booleano | Determina se o botão está em um estado ativo |
| desativado | booleano | Determina se o botão está desativado |
| foco | booleano | Indica se o botão está em foco |
| onClick | função | Uma função de callback que é acionada quando o usuário clica no botão |
## Botão de Ícone Claro
```jsx
import { LightIconButton } from "@/ui/input/button/components/LightIconButton";
import { IconSearch } from "@tabler/icons-react";
export const MyComponent = () => {
return (
console.log("click")}
/>
);
};
```
| Propriedades | Tipo | Descrição |
| ------------ | --------------------- | ---------------------------------------------------------------------- |
| className | string | Nome opcional para estilização adicional. |
| testeId | string | Identificador de teste para o botão |
| Ícone | `React.ComponentType` | Um componente de ícone opcional que é exibido dentro do botão |
| título | string | O conteúdo de texto do botão |
| tamanho | string | O tamanho do botão. Possui duas opções: `pequeno` e `médio` |
| destaque | string | A cor de destaque do botão. Opções incluem: `secundário` e `terciário` |
| ativo | booleano | Determina se o botão está em um estado ativo |
| desativado | booleano | Determina se o botão está desativado |
| foco | booleano | Indica se o botão está em foco |
| aoClicar | função | Uma função de callback que é acionada quando o usuário clica no botão |
## Botão Principal
```jsx
import { MainButton } from "@/ui/input/button/components/MainButton";
import { IconCheckbox } from "@tabler/icons-react";
export const MyComponent = () => {
return (
);
};
```
| Propriedades | Tipo | Descrição |
| -------------------- | -------------------------------- | ------------------------------------------------------------------------------- |
| título | string | O conteúdo de texto do botão |
| larguraCompleta | booleano | Define se o botão deve ocupar toda a largura do seu container |
| variante | string | A variante de estilo visual do botão. As opções incluem `primary` e `secondary` |
| em breve | booleano | Indica se o botão está marcado como "em breve" (como para recursos futuros) |
| Ícone | `React.ComponentType` | Um componente de ícone opcional que é exibido dentro do botão |
| React `button` props | `React.ComponentProps<'button'>` | Todos os props padrão de botão HTML são suportados |
## Botão de Ícone Arredondado
```jsx
import { RoundedIconButton } from "@/ui/input/button/components/RoundedIconButton";
import { IconSearch } from "@tabler/icons-react";
export const MyComponent = () => {
return (
);
};
```
| Propriedades | Tipo | Descrição |
| -------------------- | ----------------------------------------------- | --------- |
| Ícone | `React.ComponentType` | |
| React `button` props | `React.ButtonHTMLAttributes` | |