MenuChevron Down
Button Botão - Docs - Artefact

Button Botão

Forms
Detecção automática inteligente

Introdução

Um componente clicável para acionar ações e interações do usuário. Inclui variantes para ícones e botões agrupados.

Uso

Botão básico

import { Button } from "../components/ui";

export default function MyPage() {
  return (
    <Button variant="solid" colorPalette="blue">
      Click me
    </Button>
  );
}

Estado de carregamento

import { Button } from "../components/ui";

export default function MyPage() {
  return (
    <Button loading loadingText="Saving...">
      Save
    </Button>
  );
}

IconButton

Um botão otimizado para ícones.

import { IconButton } from "../components/ui";
import { SearchIcon } from "./icons";

export default function MyPage() {
  return (
    <IconButton aria-label="Search">
      <SearchIcon />
    </IconButton>
  );
}

CloseButton

Um botão pré-estilizado para fechar elementos.

import { CloseButton } from "../components/ui";

export default function MyPage() {
  return <CloseButton onClick={() => console.log("closed")} interactive />;
}

ButtonGroup

import { Button, ButtonGroup } from "../components/ui";

export default function MyPage() {
  return (
    <ButtonGroup attached>
      <Button>First</Button>
      <Button>Second</Button>
    </ButtonGroup>
  );
}

Construtor de Páginas CMS

Este componente está disponível como um bloco button no Construtor de Páginas (content/pages/*.json):

{
  "type": "button",
  "text": "Click me",
  "variant": "solid",
  "colorPalette": "blue"
}

Propriedades

Button

PropTypeDescription
childrenanyConteúdo a ser renderizado dentro do componente.
classstringClasses CSS personalizadas.

| variant | `"solid" \ | "surface" \ | "subtle" \ | "outline" \ | "plain"` | O estilo visual do botão. |

| size | `"2xs" \ | "xs" \ | "sm" \ | "md" \ | "lg" \ | "xl" \ | "2xl"` | O tamanho do botão. |

| loading | boolean | Se true, o botão mostrará um spinner de carregamento. | | loadingText | string | O texto exibido durante o carregamento. |

| type | `"button" \ | "submit" \ | "reset"` | O tipo HTML do botão. |

| colorPalette | string | O tema de cor do botão. | | interactive | boolean | Se deve habilitar a hidratação do lado do cliente. |

ButtonGroup

PropTypeDescription
childrenanyBotões a serem agrupados.
attachedbooleanSe os botões devem ser unidos entre si.