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 🙏

© 2025 – Pkg Stats / Ryan Hefner

vwapp-react-components

v3.6.5

Published

Componentes bootstrap usando react.

Downloads

23

Readme

vwapp-react-components

Componentes customizados usando o bootstrap4 de forma mais legivel em react.

Os componentes de formulário foram passados para a lib: vwapp-react-form

NPM JavaScript Style Guide

Instalação.

npm install --save vwapp-react-components

Uso

import React, { Fragment } from 'react';
import { FlexContainer, FlexItem as Box, Line, BreakLine } from 'vwapp-react-components';
import styled from 'styled-components';

const FlexItem = styled(Box)`
  background-color: green;
  text-align: center;
  margin: 10px;
  padding: 5px;
`

export default () => (
  <Fragment>
    <FlexContainer reverse direction="row" justify="center" align="center" className="bg-dark" style={{height: "200px"}}>
      <FlexItem>01</FlexItem>
      <FlexItem>02</FlexItem>
    </FlexContainer>
    <Line />
    <FlexContainer wrap direction="col" justify="center" align="stretch" className="bg-dark" style={{height: "200px"}}>
      <FlexItem>01</FlexItem><FlexItem>02</FlexItem><FlexItem>03</FlexItem><FlexItem>04</FlexItem><FlexItem>05</FlexItem>
      <FlexItem>06</FlexItem><FlexItem>07</FlexItem><FlexItem>08</FlexItem><FlexItem>09</FlexItem><FlexItem>10</FlexItem>
      <FlexItem>11</FlexItem><FlexItem>12</FlexItem><FlexItem>13</FlexItem><FlexItem>14</FlexItem><FlexItem>15</FlexItem>
      <FlexItem>16</FlexItem><FlexItem>17</FlexItem><FlexItem>18</FlexItem><FlexItem>19</FlexItem><FlexItem>20</FlexItem>
      <FlexItem>21</FlexItem><FlexItem>22</FlexItem><FlexItem>23</FlexItem><FlexItem>24</FlexItem><FlexItem>25</FlexItem>
      <FlexItem>26</FlexItem><FlexItem>27</FlexItem><FlexItem>28</FlexItem><FlexItem>29</FlexItem><FlexItem>30</FlexItem>
    </FlexContainer>
    <Line />
    <FlexContainer direction="row" justify="center" align="stretch" className="bg-dark" style={{height: "200px"}}>
      <FlexItem order="3" length="100px">01</FlexItem>
      <FlexItem grow order="2" align="center">02</FlexItem>
      <FlexItem grow order="0">03</FlexItem>
      <FlexItem shrink order="1">04</FlexItem>
      <FlexItem grow order="4">05</FlexItem>
    </FlexContainer>
    <BreakLine />
  </Fragment>
);

Documentação

Além das propriedades especificas de cada componente, também pode ser inserido outras propriedades como: id, className, ...

1. Flexbox

Componentes para facilitar o uso do flexbox.

1

2

3

Componentes

  • FlexContainer
  • FlexItem

Propriedades (FlexContainer)

As imagens estão organizados em direction row, col, e wrap respectivamente. Exceção do atributo wrap que ta organizado em false e true.

  • as: Substitui a tag padrão (<div>) do component, por exemplo, <FlexContainer as="ul">.

  • direction: Empilha os itens horizontalmente ou verticalmente, ou seja, da esquerda para a direita ou de cima para baixo. (String - padrão: "row" - css: flex-direction).

    • row: Empilha os itens horizontalmente, ou seja, da esquerda para a direita.

      direction row

    • col: Empilha os itens verticalmente, ou seja, de cima para baixo.

      direction col

  • wrap: Faz com que os itens ao chegar no limite passe para a próxima linha ou coluna. (Booleano - padrão: false - css: flex-wrap)

    nowrap nowrap

    wrap wrap

  • reverse: Inverte a ordem dos itens definidas no atributo "direction" ou "wrap". Ele também inverte o alinhamento do atributo "justify" (Booleano - padrão: false - css: flex-direction e flex-wrap).

    row reverse row

    col reverse col

    wrap reverse wrap

  • justify: Alinha todos os itens do container verticalmente (col) ou horizontalmente (row). (String - padrão: "initial" - css: justify-content).

    • start: Alinha os itens no começo.

      row start row

      col start col

    • end: Alinha os itens no final.

      row end row

      col end col

    • center: Alinha os itens no centro.

      row center row

      col center col

    • space-around: Alinha os itens com espaçamentos ao redor deles.

      row space-around row

      col space-around col

    • space-between: Alinha os itens com espaçamentos entre eles.

      row space-between row

      col space-between col

  • align: Alinha todos os itens do container verticalmente (row) ou horizontalmente (col). (String - padrão: "initial" - css: align-items ou align-content). O "align-content" é ativado se o container tiver o atributo "wrap" setado nele, ou seja, ele alinha os conjuntos de itens como um todo. Caso contrário é ativado o "align-items" que alinha os itens separadamente.

    • start: Alinha os itens no começo.

      row start row

      col start col

    • end: Alinha os itens no final.

      row end row

      col end col

    • center: Alinha os itens no centro.

      row center row

      col center col

    • stretch: Preenche os itens no container.

      row stretch row

      col stretch col

    • baseline: Alinha os itens tendo como base seu texto. Só funciona com o wrap não setado. css: "align-items".

      row baseline row

      col baseline col

    • space-around: Alinha os itens com espaçamentos ao redor deles. Só funciona com o wrap setado. css: "align-content".

      row space-around row

      col space-around col

    • space-between: Alinha os itens com espaçamentos entre eles. Só funciona com o wrap setado. css: "align-content".

      row space-between row

      col space-between col

Propriedades (FlexItem)

  • order: Ordena os itens da forma que for inserido. Só é aceito valores de 1-12 e todos os itens devem ser preenchidos. Ou seja, a lista de itens só pode ter no máximo 12 itens. (String - Opcional - css: order)

    order

  • grow: Faz o item crescer proporcionalmente em relação aos demais, preenchendo a linha. (Booleano - default: false - css: flex-grow)

    grow

  • shrink: Não deixe o item diminuir tanto quanto os outros itens. (Booleano - default: false - css: flex-shrink)

    shrink

  • length: Configura um tamanho inicial para o item em pixels. (String - Opcional - css: flex-basis).

    length

  • align: Especifica o alinhamento do item selecionado dentro do conteiner. A propriedade substitui o alinhamento do atributo "align" definido no container. (String - Opcional - css: align-self).

    • start: Alinha o item no começo.

      start

    • end: Alinha o item no final.

      end

    • center: Alinha o item no centro.

      center

    • stretch: Preenche o item no container.

      stretch

    • baseline: Alinha o item tendo como base seu texto.

      start

Exemplo

<FlexContainer reverse direction="row" justify="center" align="space-around">
  <FlexItem>01</FlexItem>
  <FlexItem>02</FlexItem>
</FlexContainer>

<FlexContainer wrap direction="col" justify="center" align="stretch">
  <FlexItem>01</FlexItem><FlexItem>02</FlexItem><FlexItem>03</FlexItem><FlexItem>04</FlexItem><FlexItem>05</FlexItem><FlexItem>06</FlexItem><FlexItem>07</FlexItem><FlexItem>08</FlexItem><FlexItem>09</FlexItem><FlexItem>10</FlexItem><FlexItem>11</FlexItem><FlexItem>12</FlexItem><FlexItem>13</FlexItem><FlexItem>14</FlexItem><FlexItem>15</FlexItem><FlexItem>16</FlexItem><FlexItem>17</FlexItem><FlexItem>18</FlexItem><FlexItem>19</FlexItem><FlexItem>20</FlexItem><FlexItem>21</FlexItem><FlexItem>22</FlexItem><FlexItem>23</FlexItem><FlexItem>24</FlexItem><FlexItem>25</FlexItem><FlexItem>26</FlexItem><FlexItem>27</FlexItem><FlexItem>28</FlexItem><FlexItem>29</FlexItem><FlexItem>30</FlexItem>
</FlexContainer>

<FlexContainer direction="row" justify="center" align="stretch">
  <FlexItem order="3" length="100px">01</FlexItem>
  <FlexItem grow order="2" align="center">02</FlexItem>
  <FlexItem grow order="0">03</FlexItem>
  <FlexItem shrink order="1">04</FlexItem>
  <FlexItem grow order="4">05</FlexItem>
</FlexContainer>
);

2. Pagination

Componentes relacionados a criação de paginações.

Componentes

  • Pagination

Propriedades especificas:

  • totalItens: Total de itens que será paginado. (Inteiro - obrigatório)

  • activePage: Página ativa pelo usuário na função handlePagination. (Inteiro - obrigatório)

  • itemPerPage: Quantidade de itens que aparecerá por páginas. (Inteiro - default 20)

  • pageRange: Quantidade de páginas que irá aparecer no componente de cada vez. (Inteiro - default 5)

  • firstPageText: Título ou Icone que ao clicar vai voltar para a primeira página. (String - default "Primeiro")

  • lastPageText: Título ou Icone que ao clicar vai redirecionar para a última página. (String - default "Último")

  • prevPageText: Título ou Icone que ao clicar vai voltar para a página anterior. (String - default "<<")

  • nextPageText: Título ou Icone que ao clicar vai avançar para a próxima página. (String - default ">>")

  • handlePagination: Função que irá tratar a paginação. (Função - Obrigatório).

Exemplo:

<Pagination
  totalItens={60}
  itemPerPage={20}
  activePage={this.state.activePage}
  handlePagination={this.__handlePagination}
/>

Contribuir

1. Como rodar o ambiente de desenvolvimento:

Rode os dois comandos abaixo em 2 abas diferentes. O primeiro comando vai ficar observando modificações do seu pacote e o segundo comando consome essas modificações no html.

No diretorio raiz rode o npm start

npm start

No diretorio example rode o npm start.

cd example
npm start

2. Como instalar ou remove um pacote.

Para instalar um novo pacote tem que fazer o seguinte comando:

npm install --save-dev nome-do-pacote

Com ele instalado tem que coloca-lo no package.json

"dependencies": {
  "nome-do-pacote": "^versao",
  "...": "..."
},
"peerDependencies": {
  "nome-do-pacote": "^versao",
  "...": "..."
}

Com isso, teste se esse pacote está sendo utilizado, caso não rode o npm install e reinicie os servidores.

3. Publicar no npmjs

  1. Crie uma conta no https://www.npmjs.com/
  2. Execute no terminal npm login e logar com as credenciais criadas no npmjs
  3. Execute npm publish na pasta do projeto
  4. E então use em outros projetos!

4. Publicar documentação github pages

Rode o comando para criar uma pagina com a build do projeto example do seu repositório.

npm run deploy

5. Atualizando um projeto.

Versões: MAJOR.MINOR.PATCH

  • MAJOR: Versão em que fizeste modificações incompatives com versões anteriores, ou seja, que irá quebrar algo anteriormente feito.
  • MINOR: Quando você adicionar funcionalidades que são compativeis com versões anteriores.
  • PATCH: Correções de erros/bugs compativeis com versões anteriores.

Licença

MIT © VictorDeon

Criado a partir do pacote: Create React Library