Navbar
A Navbar
funciona como template component, ou seja, além de oferecer estilos e comportamentos para o componente, também estiliza, posiciona e coordena componentes passados, através da propriedade children
.
Deve existir apenas 1 componente Navbar
por página, posicionado no topo.
Identificação do produto
O logo do produto, ou da própria RD Station, deve obrigatoriamente ser o primeiro elemento da Navbar
. Deve ser incluído através do componente Brand.
Alinhado ao centro
Caso o logo seja o único elemento na Navbar
você pode deixar ele centralizado.
Menu principal
Use o subcomponente Navbar.Section
com o atributo fluid
junto com o subcomponente Navbar.Item
para criar a navegação principal. Se o item do menu tiver subitens, combine Navbar.Item
com Dropdown
. Caso o item seja um link, basta incluir o atributo href
.
Você também pode envolver o subcomponente Dropdown.Item
com o Badge
ou adicionar internamente um componente Tag
, como indicado no exemplo abaixo.
Utilize a propriedade active
para indicar que o subcomponente Navbar.Item
está ativo.
Dropdown
sem a prop renderAnchor
Caso seja necessário usar a mesma referência do Dropdown
em outro componente, utilize o Dropdown.Anchor
para envolver o componente que receberá essa referência (possivelmente um subcomponente Navbar.Item
ou Navbar.AccountItem
), para que ele seja renderizado com o estilo adequado.
Menu auxiliar
No menu auxiliar, podemos inserir ícones com ou sem Dropdown
e Badge
. Veja no exemplo:
Para dar mais contexto ao usuário, envolva com um Tooltip
o subcomponente Navbar.Item
quando seu conteúdo for um ícone.
Menu da conta
O subcomponente Navbar.AccountProvider
é o responsável por receber as informações da conta do usuário, como nome de usuário, nome da conta e avatar, se houver, e por passá-las para os subcomponentes que irão renderizá-las (Navbar.AccountInfo
e Navbar.AccountItem
).
O Navbar.AccountItem
deve ser usado como âncora do Dropdown
.
Já o Navbar.AccountInfo
somente será exibido em telas menores que 1280px (--breakpoint-lg
) e conterá um resumo dos dados da conta. Este subcomponente deve ser inserido como primeiro elemento do Dropdown
, antes do Dropdown.Container
.
O subcomponente para criação do menu da conta não deve ser envolvido por Navbar.Section
e deve sempre ser o último componente adicionado à Navbar
.
Seções
Como demonstrado nos exemplos acima, o conteúdo da Navbar
, com exceção do logo e do menu de conta, deve ser inserido por meio de uma sequência de seções, através da componente Navbar.Section
.
Seção fluida
Deve existir apenas um Navbar.Section
com a propriedade fluid
dentro da Navbar
.
Você pode indicar através da propriedade fluid
que uma das seções da Navbar
é fluida, ou seja, que ocupará todo o espaço disponível:
Seção sem borda
Use o atributo unbordered
para remover a borda esquerda do subcomponente Navbar.Section
para aplicação padrão nos produtos. No caso da Navbar
usada em editores a borda esquerda deve se manter.
Regras para links e textos dentro de seções
Para adicionar links e textos dentro de uma Navbar.Section
, algumas regras devem ser seguidas:
- O componente
Link
deve sempre vir com a propriedaderemoveUnderline
- Use a propriedade
truncate
sempre que existir a possibilidade do conteúdo doLink
ou doText
aumentar a ponto de quebrar o layout daNavbar
- Caso precise dar ênfase a um texto, não mude o elemento padrão do
Text
parah1
,h2
, etc. Use a propriedadetoken
com o valorText.tokens.TEXT_SM_BOLD
Tamanhos
Pequeno
Médio (padrão)
Composição com outros componentes de layout
Os estilos da Navbar
interagem automaticamente com os estilos do StickyBarGroup, Sidebar e do Main para compor um padrão de layout para páginas. Desde a versão 8.14.0
este comportamento também funciona quando estes componentes estão separados em diferentes micro frontends.
Utiliza a propriedade disabledAutoPosisitioning
para desabilitar o posicionamento automático do componente.
Esta propriedade pode ser útil em cenários onde o layout da página será organizado por uma biblioteca externa ou algum estilo curtomizado.