Sidebar

O componente Sidebar é um conteiner flutuante grande que entra na página desde os cantos. Nos permite apresentar ações, forms ou seções com muita informação sobre o contexto da página.

import React, { useState } from "react";
import { Box, Sidebar, Text, Button } from "@nimbus-ds/components";

const Example: React.FC = () => {
  const [open, setOpen] = useState(false);
  const toggleOpen = () => setOpen((prevState) => !prevState);

  return (
    <>
      <Button onClick={toggleOpen}>Open</Button>
      <Sidebar open={open} onRemove={toggleOpen}>
        <Box
          alignItems="center"
          borderColor="neutral-interactive"
          borderStyle="dashed"
          borderWidth="1"
          boxSizing="border-box"
          display="flex"
          height="100%"
          justifyContent="center"
          padding="2"
        >
          <Text fontSize="base" textAlign="center">
            Replace me with your content
          </Text>
        </Box>
      </Sidebar>
    </>
  );
};

export default Example;

O componente é composto por um fundo translúcido a tela completa e um conteiner flutuante que ocupa toda a altura da tela e uma largura fixa, com sombra e um padding opcional.

No desktop tem uma largura fixa e ocupa o alto completo, no mobile ocupa a tela completa.

Usamos o Sidebar para apresentar ações, diálogos ou formularios que abrem sobre o contexto da página, quando eles são muito longos para usar num Modal, mas a informação é o suficientemente relevante para não navegar para outra página.

Apesar de ser um componente flutuante, ele bloqueia parcialmente a vista do fundo, porém deve ser usado com moderação.

  • Criar um menu para um aplicativo
  • Apresentar uma lista de filtros com muitas opções
  • Apresentar uma lista interativa com muitas entradas e um buscador
  • Modal - É um elemento flutuante que nos permite apresentar ações ou mensagems de confirmação breves para o usuario.
  • Popover - É um elemento flutuante que pode ser usado para apresentar informações ou ações de forma não intrusiva.

Instale o componente via terminal.

npm install @nimbus-ds/sidebar

Additional props are passed to the <Sidebar> element. See div docs for a list of props accepted by the <Sidebar> element.