2.1.20 • Published 6 years ago

react-atenas-components v2.1.20

Weekly downloads
7
License
ISC
Repository
bitbucket
Last release
6 years ago

React Atenas Components

Esta biblioteca possui os componentes utilizados em projetos da Atenas Software.

Utilização:

Instale através do npm:

npm install react-atenas-components

Button

Button

import { Button } from "react-atenas-components";

class App extends React.Component {
  onClick = () => {
    window.alert("Clicado");
  };

  render() {
    return (
      <div className="App">
        <h2>Botão</h2>
        <Button disabled={false} onClick={this.onClick}>
          Botão
        </Button>
      </div>
    );
  }
}

Edit Button

Props

onClick, children, className, disabled

PropsDescrição
onClickFunção do evento ao pressionar o botão
childrenO conteúdo do botão
classNameClasses adicionais a adicionar no botão
disabledBooleano que descreve se o botão está desabilitado ou não
iconIcone do font-awesome do botão

CheckBox

CheckBox

import { CheckBox } from "react-atenas-components";

class App extends React.Component {
  state = {
    teste1: true,
    teste2: false
  };

  checkEm = (event, nome) => {
    this.setState({
      [nome]: event.target.checked
    });
  };

  render() {
    return (
      <div className="App">
        <h2>CheckBox</h2>
        <CheckBox
          onChange={e => this.checkEm(e, "teste1")}
          value={this.state.teste1}
          name="teste1"
          titulo="CheckBox de Teste"
        />
        <CheckBox
          onChange={e => this.checkEm(e, "teste2")}
          value={this.state.teste2}
          name="teste2"
          titulo="CheckBox de Teste"
        />
      </div>
    );
  }
}

Edit CheckBox

Props

PropsDescrição
nameIdentificador único do componente
onClickFunção que define a ação a ser efetuada quando o botão for clicado
classNameClasse adicional a ser passada para o componente
tituloNome exibido do componente

DropDown

DropDown

import { DropDown } from "react-atenas-components";

class App extends React.Component {
  render() {
    return (
      <div className="App">
        <h2>Botão</h2>
        <DropDown title="Opções">
          <ul>
            <li>teste</li>
            <li>teste</li>
            <li>teste</li>
            <li>teste</li>
            <li>teste</li>
            <li>teste</li>
            <li>teste</li>
            <li>teste</li>
          </ul>
        </DropDown>
      </div>
    );
  }
}

Edit DropDown

PropsDescrição
titletítulo do botão

InputDate

InputDate

import { InputDate } from "react-atenas-components";

class App extends React.Component {
  state = {
    date: new Date()
  };

  onChange = (e, filtro) => {
    this.setState({
      [filtro]: e.target.value
    });
    alert(e.target.value);
  };

  render() {
    return (
      <div className="App">
        <h2>InputDate</h2>
        <InputDate
          filtro="date"
          label="Teste"
          onChange={this.onChange}
          value={this.state.value}
        />
      </div>
    );
  }
}

Edit InputDate

PropsDescrição
filtroidentificador unico do input
labeltexto a ser exibido no label do input
onChangeevento de mudança de valor
valuevalor do input

Modal

Modal

import { Button, Modal } from "react-atenas-components";

class App extends React.Component {
  state = {
    open: false
  };

  onToggle = async () => {
    await this.setState({ open: !this.state.open });
  };

  render() {
    return (
      <div className="App">
        <h2>Modal</h2>
        <Button onClick={this.onToggle}>
          Abrir Modal
        </Button>
        <Modal open={this.state.open} onClose={this.onToggle}>
          <div>
            <h3>teste</h3>
            <p>
              Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
              eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
              enim ad minim veniam, quis nostrud exercitation ullamco laboris
              nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
              reprehenderit in voluptate velit esse cillum dolore eu fugiat
              nulla pariatur. Excepteur sint occaecat cupidatat non proident,
              sunt in culpa qui officia deserunt mollit anim id est laborum.
            </p>
          </div>
        </Modal>
      </div>
    );
  }
}

Edit Modal

PropsDescrição
openbooleano que define se o modal está aberto ou não
onClosecallback para fechar o modal

Select

Select

import { Select } from "react-atenas-components";

class App extends React.Component {
  state = {
    selected: null
  };

  onChange = (val) => {
    this.setState({
      selected: val
    })
  };

  render() {
    const options = [
      {
        value: 1,
        label: "Option 1"
      },
      {
        value: 2,
        label: "Option 2"
      },
      {
        value: 3,
        label: "Option 3"
      },
      {
        value: 4,
        label: "Option 4"
      }
    ]

    return (
      <div className="App">
        <h2>Select</h2>
        <Select
          options={options}
          filtro="select1"
          label="Select 1"
          onChange={this.onChange}
          value={this.state.selected}
          required={false}
          line={false}
        />
      </div>
    );
  }
}

Edit Select

PropsDescrição
optionsOpções da seleção (devem ser objetos com campos value e label)
filtroidentificador único do select
labellabel do input
onChangecallback de mudança do valor
valueValor do input
requiredSe for verdadeiro o select não permite selecionar um valor indefinido
linese o label fica na mesma linha ou fica acima do input

SelectList

SelectList

import { SelectList } from "react-atenas-components";

class App extends React.Component {
  state = {
    select1: null
  };

  onChange = (filtro, val) => {
    this.setState({
      [filtro]: val
    });
  };

  render() {
    const options = [
      {
        count: 25,
        value: "Opção 1"
      },
      {
        count: 2,
        value: "Opção 2"
      },
      {
        count: 13,
        value: "Opção 3"
      },
      {
        count: 6,
        value: "Opção 4"
      },
      {
        count: 10,
        value: "Opção 5"
      },
      {
        count: 10,
        value: "Opção 6"
      },
      {
        count: 10,
        value: "Opção 7"
      },
      {
        count: 10,
        value: "Opção 8"
      }
    ];

    return (
      <div className="App">
        <h2>Select</h2>
        <SelectList
          onSelectFiltro={this.onChange}
          filtro="select1"
          selecionado={this.state.select1}
          list={options}
        />
      </div>
    );
  }
}

Edit SelectList

PropsDescrição
onSelectFiltroCallback quando um item é clicado
filtroIdentificador único da lista
selecionadoValor selecionado da lista
listlista de opções com objetos com campos value e count

Table

Table

import { Table } from "react-atenas-components";

class App extends React.Component {
  state = {
    select1: null
  };

  onChange = (filtro, val) => {
    this.setState({
      [filtro]: val
    });
  };

  render() {
    const options = [
      {
        count: 25,
        value: "Opção 1"
      },
      {
        count: 2,
        value: "Opção 2"
      },
      {
        count: 13,
        value: "Opção 3"
      },
      {
        count: 6,
        value: "Opção 4"
      },
      {
        count: 10,
        value: "Opção 5"
      },
      {
        count: 10,
        value: "Opção 6"
      },
      {
        count: 10,
        value: "Opção 7"
      },
      {
        count: 10,
        value: "Opção 8"
      }
    ];

    const columns = [
      { label: 'Contagem', key: 'count', width: '40%' },
      // { label: 'Valor Dinheiro', key: 'value', width: '30%', format: 'money' },
      { label: 'Valor', key: 'value', width: '30%' },
    ]

    return (
      <div className="App" style={{ flexDirection: 'column', display: 'flex', minHeight: '300px', justifyContent: 'stretch' }}>
        <h2>Table</h2>
        <Table
          list={options}
          columns={columns}
        />
      </div>
    );
  }
}

Edit Table

Columns Prop

Columns PropDescrição
labeldescrição no header da coluna
titleHint que aparece ao deixar o mouse sobre a coluna
keychave do valor na lista
widthlargura da coluna
callbackcallback ao editar a coluna (se for editável)
idKeyidentificador da linha sendo alterada
typetipo do input (se for editável) (pode ser 'number', 'text', 'date', 'datetime-local', 'email', 'month' e 'checkbox')
rendercalback de render que sobrescreve o que é exibido na coluna
formatformatação especial da coluna ('date', 'boolean', money)
filterfiltro gerado automaticamente com os dados da coluna ('select', 'date')
PropsDescrição
columnslista de colunas como descrito acima
listlista de elementos a serem exibidos
printablese verdadeiro, exibe um botão para imprimir os dados da tabela
renderHeader(se printable for verdadeiro) header a ser exibido na impressão
serversidese verdadeiro a pesquisa requer um callback e um valor para funcionar do lado do servidor
searchCallbackcallback de pesquisa
searchValuevalor da pesquisa
loadingexibe status de carregamento no final da lista (true/false)
onScrollEndcallback ao atingir o final da lista

Loading

Loading

import { Loading } from "react-atenas-components";

class App extends React.Component {
  render() {
    return (
      <div className="App">
        <h2>Loading</h2>
        <Loading message="Carrengando as paradas ae" />
      </div>
    );
  }
}

Edit Loading

PropsDescrição
messageMensagem opcional que aparece acima do icone de carregamento

SearchBar

import { SearchBar } from "react-atenas-components";

class App extends React.Component {
  state = {
    search: ""
  };

  onType = e => {
    this.setState({
      search: e.target.value
    });
  };

  render() {
    return (
      <div className="App">
        <h2>Loading</h2>
        <SearchBar
          searchCallback={this.onType}
          value={this.state.search}
          placeholder="Digite aqui para pesquisar"
          small={false}
        />
      </div>
    );
  }
}

Edit SearchBar

PropsDescrição
searchCallbackcallback ao digitar na barra
valuevalor do campo
placeholderplaceholder exibido quando a barra está vazia
smallse verdadeiro mostra uma barra menor

Slider

Slider

import { Slider } from "react-atenas-components";

class App extends React.Component {
  state = {
    slider: 100
  };

  checkEm = (event, nome) => {
    this.setState({
      [nome]: event.target.checked
    });
  };

  render() {
    return (
      <div className="App">
        <h2>Slider</h2>
        <Slider
          min={80}
          max={120}
          value={this.state.slider}
          onChange={slider => this.setState({ slider })}
          onMouseUp={slider => this.setState({ slider })}
        />
      </div>
    );
  }
}

Edit Slider

PropsDescrição
minValor mínimo do Slider
maxValor máximo do Slider
valueValor atual do Slider
onChangeCallback do evento de movimentação do slider
onMouseUpCallback do evento de "Soltar o slider"

Tabs

Tabs

import { Tabs } from "react-atenas-components";

class App extends React.Component {
  state = {
    slider: 100
  };

  checkEm = (event, nome) => {
    this.setState({
      [nome]: event.target.checked
    });
  };

  render() {
    return (
      <div className="App">
        <h2>Slider</h2>
        <Tabs>
          <div label="Aba 1">
            <ul>
              <li>item 1</li>
              <li>item 2</li>
            </ul>
          </div>
          <div label="Aba 2">
            <ul>
              <li>asdfasdf</li>
              <li>asdfadsfasdf</li>
            </ul>
          </div>
          <div label="Aba 3">Batata</div>
        </Tabs>
      </div>
    );
  }
}

Edit Tabs

Os filhos do componente Tabs devem ser div que contém uma prop label, esta prop é utilizada para o título da aba

Input

import { Input } from "react-atenas-components";

class App extends React.Component {
  state = {
    text: ""
  };

  onType = e => {
    this.setState({
      text: e.target.value
    });
  };

  render() {
    return (
      <div className="App">
        <h2>Loading</h2>
        <Input
          searchCallback={this.onType}
          value={this.state.text}
          placeholder="Placeholder"
        />
      </div>
    );
  }
}
PropsDescrição
searchCallbackcallback ao digitar no input
valuevalor do campo
placeholderplaceholder exibido quando o input está vazio
smallse verdadeiro mostra uma barra menor
iconIcone do lado esquerdo
2.1.20

6 years ago

2.1.19

6 years ago

2.1.18

6 years ago

2.1.17

6 years ago

2.1.16

6 years ago

2.1.15

6 years ago

2.1.14

6 years ago

2.1.13

6 years ago

2.1.12

6 years ago

2.1.11

6 years ago

2.1.10

6 years ago

2.1.9

6 years ago

2.1.8

6 years ago

2.1.7

6 years ago

2.1.6

6 years ago

2.1.5

6 years ago

2.1.4

6 years ago

2.1.3

6 years ago

2.1.2

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.213

6 years ago

2.0.212

6 years ago

2.0.211

6 years ago

2.0.210

6 years ago

2.0.209

6 years ago

2.0.208

6 years ago

2.0.207

6 years ago

2.0.206

6 years ago

2.0.205

6 years ago

2.0.204

6 years ago

2.0.203

6 years ago

2.0.202

6 years ago

2.0.201

6 years ago

2.0.200

6 years ago

2.0.199

6 years ago

2.0.198

6 years ago

2.0.197

6 years ago

2.0.196

6 years ago

2.0.195

6 years ago

2.0.194

6 years ago

2.0.193

6 years ago

2.0.192

6 years ago

2.0.191

6 years ago

2.0.190

6 years ago

2.0.189

6 years ago

2.0.188

6 years ago

2.0.187

6 years ago

2.0.186

6 years ago

2.0.185

6 years ago

2.0.184

6 years ago

2.0.183

6 years ago

2.0.182

6 years ago

2.0.181

6 years ago

2.0.180

6 years ago

2.0.179

6 years ago

2.0.178

6 years ago

2.0.177

6 years ago

2.0.176

6 years ago

2.0.175

6 years ago

2.0.174

6 years ago

2.0.173

6 years ago

2.0.172

6 years ago

2.0.171

6 years ago

2.0.170

6 years ago

2.0.169

6 years ago

2.0.168

6 years ago

2.0.167

6 years ago

2.0.166

6 years ago

2.0.164

6 years ago

2.0.163

6 years ago

2.0.162

6 years ago

2.0.161

6 years ago

2.0.160

6 years ago

2.0.159

6 years ago

2.0.158

6 years ago

2.0.157

6 years ago

2.0.156

6 years ago

2.0.155

6 years ago

2.0.154

6 years ago

2.0.153

6 years ago

2.0.152

6 years ago

2.0.151

6 years ago

2.0.150

6 years ago

2.0.149

6 years ago

2.0.148

6 years ago

2.0.147

6 years ago

2.0.146

6 years ago

2.0.145

6 years ago

2.0.144

6 years ago

2.0.143

6 years ago

2.0.142

6 years ago

2.0.141

6 years ago

2.0.140

6 years ago

2.0.139

6 years ago

2.0.138

6 years ago

2.0.137

6 years ago

2.0.136

6 years ago

2.0.135

6 years ago

2.0.134

6 years ago

2.0.133

6 years ago

2.0.130

6 years ago

2.0.129

6 years ago

2.0.128

6 years ago

2.0.127

6 years ago

2.0.126

6 years ago

2.0.125

6 years ago

2.0.124

6 years ago

2.0.123

6 years ago

2.0.122

6 years ago

2.0.121

6 years ago

2.0.120

6 years ago

2.0.119

6 years ago

2.0.118

6 years ago

2.0.117

6 years ago

2.0.116

6 years ago

2.0.115

6 years ago

2.0.114

6 years ago

2.0.113

6 years ago

2.0.112

6 years ago

2.0.111

6 years ago

2.0.110

6 years ago

2.0.109

6 years ago

2.0.108

6 years ago

2.0.107

6 years ago

2.0.106

6 years ago

2.0.104

6 years ago

2.0.103

6 years ago

2.0.102

6 years ago

2.0.101

6 years ago

2.0.100

6 years ago

2.0.99

6 years ago

2.0.98

6 years ago

2.0.97

6 years ago

2.0.96

6 years ago

2.0.95

6 years ago

2.0.94

6 years ago

2.0.93

6 years ago

2.0.92

6 years ago

2.0.91

6 years ago

2.0.90

6 years ago

2.0.89

6 years ago

2.0.88

6 years ago

2.0.87

6 years ago

2.0.86

6 years ago

2.0.85

6 years ago

2.0.84

6 years ago

2.0.83

6 years ago

2.0.82

6 years ago

2.0.81

6 years ago

2.0.80

6 years ago

2.0.79

6 years ago

2.0.77

6 years ago

2.0.76

6 years ago

2.0.75

6 years ago

2.0.74

6 years ago

2.0.73

6 years ago

2.0.72

6 years ago

2.0.71

6 years ago

2.0.70

6 years ago

2.0.68

6 years ago

2.0.67

6 years ago

2.0.66

6 years ago

2.0.65

6 years ago

2.0.64

6 years ago

2.0.63

6 years ago

2.0.62

6 years ago

2.0.61

6 years ago

2.0.60

6 years ago

2.0.59

6 years ago

2.0.58

6 years ago

2.0.57

6 years ago

2.0.56

6 years ago

2.0.55

6 years ago

2.0.54

6 years ago

2.0.53

6 years ago

2.0.52

6 years ago

2.0.51

6 years ago

2.0.50

6 years ago

2.0.49

6 years ago

2.0.48

6 years ago

2.0.47

6 years ago

2.0.46

6 years ago

2.0.45

6 years ago

2.0.44

6 years ago

2.0.43

6 years ago

2.0.42

6 years ago

2.0.41

6 years ago

2.0.40

6 years ago

2.0.39

6 years ago

2.0.38

6 years ago

2.0.37

6 years ago

2.0.36

6 years ago

2.0.35

6 years ago

2.0.34

6 years ago

2.0.33

6 years ago

2.0.32

6 years ago

2.0.31

6 years ago

2.0.30

6 years ago

2.0.29

6 years ago

2.0.28

6 years ago

2.0.27

6 years ago

2.0.26

6 years ago

2.0.25

6 years ago

2.0.24

6 years ago

2.0.23

6 years ago

2.0.22

6 years ago

2.0.21

6 years ago

2.0.20

6 years ago

2.0.19

6 years ago

2.0.18

6 years ago

2.0.17

6 years ago

2.0.16

6 years ago

2.0.15

6 years ago

2.0.14

6 years ago

2.0.13

6 years ago

2.0.12

6 years ago

2.0.11

6 years ago

2.0.10

6 years ago

2.0.9

6 years ago

2.0.8

6 years ago

2.0.7

6 years ago

2.0.6

6 years ago

2.0.5

6 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.1.28

6 years ago

1.1.27

6 years ago

1.1.26

6 years ago

1.1.25

6 years ago

1.1.24

6 years ago

1.1.23

6 years ago

1.1.22

6 years ago

1.1.21

6 years ago

1.1.20

6 years ago

1.1.19

6 years ago

1.1.18

6 years ago

1.1.17

6 years ago

1.1.16

6 years ago

1.1.15

6 years ago

1.1.14

6 years ago

1.1.13

6 years ago

1.1.12

6 years ago

1.1.11

6 years ago

1.1.10

6 years ago

1.1.9

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago