Estrutura padrão das aplicações.
ts
1
import Layout from '@eduzz/houston-ui/Layout';4
import Layout from '@eduzz/houston-ui/Layout';5
import Sidebar from '@eduzz/houston-ui/Layout/Sidebar';6
import Topbar from '@eduzz/houston-ui/Layout/Topbar';7
import Content from '@eduzz/houston-ui/Layout/Content';
Para simplificar a escrita do código, você pode desestruturar os componentes.
jsx
1
import Layout from '@eduzz/houston-ui/Layout';3
const { Sidebar, Topbar, Content } = Layout;4
const { Item, Group } = Sidebar;6
function CustomLayout() {9
<Topbar {...topbarProps}>13
<Sidebar {...sidebarProps}>24
export default CustomLayout;
jsx
1
import { NavLink, useLocation } from 'react-router-dom';3
const { Sidebar, Topbar, Content } = Layout;4
const { Item, Group } = Sidebar;6
function MyComponent() {7
const location = useLocation();12
currentApplication='orbita'16
avatar: 'https://picsum.photos/200',20
<Topbar.UnitySupportChat />22
<Topbar.Action icon={<NotificationOutline size={25} />} label='Notificações' />23
<Topbar.Action icon={<InfoChatOutline size={25} />} />26
<Topbar.UserMenuItem>Meus Dados</Topbar.UserMenuItem>27
<Topbar.UserMenuItem>Minhas Compras</Topbar.UserMenuItem>29
<Topbar.UserMenuGroup label='Contas:'>30
<Topbar.UserMenuItem href='http://google.com' target='_blank'>32
</Topbar.UserMenuItem>33
<Topbar.UserMenuItem disabled>John Doe 2</Topbar.UserMenuItem>34
</Topbar.UserMenuGroup>36
<Topbar.UserMenuDivider />38
<Topbar.UserMenuItem>Sair</Topbar.UserMenuItem>42
<Sidebar currentLocation={location.pathname}>43
<Item href='/agendamento'>Resumo</Item>45
<Group label='Agendamento'>46
<Item as={NavLink} to='/agendamento'>49
<Item as={NavLink} to='/agendamento'>52
<Item as={NavLink} to='/agendamento'>57
<Item disabled>Marketplace</Item>
prop | tipo | obrigatório | padrão | descrição |
---|
logo | url | false | - | Url para o logo padrao. |
logoMobile | url | false | - | Url para o logo na versão mobile. |
currentApplication | string | false | - | Aplicação que está sendo usada, para marcar no menu de apps |
user | object | false | - | Se existe um usuário logado, sem ele não terá o menu User |
prop | tipo | obrigatório | padrão | descrição |
---|
icon | ReactNode | true | - | Icone, tamanho ideal 25 |
label | string | false | - | |
isActive | boolean | false | false | Se o icone deve manter o estado de pressionado/ativo |
onClick | function | false | - | |
prop | tipo | obrigatório | padrão | descrição |
---|
icon | ReactNode | true | - | Icone, tamanho ideal 25 |
children | string | false | - | Deve ser uma string |
disabled | boolean | false | - | |
onClick | function | false | - | |
prop | tipo | obrigatório | padrão | descrição |
---|
label | string | true | - | |
children | ReactNode | true | - | |
prop | tipo | obrigatório | padrão | descrição |
---|
currentLocation | string | false | - | Caminho de localização atual (pathname). |
prop | tipo | obrigatório | padrão | descrição |
---|
as | React.ElementType | false | - | Componente que envolve o item. |
any | any | false | - | Qualquer prop que o as receba |
isActive | boolean | false | false | Irá usar o currentLocation fornecido para tentar ver se está ativo ou não |
tabIndex | number | false | - | |
disabled | boolean | false | - | |
onClick | function | false | - | |
prop | tipo | obrigatório | padrão | descrição |
---|
label | React.ReactNode | false | - | - |
tabIndex | number | false | - | |
prop | tipo | obrigatório | padrão | descrição |
---|
disablePadding | boolean | false | - | Remove o padding |