CPS Design System
Guia Visual
Documentação
Componentes
GitHub
Guia Visual
Documentação
Componentes
GitHub
  • Documentação

    • Accordion
    • Avatar
    • Badge
    • Button
    • Calendar
    • Callout
    • Card
    • CheckField
    • Chip
    • ColorField
    • DataTable
    • DateField
    • Dialog
    • DropdownButton
    • DropdownField
    • FloatingPanel
    • GridView
    • Hyperlink
    • ListView
    • MenuFlyout
    • MultiSelectField
    • NumberField
    • Pagination
    • ProgressIndicator
    • RatingField
    • Separator
    • SideNavigation
    • SkeletonIndicator
    • SliderField
    • SplitButton
    • Stepper
    • TabBar
    • TextField
    • ToastNotification
    • ToggleButton
    • TopNavigation
    • TreeView

DropdownButton

Um botão de lista suspensa (dropdown) é componente de aproveitamento de espaço na tela, servindo como uma ação de atalho para exibição de um menu flutuante, o qual pode oferecer listas de opções, ou mesmo outros componentes dentro, como um conjunto de outros botões (pense em botões na barra de ferramentas do pacote Office, por exemplo).

É fundamentalmente muito similar a um DropdownField, entretanto exibe a aparência básica de um Button padrão, em suas cores, dimensões e cantos arredondados. Portanto, é o elemento ideal para representar ações que resultem em listas suspensas, enquanto a caixa de lista suspensa é ideal para ser inserida em meio a outros campos de entrada de dados, como em um formulário.

Procurando um componente pronto para uso?

Veja o CpsDropdown do CPS Elements, um componente web fácil de usar, seja nativamente ou com os frameworks de sua preferência, e totalmente aderente ao CPS Design System.

Variações

Este componente pode ser utilizado conforme as variações descritas a seguir.

Padrão

A variação padrão deste componente representa seu estado de repouso, oferecendo acesso imediato à sua ação principal ao ser acionado, exibindo-se o menu flutuante com a lista suspensa a partir da ação.

A aparência desta variação em modo claro:

DropdownButton - Modo Claro - Padrão

A aparência desta variação em modo escuro:

DropdownButton - Modo Escuro - Padrão

Observa-se também que, diferente de um DropdownField, este componente não exige texto sobre a opção atualmente selecionada, mas é recomendado utilizar texto junto ao ícone na maioria dos casos, para evitar possíveis desentendimentos a partir do significado do ícone sozinho.

Aberto

Esta variação é acessada sempre que o componente é acionado. É importante considerar que o menu flutuante é aqui exibido meramente como referência de posicionamento em relação ao botão de lista suspensa, visto que a documentação detalhada desta peça de interface encontra-se em MenuFlyout.

A aparência desta variação em modo claro:

DropdownButton - Modo Claro - Aberto

A aparência desta variação em modo escuro:

DropdownButton - Modo Escuro - Aberto

Boas práticas

Para que este componente seja utilizado da melhor maneira possível, observe as práticas a seguir.

Exibição e comportamento

Sendo um tipo especializado de botão, este componente também deve seguir recomendações básicas de layout e dimensões apresentadas em Button, especialmente as que se aplicando à variação de botão padrão, por compartilharem aparência similar.

As mesmas recomendações sobre os itens da lista suspensa apresentadas em DropdownField também se aplicam aos botões de lista suspensa. Entretanto, reforça-se que as listas suspensas dos botões tão podem conter outros elementos que não sejam somente itens selecionáveis, como outros botões ou outros elementos relevantes para a operação da interface. Por exemplo, um menu flutuante totalmente personalizado como o utilizado no botão de "Inserir Tabela" na barra de ferramentas do Word.

Acessibilidade

Por ser um componente acionável pelo usuário, exige-se que todos os diferentes estados de interação sejam adequadamente abordados quando em uso: :hover para movimentação do mouse sobre o componente, :active para o exato momento em que se encontra pressionado ou tocado (no caso de uma tela sensível ao toque), :focus para quando a tela está sendo navegada através de teclado (normalmente pela tecla Tab), e :disabled evidentemente para quando se encontra desabilitado e não pode ser acionado.

Sobre a acessibilidade durante a navegação na lista suspensa aberta, quando esta for composto por itens selecionáveis, é importante garantir que as teclas de setas ↑ e ↓ alternem a seleção dos elementos anteriores e posteriores ao atual, respectivamente. Pressionar Enter com a lista suspensa aberta confirma a seleção, automaticamente fechando-a e colocando o item que estava marcado/focado como a nova opção selecionada.

Anterior
Dialog
Próximo
DropdownField