npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

petro-components

v1.0.13

Published

- [Introdução](#introdução) - [Instalação](#instalação) - [Uso](#uso) - [Componentes](#componentes) - [Header](#header) - [Button](#button) - [Card](#card) - [Input](#input) - [Footer](#footer) - [Logo](#logo) - [Loader](#loader)

Downloads

265

Readme

Índice

Introdução

Esta biblioteca oferece uma coleção de componentes React prontos para uso, focados em reaproveitamento de código e usabilidade. Esta documentação aborda como utilizar cada componente, bem como sugestões de uso.

Instalação

Para instalar a biblioteca, execute:

npm install petro-ui-lib

Uso

Após a instalação, você pode importar e utilizar os componentes da seguinte forma:

import { Header, Button } from "petro-ui-lab";

const App = () => (
  <div>
    <Header logoVariant="white">Bem-vindo!</Header>
    <Button color="primary">Clique aqui</Button>
  </div>
);

6. Componentes

### Header

O componente `Header` é usado para renderizar o cabeçalho da aplicação com um logotipo e conteúdo adicional. Ele suporta diferentes variantes de cores para o logotipo.

#### Propriedades

- `children`: O conteúdo a ser exibido dentro do cabeçalho.
- `logoVariant`: Define a variante de cor do logotipo. Opções: `'white'`, `'black'`, `'color'`.

#### Exemplo de Uso

```jsx
<Header logoVariant="white">Meu Site</Header>
```

Button

O componente Button é utilizado para renderizar botões interativos na aplicação. Ele suporta diferentes variantes de cores, estados de carregamento e pode ser desabilitado. O botão é altamente customizável, permitindo o uso em várias situações, como ações primárias, secundárias ou de alerta.

Propriedades

  • children: O conteúdo a ser exibido dentro do botão, geralmente um texto ou ícone.
  • color: Define a cor do botão. Opções: 'primary', 'secondary', 'danger'.
  • disabled: Um booleano que desabilita o botão, tornando-o não interativo. O botão desabilitado também recebe um estilo visual específico.
  • loading: Um booleano que, quando verdadeiro, exibe um indicador de carregamento (Loader) dentro do botão, ocultando o conteúdo original.
  • full: Um booleano que, quando verdadeiro, faz o botão ocupar toda a largura do seu contêiner.
  • onClick: Uma função callback a ser chamada quando o botão é clicado.

Exemplo de Uso

<Button color="primary" onClick={() => alert("Clicado!")}>
  Clique Aqui
</Button>

Observação

Ao passar a propriedade loading, o botão exibirá o indicador de carregamento e desabilitará temporariamente outras interações até que o carregamento seja concluído.

Card

O componente Card é um contêiner flexível que pode ser usado para agrupar conteúdo de forma visualmente destacada. Ele permite customizar suas dimensões e a cor de fundo, tornando-o adequado para uma variedade de layouts e conteúdos.

Propriedades

  • width:
    • Tipo: string
    • Descrição: Define a largura do card. Pode ser especificada em qualquer unidade CSS válida, como px, em, %, etc.
    • Padrão: 'max-content'.
  • height:
    • Tipo: string
    • Descrição: Define a altura do card. Pode ser especificada em qualquer unidade CSS válida.
    • Padrão: 'max-content'.
  • bgColor:
    • Tipo: string
    • Descrição: Define a cor de fundo do card. Pode ser qualquer valor de cor válido no CSS (ex: nome de cor, código HEX, rgb, etc.).
    • Padrão: 'inherit'.
  • children:
    • Tipo: node
    • Descrição: Conteúdo a ser exibido dentro do card, como textos, imagens, ou outros componentes React.

Exemplo de Uso

<Card width="300px" height="200px" bgColor="#f4f4f4">
  <h3>Título do Card</h3>
  <p>Este é o conteúdo do card.</p>
</Card>

Input

O componente Input é um campo de entrada de dados personalizável que pode ser usado para capturar diferentes tipos de informações do usuário. Ele suporta rótulos (labels), placeholders, e pode exibir mensagens de erro para validação.

Propriedades

  • label:
    • Tipo: string
    • Descrição: O rótulo que será exibido acima do campo de entrada. Se não for fornecido, o campo de entrada será renderizado sem rótulo.
    • Padrão: 'max-content'.
  • type:
    • Tipo: string
    • Descrição: Define o tipo do campo de entrada, como text, password, email, etc. Este valor é passado diretamente para o atributo type do elemento <input>.
    • Obrigatório.
  • placeholder:
    • Tipo: string
    • Descrição: Texto exibido dentro do campo de entrada quando ele está vazio, forecendo uma dica do que o usuário deve digitar.
    • Padrão: text.
  • error:
    • Tipo: String
    • Descrição: Mensagem de erro a ser exibia abaixo do campo de mentrada, geralmente sada para validação de formulário. Quando presente, o campo de entrada recebe um estilo diferenciado para indicar o erro.
    • Opcional;.

Exemplo de Uso

<Input type="password" placeholder="Digite sua senha" />

Footer

O componente Footer é um rodapé flexível que pode ser usado para encerrar seções ou páginas da aplicação. Ele permite a inclusão de qualquer conteúdo adicional por meio da propriedade children.

Propriedades

  • children:
    • Tipo: node
    • Descrição: Conteúdo a ser exibido dentro do rodapé, como textos, links, ícones, ou outros componentes React.
    • Opcional.

Exemplo de Uso

<Footer> 2016 - Todos os direitos reservados</Footer>

Logo

O componente Logo é utilizado para exibir o logotipo da aplicação em diferentes variações de cor e orientação. Ele suporta três variantes de cor (black, white, color) e pode ser exibido tanto na orientação horizontal quanto vertical.

Propriedades

  • variant:
    • Tipo: oneOf(['black', 'white', 'color'])
    • Descrição: Define a cor do logotipo. As opções disponíveis são:
      • 'black': Logotipo preto.
      • 'white': Logotipo branco.
      • 'color': Logotipo em cores.
    • Obrigatório.
  • orientation:
    • Tipo: oneOf(['horizontal', 'vertical'])
    • Descrição: Define a orientação do logotipo.
      • 'horizontal': Logotipo na orientação horizontal.
      • 'vertical': Logotipo na orientação vertical.
    • Padrão: 'horizontal'.

Exemplo de Uso

<Logo variant="color" orientation="horizontal" />

Loader

O componente Loader é um indicador de carregamento visual, utilizado para informar ao usuário que uma operação está em andamento. Ele exibe um ícone animado, girando continuamente, simbolizando um estado de espera ou processamento.

Exemplo de Uso

<Loader />