Componentes

button

Button é um elemento usado para indicar uma possível ação na interface.

índice

demo interativa

Uma versão de interativa do componente desenvolvido.

button default

(opcional)

propriedades*

propertydescriptionrequireddefault valuetype

disabled

Button disabled state

falseundefinedboolean

onClick

Called when a click is detected.

falseundefinedMouseEventHandler<HTMLButtonElement> & ((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)

variation

Define the button style variation

falseprimaryprimaryaccentsecondarydanger

size

Define the button size

falsesmallsmallmedium

fixed

Button style to occupy full width of the container

falseundefinedboolean

icon

An Icon component from @olist/design-system-icons to be used in the button. Can not be used with children prop

falseundefinedElementType<any>

iconRight

An Icon component from @olist/design-system-icons to be used in the right side of the button

falseundefinedElementType<any>

iconLeft

An Icon component from @olist/design-system-icons to be used in the left side of the button

falseundefinedElementType<any>

isLoading

Loading indicator

falseundefinedboolean

href

Use this prop to transform the button element to an anchor

falseundefinedstring

target

The target attribute specifies where to open the linked document.

falseundefined

*valores gerados automaticamente.

button icon

propriedades*

propertydescriptionrequireddefault valuetype

variation

Define the button style variation

trueprimaryprimarysecondary

icon

An Icon component from @olist/design-system-icons to be used in the button

trueundefinedReactNode

disabled

Button disabled state

falsefalseboolean

onClick

Called when a click is detected.

falseundefined(event: MouseEvent<HTMLButtonElement, MouseEvent>) => void

*valores gerados automaticamente.

formatação

Botão cinza com cantos arredondados. Sobre o texto está destacado o item 1 e sobre o ícone está destacado o item 2.
  1. Label: pequeno texto que indica a ação executada pelo botão.
  2. Icon: ícone que auxilia na identificação da função do botão.

Uso

Botões são usados para indicar uma possível ação na interface, como completar um formulário, deletar um item ou completar uma compra.

variações

variaçãoutilização
button defaultBotão padrão, deve ser usado na maioria dos casos, especialmente quando os botões aparecem em grupo.
button iconBotão de menor hierarquia na tela. Utilizado individualmente (por exemplo, um botão de fechar na modal).

estilos

estiloutilização
primaryPara indicar ações primárias, podendo ser aparecer mais de uma vez na mesma tela.
secondaryPara indicar ações secundárias, podendo ser aparecer mais de uma vez na mesma tela.
dangerPara indicar ações destrutivas que necessitam atenção do usuário, podendo ser aparecer mais de uma vez na mesma tela.
accentPara indicar ações primárias com destaque, podendo aparecer no máximo uma vez por tela.
Modal com 3 botões na sua base, os dois da esquerda no estilo secundário e o mais a direita com estilo primário.
certoDar destaque somente às ações principais da tela.
Modal com 3 botões na sua base, todos com o mesmo estilo de cor e texto.
erradoDar destaque a muitas ações ao mesmo tempo.

ícones

Na web, deve-se utilizar a combinação texto e ícone na maior parte das vezes, ajudando assim a identificação da ação. O uso e posicionamento dos ícones é indicado na tabela a seguir:

alinhamentoutilização
a esquerdaMaior parte de usos, para facilitar a identificação de diferentes botões.
a direitaPara indicar ações de navegação, com excessão do ícone de voltar que deve ficar sempre a esquerda.
somente íconePara indicar ação ou navegação em um espaço reduzido. Somente para ícones aprovados. Conferir página de ícones.
somente textoPara botões com necessidade de texto maior ou que não tenham um ícone naturalmente associado.
Três botões empilhados com ícones a esquerda. Neles está escrito ”ver repasse", ”faturar pedido” e ”deletar produto", respectivamente.

ícones alinhados à esquerda

Botão “avançar” com ícone de seta a direita.

ícones alinhados à direita

grupos e alinhamento

  • A distância horizontal entre botões deve usar o token $spacing-inline-small e a distância vertical deve usar o token $spacing-stack-1xsmall.
  • A margem mínima dos botões para outros elementos deve ser de 16px.
  • O botão fica posicionado ao final do conteúdo da página.
  • Botões de navegação devem ficar alinhados à direita, com excessão dos botões de voltar ou cancelar que devem ficar a esquerda.
Dois botões lado a lado com um retângulo entre eles marcando o espaçamento lateral entre eles.

espaçamento horizontal

Dois botões empilhados com um retângulo  entre eles mostrando o espaçamento horizontal entre eles.

espaçamento vertical

guia de conteúdo

  • Utilizar verbo no infinitivo.
  • Deixar claro a ação (”Como usuário, eu quero ").
  • Utilizar todas letras em caixa baixa.
  • Consistente com o título e a descrição da ação.
  • Evitar artigos.
  • Evitar uso de palavras em inglês.
  • Ser direto e evitar quebra de linha.

guia de design

  • Tem guia de uso.
  • Tem guia de conteúdo.
  • Usa os design tokens.
  • Tem símbolo no Figma.
  • Possui motion.
  • Possui versão web.
  • Possui versão responsiva.
  • Possui versão mobile.
  • É acessível via leitor de tela.
  • Texto possui contraste acessível (WCAG 2.0 - Nível AA).

conteúdo relacionado