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
Linkdeve sempre vir com a propriedaderemoveUnderline - Use a propriedade
truncatesempre que existir a possibilidade do conteúdo doLinkou doTextaumentar a ponto de quebrar o layout daNavbar - Caso precise dar ênfase a um texto, não mude o elemento padrão do
Textparah1,h2, etc. Use a propriedadetokencom 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.