Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
ame-miniapp-components
Advanced tools
Consiste em um pacote de componentes para construção de mini-apps.
Abra o seu terminal e execute o seguinte comando:
npm install miniapp-components
Os componentes precisam ser importados conforme a sua necessidade, veja o exemplo:
import { Image, Text } from 'miniapp-components'
Segue abaixo a lista de componentes, seu guia de utilização e documentação das propriedades.
Utilizado sempre no topo da aplicação, facilita a composição de uma identidade visual padrão.
<Header
title='Loja do Madeira'
description='Uma loja de exemplo'
displaySearch={true}
searchButtonPlaceholder={'Busque o que quiser'}
onSearchClick={this.handleSearchButton.bind(this)}
backgroundImage={'http://lorempixel.com/550/300/food/'}
backgroundColor={'#ff8d00'}
imageLogo={'http://lorempixel.com/400/400/food/'}
/>
title
Uma string para o título do header
description
Uma string para a descrição do header
displaySearch
Exibição da barra de pesquisa
searchButtonPlaceholder
Uma string para auxiliar o usuário com o campo de pesquisa displaySearch
backgroundImage
Uma imagem para o plano de fundo do header
backgroundColor
Uma cor para o plano de fundo do header
A seguinte regra de background é utilizada no parâmetro neste componente:
1º backgroundImage
, 2º backgroundColor
e 3º backgroundImage default
.
backgroundImage default
é a imagem padrão da biblioteca caso nenhuma imagem ou cor seja definida.
Assemelha-se à uma caixa de busca. Executa uma função de chamada de busca no superapp ao ser tocado.
<SearchButton placeholder='Pesquisar' />
placeholder
Uma string para auxiliar o usuário com o campo de pesquisa
Utilizado para a divisão visual de conteúdo.
<Grid
columns={[
<Text>First Content</Text>,
<View>
<Text>Second Content</Text>
<Text>Other content</Text>
</View>
]}
widths={[50, 50]}
/>
columns
Lista dos conteúdos em formato de Array
widths
opcional
Lista da largura percentual de cada item.
Utilizado para a exibição de imagens.
<Image
source={`http://lorempixel.com/300/300/food/`}
round
width={100}
height={'200'}
/>
source
Link da imagem que será exibida
round
Faz a imagem ter a caixa arredondada
width
Largura da imagem | Obrigatório: Sim | Tipo: String (porcentagem) ou Number (pixel)
height
Altura da imagem | Obrigatório: Sim | Tipo: String (porcentagem) ou Number (pixel)
Utilizado sempre para a navegação. Os itens serão transformados em abas.
<TabNavigator
styleButton={{ backgroundColor: '#d9defb' }}
styleContent={{ backgroundColor: '#dce2fb' }}
items={[
{
title: 'Food',
content: <Image source='http://lorempixel.com/500/500/food/1/' />
},
{
title: 'Transport',
content: <Image source='http://lorempixel.com/500/500/transport/1/' />
},
{
title: 'Sports',
content: <Image source='http://lorempixel.com/500/500/sports/1/' />
}
]}
/>
styleButton
Estilização do botão do componente TabNavigator
styleContent
Estilização do conteúdo do componente TabNavigator
items
Lista de itens de conteúdos.
title
Botão para a navegação | Obrigatório: SimisDisable
Recebe um boleano e informa se o conteúdo não será exibido | Obrigatório: Nãocontent
Conteúdo a ser exibido | Obrigatório: SimMínimo de itens: 2 • Máximo de itens: 3
Sendo passado número de itens inferior a 2 ou superior a 3 o componente não é exibido.
Utilizado sempre para exibir um texto.
<Text>"Lorem ipsum dolor sit amet, consectetur adipiscing."</Text>
Texto a ser exibido deverá ser passado dentro da tag Obrigatório: Sim
color
| Tipo: String
Cor do texto
fontFamily
| Tipo: String
Família de fonte do texto
fontSize
| Tipo: String
Tamanho do texto
fontWeight
| Tipo: Number
Peso da fonte do texto
marginTop
Define margin-top do elemento | Tipo: Number
marginBottom
Define margin-bottom do elemento | Tipo: Number
marginLeft
Define margin-left do elemento | Tipo: Number
marginRight
Define margin-right do elemento | Tipo: Number
Utilizado para separar conteúdos.
<Separator
style={{
height: '2px',
background: '#ca2405',
marginTop: '10px',
marginBottom: '10px'
}}
/>
style
Estilização do Separator
Utilizado para exibir títulos (h1, h2, h3, h4, h5 e h6).
<Title
size={2}
fontSize={30}
fontWeight={'bold'}
lineHeight={32}
fontFamily={'serif'}
color={'#c4c4c4'}
marginTop={4}
marginBottom={8}
marginLeft={3}
marginRight={0}>
Título do Title
</Title>
size
Tamanho do título. Caso nenhum tamanho (size
) seja passado por parâmetro o valor padrão será h1
.
fontSize
Tamanho do texto. | Tipo: Number
fontWeight
Densidade do texto. | Tipo: String
lineHeight
Espaçamento de linha. | Tipo: Number
fontFamily
Estilo da fonte | Tipo: String
color
Cor da fonte | Tipo: String
marginTop
Define margin-top do elemento | Tipo: Number
marginBottom
Define margin-bottom do elemento | Tipo: Number
marginLeft
Define margin-left do elemento | Tipo: Number
marginRight
Define margin-right do elemento | Tipo: Number
A seguinte regra de arredondamento é utilizada no parâmetro size
deste componente:
Menor ou igual a x.4 o componente é arredondado para a casa inteira anterior. Exemplo: 3.2 é arredondado para 3.0
Maior ou igual a x.5 o componente é arredondado para a casa inteira posterior. Exemplo: 4.7 é arredondado para 5.0
View padrão.
<View style={{ backgroundColor: '#e7e5e5' }} />
style
Estilização para a view
onClick
Executa uma função | Tipo: Função
disable
Desativa o componente, inserindo opacidade e removendo as ações | Obrigatório: Não | Tipo: Boolean
Botão que ao clicado executa uma ação.
<Button
icon={<Image source="http://lorempixel.com/50/50/food/" />} text={"Texto do botão"} onClick={() ={ console.log("clicou no botão"); }} style={{ color: "red" }} />
icon
Ícone do botão
disable
Informação se o botão é inativo | Obrigatório: Não | Tipo: Boolean
text
Texto do botão | Obrigatório: Sim
onClick
Executa uma função | Obrigatório: Sim | Tipo: Função
style
Estilização do botão
Botão que ao clicado executa uma ação.
<GhostButton
icon={<Image source="http://lorempixel.com/50/50/food/" />} text={"Texto do botão"} onClick={() ={ console.log("clicou no botão"); }} style={{ color: "red" }} />
icon
Ícone do botão
disable
Informação se o botão é inativo | Obrigatório: Não | Tipo: Boolean
text
Texto do botão | Obrigatório: Sim
onClick
Executa uma função | Obrigatório: Sim | Tipo: Função
style
Estilização do botão
Botão que ao clicado executa uma ação.
<SoftButton
icon={<Image source="http://lorempixel.com/50/50/food/" />} text={"Texto do botão"} onClick={() ={ console.log("clicou no botão"); }} style={{ color: "red" }} />
icon
Ícone do botão
disable
Informação se o botão é inativo | Obrigatório: Não | Tipo: Boolean
text
Texto do botão | Obrigatório: Sim
onClick
Executa uma função | Obrigatório: Sim | Tipo: Função
style
Estilização do botão
Botão que ao clicado executa uma ação.
<TextButton
icon={<Image source="http://lorempixel.com/50/50/food/" />} text={"Texto do botão"} onClick={() ={ console.log("clicou no botão"); }} style={{ color: "red" }} />
icon
Ícone do botão
disable
Informação se o botão é inativo | Obrigatório: Não | Tipo: Boolean
text
Texto do botão | Obrigatório: Sim
onClick
Executa uma função | Obrigatório: Sim | Tipo: Função
style
Estilização do botão
Caixa de pesquisa
<SearchButton
placeholder='Pesquisar'
handleClick={this.handleSearchButton.bind(this)}
/>
placeholder
Texto de auxílio ao usuário
handleClick
Ação a ser realizada após o termo da pesquisa ser inserido Obrigatório: Sim
Utilizado para listas de conteúdo.
<Repeater items={itemsForRepeater}>
{
(item = (
<View>
<Text>{item.text}</Text>
</View>
))
}
</Repeater>
items
Itens da lista de conteúdo Obrigatório: Sim
style
Estilização da lista de conteúdo
Utilizado para exibir conteúdo, de acordo com a condição.
<If test={'algum tipo de dado'}>
<Title size={2}>Título do Title</Title>
</If>
test
Tipo de condição a ser testada
Utilizado para exibir um input de alternância.
<Toggle items={tShirtList}
value={tShirtList[0]}
onChange={(e) ={ console.log("Elemento escolhido", e); }}
/>
items
Lista de elementos
value
Texto a ser exibido
onChange
Função executada quando o cliente escolhe uma das opções
Utilizado para a exposição de produtos.
<ProductCard
productName={'Smart TV LED 49" Philco PTV49e68dSWN Full HD...'}
price={1499.32}
conditionPayment={'10x sem juros'}
imageProduct={'http://lorempixel.com/400/400/food/'}
onProuctCardClick={() => console.log('ProductCard test click')}
cardOrientation={'horizontal'}
isDisabled={false}
/>
productName
Identifica e/ou descreve o produto | Tipo: String
price
Exibe o preço do produto | Tipo: Number
conditionPayment
Condição de pagamento | Tipo: String
imageProduct
Endereço onde uma imagem está armazenada | Tipo: String
onProuctCardClick
Recebe uma função para ser executada, em um evento de click sobre o ProductCard | Tipo: Function
cardOrientation
Define a orientação do ProductCard | Tipo: String
vertical
Exibe o ProductCard na verticalhorizontal
Exibe o ProductCard na horizontalisDisabled
| Tipo: Boolean
Define se o ProductCard está ativo
Utilizado para dividir conteúdo em 1 ou mais colunas.
<Grid
columns={[
<Text>First Content</Text>,
<View>
<Text>Second Content</Text>
<Text>Other content</Text>
</View>
]}
widths={[50, 50]}
/>
columns
Conteúdo das colunas | Tipo: Array
widths
Largura de cada coluna | Tipo: Array
Utilizado para emoldurar algum elemento.
<Card bordered weight={2} isDisabled={false}>
<SomeElement>
Segue abaixo a lista de componentes e como utilizálos.
</SomeElement>
</Card>
weight
| Tipo: Number
Densidade da borda
isDisabled
| Tipo: Boolean
Define se o Card está ativo
shadow
| Tipo: Boolean
Adiciona sombra
bordered
| Tipo: Boolean
Adiciona borda
backgroundColor
| Tipo: Boolean
Insere cor de fundo
Utilizado como calendário.
constructor() {
super()
this.state = { date: '' }
this.getValue = this.getValue.bind(this)
}
getValue = (value) => {
this.setState({ date: valor })
}
<DatePicker minDate={"YYYY-MM-DD"}
maxDate={"YYYY-MM-DD"}
isDisabled={false}
getValue={this.getValue}
value={this.state.date}
/>
minDate
| Tipo: String
A menor data aceitável
maxDate
| Tipo: String
A maior data aceitável
isDisabled
| Tipo: Boolean
Define se o DatePicker está ativo
value
| Tipo: String
Perimite definir uma data, pelo componente pai
getValue
| Tipo: Function
A data definida pelo DatePicker pode ser devolvida ao componente pai,
através da função getValue.
Formatos de data aceitos:
YYYY-MM-DD
YYYYMMDD
Utilizado para formatação de preços.
<PriceFormat amount={3298.0} currency={'r$'} size={30} />
amount
| Tipo: Number
Define a quantia
currency
| Tipo: String
Define a moeda da quantia
size
| Tipo: Number
Define o tamanho da font
Utilizado para criar uma linha de detalhes.
const CustomText = ({ title, content }) => (
<View>
<Text fontWeight="bold">{title}</Text>
<Text>{content}</Text>
</View>
)
<TableDetails
contents={[
{
content: <CustomText title={'entrega'} content={'convencional'} />
},
{
content: <CustomText title={'frete'} content={'R$ 5,99'} />
},
{
content: <CustomText title={'prazo'} content={'7 dias'} /> }
]}
/>
contents
| Tipo: Array
É um array de objetos, onde em cada objeto existe uma key content
e o seu valor
é o elemento a ser exibido em uma coluna.
FAQs
Biblioteca de componentes para construção de miniapps ame
The npm package ame-miniapp-components receives a total of 0 weekly downloads. As such, ame-miniapp-components popularity was classified as not popular.
We found that ame-miniapp-components demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.