0.11.0 • Published 10 months ago

ame-miniapp-components-web v0.11.0

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

Ame Mini-App Components Web

Tokens

Bordas

Alguns componentes experimentam o uso de bordas. Você poderá alterar propriedades básicas de borda como espessura ou cor.

borderWidth

Os valores abaixo indicam espessuras de borda, começando da mais fina para a mais grossa:

tokenvalor
none0px
hairline1px
thin2px
thick4px
heavy8px

borderRadius

Abaixo os valores aceitos para arredondamento das bordas

tokenvalor
none0px
micro4px
small8px
medium16px
pill500px
circular50%

borderColor

Veja aqui quais os tokens de corque você pode utilizar no borderColor

Cores

Os padrões de design estabelem que apenas as cores abaixo podem ser utilizadas. As cores são inseridas através dos tokens em componentes que possuem tais propriedades como: borderColor, color, backgroundColor e etc.

Primary

Secondary

Neutral

Feedback

Extras

Espaçamento

Em determinados momentos você precisará de uso de margem, para isso você poderá usar as propriedades descritas abaixo em componentes que aceitam todas ou algumas dessas propriedades.

Valores para propriedades de Margin e Padding

tokenvalores
'none'0px
'quark'4px
'nano'8px
'extra-small'16px
'small'24px
'medium'32px
'large'40px
'extra-large'48px
'big'56px
'display'64px
'huge'80px
'giant'120px
'jumbo'160px
'immense'200px

Flex

As propriedades abaixo afetam como os nós internos de um componente são ajustados ao seu conteúdo. São muito parecidas com as propriedades flex do CSS. Veja abaixo quais são:

Propriedades e Valores

PropriedadeValores Aceitos
direction'row', 'row-reverse', 'column', 'column-reverse'
align'center', 'start', 'end'
justify'center', 'start', 'end', 'between', 'around'
flexWrap'wrap', 'nowrap', 'reverse'
flexNoneboolean

Tipografia

Propriedades e Valores

PropriedadeValores Aceitos
fontSize'quark' (12px), 'nano' (14px), 'extra-small' (16px), 'small' (20px), 'medium'(24px), 'large' (32px), 'extra-large' (40px), 'big' (48px), 'display'(56px), 'huge' (64px), 'giant' (72px), 'jumbo'(80px)
textAlign'left', 'center', 'right', 'justify'
lineHeight'small' (100%), 'medium' (150%), 'large' (200%)
fontWeight'light' (300), 'regular' (400), 'medium' (500), 'bold' (700)

Target

tokenvalores
'heading-display'font-size: '56px'; line-height: 200%; font-weight: 700
'heading-extra-large'font-size: '48px'; line-height: 200%; font-weight: 700
'heading-large'font-size: '40px'; line-height: 200%; font-weight: 700
'heading-medium'font-size: '32px'; line-height: 200%; font-weight: 700
'heading-small'font-size: '24px'; line-height: 200%; font-weight: 700
'title-large'font-size: '32px'; line-height: 150%; font-weight: 700
'title-medium'font-size: '24px'; line-height: 150%; font-weight: 700
'title-small'font-size: '20px'; line-height: 150%; font-weight: 700
'subtitle-large'font-size: '24px'; line-height: 150%; font-weight: 700
'subtitle-medium'font-size: '20px'; line-height: 150%; font-weight: 700
'subtitle-small'font-size: '16px'; line-height: 150%; font-weight: 700
'body-regular'font-size: '16px'; line-height: 150%; font-weight: 400
'body-medium'font-size: '16px'; line-height: 150%; font-weight: 500
'body-bold'font-size: '16px'; line-height: 150%; font-weight: 700
'caption-regular'font-size: '14px'; line-height: 100%; font-weight: 400
'caption-bold'font-size: '14px'; line-height: 100%; font-weight: 700
'disclaimer-regular'font-size: '12px'; line-height: 100%; font-weight: 400
'disclaimer-bold'font-size: '12px'; line-height: 100%; font-weight: 700

Opacidade

Em determinados momentos você pode sentir a necessidade de tornar um elemento um pouco translúcido.

Para isto você deve verificar se o componente presente aceita a propriedade opacity.

opacity

tokenvalores
'trnasparent'0
'semi-transparent'0.16
'light'0.32
'medium'0.4
'intense'0.64
'semiopaque'0.8

Sombras

Tokens e valores

tokenvalores
'level-1'0 4px 8px rgb(28 28 28 / 8%)
'level-2'0 8px 24px rgb(28 28 28 / 16%)
'level-3'0 16px 32px rgb(28 28 28 / 16%)
'level-4'0 16px 48px rgb(28 28 28 / 24%)

Componentes Simples

Accordion

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Componente accordion para exibição de textos no estilo FAQ.

Importante: Este componente ainda não está de acordo com o padrão atual de design system Ame de 2022 e pode estar sujeito à mudanças visuais, de quebra de compatibilidade ou até deixar de existir.

Exemplo

accordion

Utilização

 state = {
    lorem: `Lorem ipsum dolor sit amet consectetur adipisicing elit.
    Reprehenderit doloribus quis magni possimus! Architecto rem
    veritatis est quaerat, ab inventore quidem eaque maxime? Eius
    dolore quod totam vero mollitia saepe! Lorem ipsum dolor sit amet,
    consectetur adipisicing elit. Ipsam ex itaque sint aliquid quae
    vel ea ratione dolores quia blanditiis dolor nihil, in hic
    praesentium temporibus? Iste porro distinctio nisi! Lorem ipsum
    dolor sit amet consectetur adipisicing elit. Fugit sed atque ab ex
    qui ea ullam nisi nemo magni ut maiores mollitia libero corrupti
    cupiditate unde dignissimos, est soluta nesciunt! Lorem ipsum
    dolor sit amet consectetur adipisicing elit. Quo, voluptate et
    dignissimos adipisci sit voluptas vero repellendus accusantium,
    nostrum voluptatum maiores totam quidem ipsum ipsam eius ad
    deserunt facere non!`,
  };
  render() {
    return (
      <View padding='nano'>
        <View direction='column' align='center'>
          <Text fontSize='medium' fontWeight='bold'>
            Componente{' '}
            <Text color='primary' fontSize='medium' fontWeight='bold'>
              Accordion
            </Text>
          </Text>
        </View>
        <Accordion>
          <AccordionItem title='Seguro Celular'>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Quanto Custa?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Qual o tempo minimo de carencia?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Qual o tipo de proteção?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
          </AccordionItem>
          <AccordionItem title='Seguro Casa'>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Quanto Custa?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Qual o tempo minimo de carencia?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Qual o tipo de proteção?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
          </AccordionItem>
          <AccordionItem title='Seguro Pet'>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Quanto Custa?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Qual o tempo minimo de carencia?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
            <View paddingBottom='nano' paddingTop='nano'>
              <Text fontWeight='bold'>Qual o tipo de proteção?</Text>
            </View>
            <Text>{this.state.lorem}</Text>
            <Text>{this.state.lorem}</Text>
          </AccordionItem>
          <AccordionItem title='Novos Seguros'>
            <Accordion>
              <AccordionItem title='Seguro Celular'>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>Quanto Custa?</Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>
                    Qual o tempo minimo de carencia?
                  </Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>Qual o tipo de proteção?</Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
              </AccordionItem>
              <AccordionItem title='Seguro Casa'>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>Quanto Custa?</Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>
                    Qual o tempo minimo de carencia?
                  </Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>Qual o tipo de proteção?</Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
              </AccordionItem>
              <AccordionItem title='Seguro Pet'>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>Quanto Custa?</Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>
                    Qual o tempo minimo de carencia?
                  </Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
                <View paddingBottom='nano' paddingTop='nano'>
                  <Text fontWeight='bold'>Qual o tipo de proteção?</Text>
                </View>
                <Text>{this.state.lorem}</Text>
                <Text>{this.state.lorem}</Text>
              </AccordionItem>
            </Accordion>
          </AccordionItem>
        </Accordion>
      </View>

Propriedades Accordion

PropriedadeDescriçãoTypeDefault
childrenRecebe 1 ou mais componente AccordionItem para ser renderizado dentro do Accordion.componentnullgenerated-doc
disabledDesabilita o Componente.booleanfalse

Propriedades AccordionItem

PropriedadeDescriçãoTypeDefault
titleTítulo de cada seção do Accordionstringnull
childrenConteúdo de cada seção. Pode receber o próprio componente Accordion, para iniciar uma nova cadeia de elementos.componentnull

Ads

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Componente Ads para renderização de anuncios.

ads

Utilização

<Ads
  path='/12345678912/circulo_3'
  size={['fluid', [76, 76]]}
  id={'div-gpt-ad-1234567891234-0'}
/>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
pathValor do path relacionado ao anúncio a ser renderizado.Stringnullsim
sizeTamanho desejado para renderização do anúncio.Arraynullsim
idValor do Id relacionado ao anúncio a ser renderizado.Stringnullsim
targetKeyChave do target usado para segmentacão do anúncio.stringnullNão
targetValueValor do target usado para segmentacão do anúncio.stringnullNão

Animator

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Utilize este componente para exibir animações.

As animações são aceitas no formato JSON (Lottie).

Animações gratuitas podem ser encontradas no site LottieFiles.

Infelizmente, em alguns casos raros, as animações podem não ser renderizadas, isto se dá por falta de compatibilidade ou versão das bibliotecas utilizadas. Estamos investigado para que tudo seja renderizado com eficiência.

Importante: Este componente ainda não está de acordo com o padrão atual de design system Ame de 2022 e pode estar sujeito à mudanças visuais, de quebra de compatibilidade ou até deixar de existir.

Exemplo

animator

Utilização

<Window>
  <Animator animationData={myAnimationJSON}/>
</Window>

Propriedades

PropriedadeDescriçãoTypeDefault
animationDataPropriedade que recebe a animação em JSON Lottie. O utilitário StyleResolver possui um método para obter um JSON de animação padrão para carregamento.JSONnull
widthSeta uma largura para a animação. O tamanho por padrão é 200pxnumber ou stringnull
heightSeta uma altura para a animação. O tamanho por padrão é 200pxnumber ou stringnull

Button

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Exibe um botão na tela. Nesta versão temos apenas um Componente Button para trabalhar.

Exemplo

button-block

Utilização

 <Window>
    <View direction='column' align='center'>
      <Text fontSize='medium' fontWeight='bold'>
        Componente Button
      </Text>

      <View>
        <View marginTop='nano' direction='column' align='center'>
          <Button
            display={false}
            dataCy='button-primary'
            onPress={() =>
              this.setState({ buttonPressText: 'Primary Normal Medium' })
            }
            label="Botão padrão"
            size="medium"
        />
        </View>
      </View>
    </View>
  </Window>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
variantDefine qual será o estilo do botão, as propriedades são 'primary', 'secondary' 'global', 'text' e 'danger'stringprimaryNão
onPressRecebe uma função para ser executada ao pressionarmos o botãofunctionnullSim
labelDefine um texto a ser renderizado no componentestringtrueNão
sizeDefine o tamanho do componente. os valores são: 'medium' e 'small'booleantrueNão
disabledInsere um estilo de desabilitado e inutiliza a função do onPressbooleanfalseNão

Exemplos

Abaixo, alguns tipos de botões:

two-buttons

  <Window>
        <View
          direction="column"
          align="center"
          justify="center"
          marginTop="large"
        >
          <View
            align="center"
            justify="center"
            width="780px"
            backgroundColor="neutral-300"
            padding="large"
            borderRadius="small"
            shadow="level-2"
            direction="column"
          >
            <Text fontSize="medium" textAlign="center">
              Exemplo do componente [b]Button[/b]
            </Text>
            <View
              margin="small"
              width="500px"
              direction="column"
              justify="center"
            >
              <Text fontSize="medium">[b]Primary:[/b]</Text>
              <View
                marginBottom="extra-large"
                marginTop="extra-small"
                justify="around"
              >
                <Button onClick={() => console.log("click")} label="Button" />
                <Button
                  onClick={() => console.log("click")}
                  label="Button"
                  disabled
                />
              </View>
              <Text fontSize="medium">[b]Secondary:[/b]</Text>
              <View
                marginBottom="extra-large"
                marginTop="extra-small"
                justify="around"
              >
                <Button
                  variant="secondary"
                  label="Button Secondary"
                  onClick={() => console.log("click")}
                />

                <Button
                  variant="secondary"
                  label="Button Secondary"
                  onClick={() => console.log("click")}
                  disabled
                />
              </View>
              <Text fontSize="medium">[b]Global:[/b]</Text>
              <View
                marginBottom="extra-large"
                marginTop="extra-small"
                justify="around"
              >
                <Button
                  variant="global"
                  label="Button Global"
                  onClick={() => console.log("click")}
                />
                <Button
                  variant="global"
                  label="Button Global"
                  onClick={() => console.log("click")}
                  disabled
                />
              </View>
              <Text fontSize="medium">[b]Text:[/b]</Text>
              <View
                marginBottom="extra-large"
                marginTop="extra-small"
                justify="around"
              >
                <Button
                  variant="text"
                  label="Button Text"
                  onClick={() => console.log("click")}
                />
                <Button
                  variant="text"
                  label="Button Text"
                  onClick={() => console.log("click")}
                  disabled
                />
              </View>
              <Text fontSize="medium">[b]Danger:[/b]</Text>
              <View
                marginBottom="extra-large"
                marginTop="extra-small"
                justify="around"
              >
                <Button
                  variant="danger"
                  label="Button Secondary"
                  onClick={() => console.log("click")}
                />
                <Button
                  variant="danger"
                  label="Button Secondary"
                  onClick={() => console.log("click")}
                  disabled
                />
              </View>
            </View>
          </View>
        </View>
      </Window>

Carousel

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Componente auxiliar para mostrar conteúdos dentro de um carrossel. Os conteúdos podem ser qualquer estrutura de componente (View, Banner, Card) propriedades.

Importante: Este componente ainda não está de acordo com o padrão atual de design system Ame de 2022 e pode estar sujeito à mudanças visuais, de quebra de compatibilidade ou até deixar de existir.

Exemplo

carrousel

Utilização

Defina uma lista de componentes a serem exibidos, nesse caso colocamos o Text, mas você pode inserir qualquer componente.

<Carousel autoplay>
  <Text>Slide 1</Text>
  <Text>Slide 2</Text>
</Carousel>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
bulletsMostrar indicadores de pontoBooleantruenão
speedVelocidade de animação de slide / fade em milisegundosNumber5000não
autoplayDefine que os slides passem de forma automática.Booleanfalsenão
slidePositionNessa propriedade você pode passar a posição em que o slide deve ser renderizado inicilamente, onde 0 significa a primeira posição.Number0não
lastSlideFunção que retorna true sempre que o último slide estiver sendo exibido.Functionnullnão
firstSlideFunção que retorna true quando o primeiro slide estiver sendo exibido.Functionnullnão
currentSlideFunção que retorna o index do slide que está sendo exibido.Functionnullnão

Chart

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

O grupo de componentes Chart permitem exibir alguns tipos de dados plotados na tela.

Importante: Este componente ainda não está de acordo com o padrão atual de design system Ame de 2022 e pode estar sujeito à mudanças visuais, de quebra de compatibilidade ou até deixar de existir.

Chart.Bar

Utilizado para mostrar dados em um gráfico de barras.

Exemplo

chartbar

Utilização

 state = {
       labels: ['Janeiro', 'Fevereiro', 'Março','Abril', 'Maio', 'Junho'],
       dataOptions:[
        {
            label:"Prata",
            data: [10, 20, 30, 40, 30, 15],
            color: '#c0c0c0',
          },
          {
            label:"Ouro",
            data: [90, 70, 30, 30, 40, 80],
            color :'#ffd700'
          },
       ],
    }
 <Chart.Bar
     data={this.state.dataOptions}
     labels={this.state.labels}
     title="Gráfico em Barra"
  />

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
labelsArray de textos que conceberão as propriedades do gráfico .String[]nullsim
dataArray do tipo DataBar que vai definir os valores, cores das barras do gráficoDataBar[]nullsim
titleTítulo do gráficoStringnullnão
positionPosição do título no gráficoStringnullnão

Chart.Line

Utilizado para a exibição de dados em um gráfico de linhas.

Exemplo

chartline

Utilização

state= {
       labels: ['Janeiro', 'Fevereiro', 'Março','Abril', 'Maio', 'Junho'],
       dataOptions:[
        {
            label:"Prata",
            data: [7, 2, 6,10,100,4],
            lineColor: 'blue',
            color: 'blue'
          },
          {
            label:"Ouro",
            data: [10, 20, 10, 40,10,10],
            lineColor: 'orange',
            color: 'orange'
          },
       ],
      }
<Chart.Line
    data={this.state.dataOptions}
    labels={this.state.labels}
    title="Gráfico em Linha"
/>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
labelsArray de textos que conceberão as propriedades do gráfico.String[]nullsim
dataArray do tipo DataLine que vai definir os valores, cores das linhas no gráficoDataLine[]nullsim
titleTítulo do gráficoStringnullnão
positionPosição do título no gráficoStringnullnão

Chart.Pie

Utilizado para mostrar dados em formato de gráfico de pizza.

Exemplo

chartpie

Utilização

 state= {
       labels:['Javascript', 'Java', 'Typescript'],
       dataPieOptions:{
        label: 'Linguagens de programação',
        data: [120, 60, 80],
        backgroundColor: [
          'rgb(255, 99, 132)',
          'rgb(54, 162, 235)',
          'rgb(255, 206, 86)',
        ],
        borderColor: [
          '#444',
          '#444',
          '#444',
        ],
        borderWidth: 1,
      }
    }
<Chart.Pie
    data={this.state.dataPieOptions}
    labels={this.state.labels}
    title='Gráfico Pie'
/>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
labelsArray de textos que conceberão as propriedades do gráfico.String[]nullsim
dataObjeto do tipo DataPue que vai definir os valores e cores das das partes do gráficoDataPienullsim

Checkbox

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Caixa de seleção que permite que o usuário selecione um ou mais itens de um conjunto.

Exemplo

checkbox

Utilização

 state = {
    checked: false
  };

  <Checkbox
    dataCy='checkbox-test'
    id='3124129'
    value='teste'
    checked={this.state.checked}
    onChange={e => {
      this.setState({ checked: e.checked });
    }}
  >
    Seu texto
  </Checkbox>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
checkedDefine o estado do checkboxbooleanfalseSim
onChangeFunção que retorna o estado e o valuefunctionnullSim
valueDefine o valor para o checkboxstringnullNão
disabledDesabilita o checkboxbooleanfalseNão
idPassa um id para o componentenumberaleatórioNão
groupRecebe um array com os estados de outros checkbox para controle do componente que recebe a propriedade 'group'arraynullNão

Chip

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Exemplo

chip

Utilização

 state = {
    data: [
      {
        id: 1,
        label: 'label 1',
        value: 'chip-7',
      },
      {
        id: 2,
        label: 'label 2',
        value: 'chip-8',
        icon: '',
      },
      {
        id: 3,
        label: 'label 3',
        value: 'chip-9',
        icon: '',
      },
    ],
  };

  <Window>
    <View>
      <Text textAlign='center' fontSize='lg'>
        Chip
      </Text>
    </View>
    <View padding='nano'>
      <View
        marginBottom='quark'
        flexWrap='wrap'
        padding='quark'
        backgroundColor='none'>
        <View margin='quark' width='auto'>
          <Chip
            value='chip-1'
            icon='feedback-success'
            label='Label'
            onChange={(e) => console.log(e)}
          />
        </View>
        <View margin='quark' width='auto'>
          <Chip label='Label' value='chip-2' />
        </View>
        <View margin='quark' width='auto'>
          <Chip label='Label' value='chip-3' />
        </View>
      </View>
      <View flexWrap='wrap' padding='quark' backgroundColor='secondary'>
        {this.state.data.map((item, index) => {
          return (
            <View key={index} margin='quark' width='auto'>
              <Chip
                icon={item.icon}
                label={item.label}
                value={item.value}
                index={index}
                data={this.state.data}
                onChange={(e) => console.log(e)}
                dataChange={(e) => this.setState({ data: e })}
              />
            </View>
          );
        })}
      </View>
    </View>
  </Window>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
iconÍcone a ser exibido do lado esquerdo do label. Recebe um token da lista de icones que pode ser encontrado aquiStringnonenão
labelTexto a ser renderizado no componenteStringnonesim
activeAtiva o componente selecionadoBooleanfalsenão
disabledDesabilita o componenteBooleanfalsenão
valueValor do componenteStringnonesim
onChangeRetorna o value do componente

CurrencyInput

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Exibe uma entrada de valor monetário na tela.

Importante: Este componente ainda não está de acordo com o padrão atual de design system Ame de 2022 e pode estar sujeito à mudanças visuais, de quebra de compatibilidade ou até deixar de existir.

Exemplo

currencyinput

Utilização

<CurrencyInput
    maxLength={8}
    prefix={€}
    value={459}
    onChange={value => { ... }}
/>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
valueValor inicial que será renderizado no componente.numbernullSim
onChangeFunção a ser executada quando o valor é alterado, retornando o valor,functionnullSim
prefixPrefixo do tipo de moeda utilizada. Padrão é R$stringR$Não
maxLengthQuantidade máxima de caracteres.number9Não
disableEditEsconde o botão EditarbooleanfalseNão
disabledDesabilita o componente.booleanfalseNão
flatAltera a aparência do componente para uma versão mais simples.booleanfalseNão
colorModifica a cor do CurrencyInput.string'primary'Não

DataTable

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Insere um datatable para exibição de dados

Importante: Este componente ainda não está de acordo com o padrão atual de design system Ame de 2022 e pode estar sujeito à mudanças visuais, de quebra de compatibilidade ou até deixar de existir.

Componente feito apartir de da biblioteca react-data-table-component.

Documentação da Biblioteca: https://react-data-table-component.netlify.app/?path=/docs/getting-started-intro--page

Exemplo

datatable

Utilização

<View>
  <DataTable
    title="Exemplo de DataTable"
    data={this.state.data}
    columns={this.state.columns}
  />
</View>

DatePicker

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Componente usado para seleção de data. Essa seleção pode ser aplicada por meio de um input de texto ou selecionando num calendário interativo.

Exemplo

datepicker

Utilização

<DatePicker
    value={new Date()}
    onChange={e => this.onDateChange(e)}
    placeholder="Data de Nascimento"
    minDate={new Date(1930, 0, 1)}
    maxDate={new Date(2022, 11, 18)}
/>

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
valueRecebe uma data inicial. É usado para atualizar a data do componente.DatenullSim
onChangeFunção a ser executada quando a data é alterada, pelo input ou pelo calendárioFunctionnullSim
minDateDetermina a menor data possível.DatenullNão
maxDateDetermina a maior data possível.DatenullNão
localeDetermina a localização para formato da data.string"pt-br"Não
placeholderDetermina o texto de placeholder do componente.booleanfalseNão
disabledDesabilita o componente.booleanfalseNão
hintAdiciona um texto alternativo ao componente.stringnullNão
errorAltera o componente para uma cor de aviso.booleanfalseNão

Grid

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Utilize este componente em conjunto com o Col para organização de elementos.

Exemplo

grid

Utilização

<View>
  <Grid>
    <Col columnSize={{ sm: 12, md: 6, lg: 3 }}>
      <View backgroundColor="negative-300">
        <Text>Coluna 1</Text>
      </View>
    </Col>
    <Col columnSize={{ sm: 12, md: "hidden", lg: 3 }}>
      <View backgroundColor="positive-300">
        <Text>Coluna 2</Text>
      </View>
    </Col>
    <Col columnSize={{ sm: 12, md: 6, lg: 3 }}>
      <View backgroundColor="warning-700">
        <Text>Coluna 3</Text>
      </View>
    </Col>
    <Col columnSize={{ sm: 12, md: 6, lg: 3 }}>
      <View backgroundColor="support-01">
        <Text>Coluna 4</Text>
      </View>
    </Col>
  </Grid>
</View>

Como visto do exemplo acima, o componente Col, é usado como children do componente Grid para determinar cada coluna do grid.

Propriedades

PropriedadeDescriçãoTypeDefault
noGapTira o espaçamento entre as colunasbooleanfalse

Propriedades Col

PropriedadeDescriçãoTypeDefault
columnSizeRecebe um objeto contendo os 3 break-points e seus respectivos valores. Os valores representam quantas colunas, num total de 12, o elemento vai ocupar. Existe ainda a opção de usar "hidden" para o valor caso queira esconder a coluna em um determinado break point. Ex: {sm: 12, md: 6, lg: 3}objectfalse

Hint

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Componente para exibir alertas em formulários

Importante: Este componente ainda não está de acordo com o padrão atual de design system Ame de 2022 e pode estar sujeito à mudanças visuais, de quebra de compatibilidade ou até deixar de existir.

Exemplo

hint

Utilização

  <Hint
    status='success'
    text='Retorno de sucesso'
    show={true}
  />

Propriedades

PropriedadeDescriçãoTypeDefaultObrigatório
typeDefine qual será o estilo do Hint, as propriedades são 'success', 'warning' e 'error'stringnullNão
showParâmetro que define se o Hint será exibido ou nãobooleanfalsenão

Icon

Modifique esse componente em tempo real pelo Storybook clique aqui

Veja um exemplo desse componente aqui

Componente que exibe um Ícone.

Importante: Este componente ainda não está de acordo com o padrão atual de design system Ame de 2022 e pode estar sujeito à mudanças visuais, de quebra de compatibilidade ou até deixar de existir.

Exemplo

icon

Utilização

<Icon icon="ame-outline"/>
<Icon icon="ame-outline"/>

Propriedades

PropriedadeDescriçãoTypeDefault
iconCarrega ícones de acordo com o token recebido.numberame-outline
colorIconDefine a cor do ícone. Veja os valoresbooleanneutral-500
widthDefine a largura do ícone, pode ser usado em porcentagem ou pixelsstring33px
heightDefine a altura do ícone, pode ser usado em porcentagem ou pixelsstringauto

Segue abaixo a lista de ícones:

  • accounts-outline accounts-outline
  • accounts-solid accounts-solid
  • adress-outline adress-outline
  • adress-solid adress-solid
  • agenda-outline agenda-outline
  • agenda-solid agenda-solid
  • alert-outline alert-outline
  • alert-solid alert-solid
  • ame-banking ame-banking
  • ame-outline ame-outline
  • ame-solid ame-solid
  • attach attach
  • bank-outline bank-outline
  • bank-solid bank-solid
  • bar-code bar-code
  • barbecue-outline barbecue-outline
  • barbecue-solid barbecue-solid
  • bell-notification-outline bell-notification-outline
  • bell-notification-solid bell-notification-solid
  • bestcb bestcb
  • best-deals-outline best-deals-outline
  • bikeitau bikeitau
  • bus-outline bus-outline
  • bus-solid bus-solid
  • cabify cabify
  • caixa caixa
  • calendar-outline calendar-outline
  • calendar-solid calendar-solid
  • camera-outline camera-outline
  • camera-solid camera-solid
  • card-ame-outline card-ame-outline
  • card-ame-solid card-ame-solid
  • carimbo carimbo
  • cart-outline cart-outline
  • cart-solid cart-solid
  • cashback cashback
  • cat cat
  • chat-mail-outline chat-mail-outline
  • chat-mail-solid chat-mail-solid
  • chat-message-outline chat-message-outline
  • chat-message-solid chat-message-solid
  • chat-sms-outline chat-sms-outline
  • chat-sms-solid chat-sms-solid
  • chat-whatsapp-outline chat-whatsapp-outline
  • chat-whatsapp-solid chat-whatsapp-solid
  • cinema-outline cinema-outline
  • cinema-solid cinema-solid
  • clock-outline clock-outline
  • clock-solid clock-solid
  • close close
  • clothing-tshirt-outline clothing-tshirt-outline
  • clothing-tshirt-solid clothing-tshirt-solid
  • colapse colapse
  • configuration-outline configuration-outline
  • configuration-solid configuration-solid
  • conversion conversion
  • copy-outline copy-outline
  • copy-solid copy-solid
  • cracha cracha
  • credit-card-ame credit-card-ame
  • credit-card-outline credit-card-outline
  • credit-card-solid credit-card-solid
  • cupom-outline cupom-outline
  • cupom-solid cupom-solid
  • curiosities-outline curiosities-outline
  • curiosities-solid curiosities-solid
  • dashboard-outline dashboard-outline
  • dashboard-solid dashboard-solid
  • delivery-outline delivery-outline
  • delivery-solid delivery-solid
  • deposit-outline deposit-outline
  • deposit-solid deposit-solid
  • deslike-no-outline deslike-no-outline
  • deslike-no-solid deslike-no-solid
  • details details
  • diarista-outline diarista-outline
  • diarista-solid diarista-solid
  • divide divide
  • documents-cpf documents-cpf
  • documents-id-outline documents-id-outline
  • documents-id-solid documents-id-solid
  • donation-art donation-art
  • donation-autonomous donation-autonomous
  • donation-communities donation-communities
  • donation-coronavirus donation-coronavirus
  • donation-environement donation-environement
  • donation-fomezero donation-fomezero
  • donation-girlpower donation-girlpower
  • donation-healthcare donation-healthcare
  • donation-kids donation-kids
  • donation-planet donation-planet
  • donation-rainbow donation-rainbow
  • donation-sambarj donation-sambarj
  • donation-sambasalvador donation-sambasalvador
  • donation-sambasp donation-sambasp
  • donation-seniors donation-seniors
  • donations-education donations-education
  • donations donations
  • down down
  • drconsulta drconsulta
  • edit-outline edit-outline
  • edit-solid edit-solid
  • electrician electrician
  • emprestimo-loan-outline emprestimo-loan-outline
  • emprestimo-loan-solid emprestimo-loan-solid
  • emprestimopj-loan emprestimopj-loan
  • ensure ensure
  • equal equal
  • events-outline events-outline
  • events-solid events-solid
  • expand expand
  • extended-warranty extended-warranty
  • extrato-outline extrato-outline
  • extrato-solid extrato-solid
  • eye-hide eye-hide
  • eye-show eye-show
  • faces-et-outline faces-et-outline
  • faces-happy-outline faces-happy-outline
  • faces-happy-solid faces-happy-solid
  • faces-medium faces-medium
  • faces-normal-outline faces-normal-outline
  • faces-normal-solid faces-normal-solid
  • faces-sad-outline faces-sad-outline
  • faces-sad-solid faces-sad-solid
  • faces-veryhappy faces-veryhappy
  • fav-outline fav-outline
  • fav-solid fav-solid
  • feature-bazar-outline feature-bazar-outline
  • feature-bazar-solid feature-bazar-solid
  • feature-br-petrobras feature-br-petrobras
  • feature-news feature-news
  • feature-scanandgo feature-scanandgo
  • feature-shell-box feature-shell-box
  • feature-taggy feature-taggy
  • feature-voucher-future feature-voucher-future
  • feedback-error feedback-error
  • feedback-success feedback-success
  • filter-outline filter-outline
  • filter-solid filter-solid
  • fire fire
  • flash-active flash-active
  • flash-disabled flash-disabled
  • food-convenience food-convenience
  • gamerzone gamerzone
  • games-outline games-outline
  • games-solid games-solid
  • general-services-outline general-services-outline
  • general-services-solid general-services-solid
  • ghost ghost
  • gift-card-outline gift-card-outline
  • gift-card-solid gift-card-solid
  • gift-outline gift-outline
  • gift-solid gift-solid
  • glutenfree glutenfree
  • gym-outline gym-outline
  • gym-solid gym-solid
  • hand-easy hand-easy
  • hands hands
  • handshake handshake
  • health-outline health-outline
  • health-solid health-solid
  • heart-outline heart-outline
  • heart-solid heart-solid
  • help-outline help-outline
  • help-solid help-solid
  • home-outline home-outline
  • home-solid home-solid
  • house-outline house-outline
  • house-solid house-solid
  • image-album-outline image-album-outline
  • image-album-solid image-album-solid
  • image-outline image-outline
  • image-solid image-solid
  • incoming incoming
  • insurances insurances
  • investments investments
  • keyboard-numbers-outline keyboard-numbers-outline
  • keyboard-numbers-solid keyboard-numbers-solid
  • lamp-outline lamp-outline
  • lamp-solid lamp-solid
  • lavanderia lavanderia
  • lazer-recreation-outline lazer-recreation-outline
  • lazer-recreation-solid lazer-recreation-solid
  • left-previous left-previous
  • like-ok-outline like-ok-outline
  • like-ok-solid like-ok-solid
  • limit limit
  • list-items-outline list-items-outline
  • list-items-solid list-items-solid
  • loan-consignado loan-consignado
  • location-outline location-outline
  • location-solid(..
0.11.0

10 months ago

0.11.0-beta3

11 months ago

0.11.0-beta2

1 year ago

0.11.0-beta1

1 year ago

0.10.0

1 year ago

0.8.12-beta4

1 year ago

0.8.12-beta5

1 year ago

0.8.12-beta6

1 year ago

0.8.12-beta7

1 year ago

0.8.12-beta0

1 year ago

0.8.12-beta2

1 year ago

0.9.0-beta1

1 year ago

0.8.12

1 year ago

0.9.0

1 year ago

0.8.9

2 years ago

0.8.8

2 years ago

0.8.5

2 years ago

0.8.4

2 years ago

0.8.7

2 years ago

0.8.6

2 years ago

0.8.4-beta.0

2 years ago

0.8.9-beta.1

2 years ago

0.8.5-beta.0

2 years ago

0.8.6-beta.2

2 years ago

0.8.6-beta.1

2 years ago

0.8.6-beta.0

2 years ago

0.8.6-beta.6

2 years ago

0.8.11

1 year ago

0.8.6-beta.5

2 years ago

0.8.6-beta.4

2 years ago

0.8.9-beta0

2 years ago

0.8.6-beta.3

2 years ago

0.8.6-beta.9

2 years ago

0.8.10

2 years ago

0.8.6-beta.8

2 years ago

0.8.3-beta.0

2 years ago

0.8.2-beta.1

2 years ago

0.8.2-beta.2

2 years ago

0.8.2-beta.4

2 years ago

0.8.1

2 years ago

0.7.1-beta.0

2 years ago

0.7.1-beta.1

2 years ago

0.8.0

2 years ago

0.8.1-beta1

2 years ago

0.7.0

2 years ago

0.8.1-beta2

2 years ago

0.6.0

2 years ago

0.4.0

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago