Atlantica

Atlantica

  • Atlantica Design
  • API React Native
  • Help

›Componentes

Atlantica

  • Instalação
  • Como usar?
  • Estrutura Geral

Componentes

  • Índice Rápido
  • Moléculas

    • ATLActionListCard
    • ATLAvatarEditor
    • ATLAvatarEditorCondensed
    • ATLButton
    • ATLCheckbox
    • ATLComment
    • ATLCommentListPreview
    • ATLDateTimePicker
    • ATLDoubleButton
    • ATLDropdown
    • ATLEventCell
    • ATLEventTitle
    • ATLFloatingButton
    • ATLHorizontalUserList
    • ATLIconLabel
    • ATLImageLogo
    • ATLImagePicker
    • ATLLabelButton
    • ATLListDivider
    • ATLMenuItem
    • ATLNotification
    • ATLPost
    • ATLRadioGroup
    • ATLSearchBox
    • ATLSingleImage
    • ATLSpacing
    • ATLStatusListCard
    • ATLSurveyPost
    • ATLTextBody
    • ATLTextInput
    • ATLTitle
    • ATLUserInfo
    • ATLUserListCard

    Átomos

    • ATLAvatarBase
    • ATLButtonBase
    • ATLButtonToggleBase
    • ATLCarouselBase
    • ATLDateIndicatorBase
    • ATLDividerBase
    • ATLIconBase
    • ATLIconButtonBase
    • ATLImageBase
    • ATLLabelBase
    • ATLSwitchBase
    • ATLTextInputBase
    • ATLThreadBase

ATLSurveyPost

var_survey_orig

Essa molécula é utilizada para exibir posts de interação social que contêm uma enquete.

Para visitar a documentação de design desta molécula, clique aqui.

Exemplo de uso com resposta única:

import { ATLSurveyPost, OptionItem } from '@appsimples/atlantica-react-native'
...
const alternatives: OptionItem[] = useMemo(() => [
    { id: 1, text: 'Azul' },
    { id: 2, text: 'Amarelo' },
    { id: 3, text: 'Vermelho' }
], [])
...

const [value, setValue] = useState(0)

<ATLSurveyPost
    singleValue={value}
    onChange={setValue}
    alternativesList={alternatives}
    questionText={'Qual é sua cor primária falsa favorita?'}
    actionText={actionText}
    postText={'Só estou curiosa mesmo'}
    onPressUser={onPressUser}
    userAvatar={avatar}
    timestampText={'Há 10 dias'}
    onPressOverflowButton={onPressOverflow}
    answerButtonText={'Responder'}
    likeButtonText={'Curtir'}
    likedByMe={liked}
    editedText={'Editado'}
    onPressLike={onPressLike}
    onPressAnswer={onPressAnswer}
    readMoreText={'Ver mais'}
    hasBeenEdited
    onPressShare={onPressVideo}
    shareText={'Compartilhar'}
/>

Exemplo de uso com respostas múltiplas:

import { ATLSurveyPost, OptionItem } from '@appsimples/atlantica-react-native'
...
const alternatives: OptionItem[] = useMemo(() => [
    { id: 1, text: 'Azul' },
    { id: 2, text: 'Amarelo' },
    { id: 3, text: 'Vermelho' }
], [])
...

const [values, setValues] = useState<number[]>([])

// Exemplo de função que adiciona ou retira um item do array de opções
const onChangeValues = useCallback((item: any) => {
    let index = values.indexOf(item.id)
    const newVal = values
    if (index > -1) {
      newVal.splice(index, 1)
    } else {
      newVal.push(item.id)
    }
    newVal.sort()
    setValues([...newVal])
}, [])

<ATLSurveyPost
    singleValue={values}
    onChange={onChangeValues}
    alternativesList={alternatives}
    questionText={'Qual é sua cor primária falsa favorita?'}
    actionText={actionText}
    postText={'Só estou curiosa mesmo'}
    onPressUser={onPressUser}
    userAvatar={avatar}
    timestampText={'Há 10 dias'}
    onPressOverflowButton={onPressOverflow}
    answerButtonText={'Responder'}
    likeButtonText={'Curtir'}
    likedByMe={liked}
    editedText={'Editado'}
    onPressLike={onPressLike}
    onPressAnswer={onPressAnswer}
    readMoreText={'Ver mais'}
    hasBeenEdited
    onPressShare={onPressVideo}
    shareText={'Compartilhar'}
/>

Props

  • multipleValues
  • singleValue
  • onChange
  • actionText
  • alternativesLisr
  • answerButtonText
  • editedText
  • likeButtonText
  • placeholderImage
  • postText
  • questionText
  • readMoreText
  • shareText
  • timestampText
  • userAvatar
  • onPressAnswer
  • onPressLike
  • onPressOverflowButton
  • onPressShare
  • onPressUser
  • hasBeenEdited
  • isAvatarSquare
  • isOverflowIconVertical
  • likedByMe
  • horizontalMargin
  • horizontalPadding
  • verticalMargin
  • verticalPadding
  • actionLinkLabelBaseProps
  • actionRegularLabelBaseProps
  • avatarBaseProps
  • dividerBaseProps
  • labelButtonBaseProps
  • likeButtonToggleBaseProps
  • overflowIconButtonBaseProps
  • postLabelBaseProps
  • questionLabelBaseProps
  • timestampLabelBaseProps

multipleValues

Lista de valores selecionados pelo usuário, controlada fora do componente. Quando preenchida, renderiza os itens da lista com um ícone de checkbox e múltiplas alternativas podem ser selecionadas pelo usuário.

TipoObrigatório
number[]Não

singleValue

Opção única selecionada pelo usuário, controlada fora do componente. Quando preenchida, renderiza os itens da lista com um ícone de radio option e uma única alternativa pode ser selecionada por vez.

TipoObrigatório
number[]Não

onChange

Handler que será chamado quando o usuário mudar o valor selecionado.

TipoObrigatório
functionNão

actionText

Texto que aparece ao lado do avatar do usuário.

Esses textos são passados em um array de objetos ActionPostText. Um objeto deste tipo possui duas propriedades: text (obrigatória) e onPress (opcional).

Caso a propriedade onPress seja passada, o texto será renderizado como um link. Caso contrário, como um texto comum.

TipoObrigatório
ActionPostText[]Não

alternativesLisr

Texto que aparece ao lado de cada um dos radio buttons.

Esses textos são passados em um array de objetos RadioButtonItem. Um objeto deste tipo possui três propriedades: id (number), text (string) e rightText (string, opcional).

TipoObrigatório
OptionItem[]Não

answerButtonText

Texto que aparece no botão de responder o comentário.

TipoObrigatório
stringSim

editedText

Caso o comentário tenha sido editado, aparece esse texto ao lado do timestamp.

TipoObrigatório
stringSim

likeButtonText

Texto que aparece no botão de curtir o comentário, à direita do ícone de coração.

TipoObrigatório
stringSim

placeholderImage

Imagem de placeholder do avatar do usuário.

TipoObrigatório
ImageSourcePropTypeNão

postText

Texto principal que exibe o conteúdo feito pelo usuário.

TipoObrigatório
stringNão

questionText

Texto da pergunta da enquete.

TipoObrigatório
stringSim

readMoreText

Texto que aparece quando a opção de ler mais é ativada.

TipoObrigatório
stringSim

shareText

Texto que aparece no botão de compartilhar.

TipoObrigatório
stringNão

A prop não é obrigatória, mas para renderizar o botão, é necessário preenchê-la juntamente com onPressShare


timestampText

Segunda linha de texto que corresponde ao timestamp da notificação.

TipoObrigatório
stringSim

userAvatar

Imagem do usuário que irá aparecer dentro do círculo à esquerda.

TipoObrigatório
ImageSourcePropTypeNão

onPressAnswer

Handler que será chamado quando o usuário apertar o botão de responder.

TipoObrigatório
functionSim

onPressLike

Handler que será chamado quando o usuário apertar o botão de curtir.

TipoObrigatório
functionSim

onPressOverflowButton

Handler que será chamado quando o usuário apertar o botão de overflow.

TipoObrigatório
functionNão

A prop não é obrigatória, mas para renderizar o botão de overflow, é necessário preenchê-la.


onPressShare

Handler que será chamado quando o usuário apertar o botão de compartilhar.

TipoObrigatório
stringNão

A prop não é obrigatória, mas para renderizar o botão, é necessário preenchê-la juntamente com shareText


onPressUser

Handler que será chamado quando for pressionado o avatar ou o nome do usuário.

TipoObrigatório
functionNão

hasBeenEdited

Campo boleano que indica se o comentário foi editado (true) ou não (false).

TipoObrigatório
booleanNão

isAvatarSquare

Campo boleano que indica se o avatar irá utilizar tokens que o deixem arredondado ou quadrado.

TipoObrigatório
booleanNão

isOverflowIconVertical

Determina se a orientação do ícone de overflow é vertical ou horizontal.

TipoObrigatório
booleanNão

likedByMe

Campo boleano que indica se o comentário foi curtido pelo usuário (true) ou não (false).

TipoObrigatório
booleanNão

horizontalMargin

Essa propriedade deve ser modificada caso seja necessário alterar a margem horizontal externa aos elementos da molécula.

Abaixo temos uma tabela indicando o token ao qual a prop está relacionada e o seu valor padrão.

PropTokenDefault Value
horizontalMarginSpacingMarginal16

horizontalPadding

Essa propriedade deve ser modificada caso seja necessário alterar o espaçamento horizontal entre os elementos da molécula.

Abaixo temos uma tabela indicando o token ao qual a prop está relacionada e o seu valor padrão.

PropTokenDefault Value
horizontalPaddingSpacingMarginal16

verticalMargin

Essa propriedade deve ser modificada caso seja necessário alterar a margem vertical externa aos elementos da molécula.

Abaixo temos uma tabela indicando o token ao qual a prop está relacionada e o seu valor padrão.

PropTokenDefault Value
verticalMarginSpacingMarginal16

verticalPadding

Essa propriedade deve ser modificada caso seja necessário alterar o espaçamento vertical entre os elementos da molécula.

Abaixo temos uma tabela indicando o token ao qual a prop está relacionada e o seu valor padrão.

PropTokenDefault Value
verticalPaddingSpacingMarginal16

actionLinkLabelBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de label relativo aos links do actionText, é possível através da modificação das actionLinkLabelBaseProps.

Abaixo temos uma tabela com todas as props da label, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
fontFamilyFontFamilyBaseundefined
fontSizeFontSizeBody14
fontWeightFontWeightBoldBold (700)
lineHeightLineHeightNotification18
multilineLimitMultilineLimitBodyundefined
opacity(fixed)1
textAlignTextAlignmentBodyLeft
textCaseTextCaseBodyNone
textColorColorPrimary#A94CC9

Para mais informações, acesse ATLLabelBase.


actionRegularLabelBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de label relativo aos textos comuns do actionText, é possível através da modificação das actionRegularLabelBaseProps.

Abaixo temos uma tabela com todas as props da label, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
fontFamilyFontFamilyBaseundefined
fontSizeFontSizeBody14
fontWeightFontWeightNormalRegular (400)
lineHeightLineHeightNotification18
multilineLimitMultilineLimitBodyundefined
opacity(fixed)1
textAlignTextAlignmentBodyLeft
textCaseTextCaseBodyNone
textColorColorDarkNeutral#212121

Para mais informações, acesse ATLLabelBase.


avatarBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de avatar, é possível através da modificação das avatarBaseProps.

Abaixo temos uma tabela com todas as props do avatar, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
avatarSizeSizeAvatarPost48
borderColorColorPrimary#A94CC9
borderRadiusBorderRadiusAvatarPost24
borderWidthBorderWidthAvatar0
iconColorColorPrimary#A94CC9
iconSizeSizeIconBase24

Para mais informações, acesse ATLAvatarBase.


dividerBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de divisor, é possível através da modificação das dividerBaseProps.

Abaixo temos uma tabela com todas as props do divisor, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
colorColorSurfaceLightNeutral#C4C4C4
heightHeightDividerRegular1

Para mais informações, acesse ATLDividerBase.


labelButtonBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de label correspondente aos botões de Responder e Curtir, é possível através da modificação das labelButtonBaseProps.

Abaixo temos uma tabela com todas as props da label, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
fontFamilyFontFamilyBaseundefined
fontSizeFontSizeButton12
fontWeightFontWeightStrongBold (700)
lineHeightLineHeightBase20
multilineLimitMultilineLimitButton1
opacity(fixed)1
textAlignTextAlignmentButtonCenter
textCaseTextCaseButtonUppercase
textColorColorPrimary#A94CC9

Para mais informações, acesse ATLLabelBase.


likeButtonToggleBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de button toggle correspondente ao coração do like, é possível através da modificação das likeButtonToggleBaseProps.

Abaixo temos uma tabela com todas as props do botão, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
size(fixed)16
tintColorColorPrimary#A94CC9

Para mais informações, acesse ATLButtonToggleBase.


overflowIconButtonBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de ícone correspondente ao overflow, é possível através da modificação das overflowIconButtonBaseProps.

Abaixo temos uma tabela com todas as props do ícone, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
buttonBorderColorColorNonetransparent
buttonBorderWidth(fixed)0
buttonColorColorNonetransparent
buttonSizeHeightButtonBase32
iconColorColorDarkNeutral#212121
iconSizeSizeIconBase24

Para mais informações, acesse ATLIconButtonBase.


postLabelBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de label correspondente ao corpo de texto do post, é possível através da modificação das postLabelBaseProps.

Abaixo temos uma tabela com todas as props da label, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
fontFamilyFontFamilyBaseundefined
fontSizeFontSizeBody14
fontWeightFontWeightNormalRegular (400)
lineHeightLineHeightBase20
opacity(fixed)1
readMoreLimitMultilineLimitPost5
textAlignTextAlignmentBodyLeft
textCaseTextCaseBodyNone
textColorColorDarkNeutral#212121

Para mais informações, acesse ATLLabelBase.


questionLabelBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de label relativo à pergunta da enquete, é possível através da modificação das questionLabelBaseProps.

Abaixo temos uma tabela com todas as props da label, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
fontFamilyFontFamilyBaseundefined
fontSizeFontSizeHeading16
fontWeightFontWeightStrongBold (700)
lineHeightLineHeightTitle24
multilineLimit(fixed)undefined
opacity(fixed)1
textAlignTextAlignmentHeadingLeft
textCaseTextCaseHighlightNone
textColorColorPrimary#A94CC9

Para mais informações, acesse ATLLabelBase.


timestampLabelBaseProps

Caso seja necessário mudar alguma propriedade base do átomo de label correspondente ao texto do timestamp, é possível através da modificação das timestampLabelBaseProps.

Abaixo temos uma tabela com todas as props da label, os tokens aos quais estão relacionadas e o seu valor padrão.

PropsTokenDefault Value
fontFamilyFontFamilyBaseundefined
fontSizeFontSizeTimestamp12
fontWeightFontWeightStrongBold (700)
lineHeightLineHeightNotification18
multilineLimit(fixed)1
opacity(fixed)1
textAlignTextAlignmentBodyLeft
textCaseTextCaseBodyNone
textColorColorLightNeutral#9E9E9E

Para mais informações, acesse ATLLabelBase.

← ATLStatusListCardATLTextBody →
  • Props
    • multipleValues
    • singleValue
    • onChange
    • actionText
    • alternativesLisr
    • answerButtonText
    • editedText
    • likeButtonText
    • placeholderImage
    • postText
    • questionText
    • readMoreText
    • shareText
    • timestampText
    • userAvatar
    • onPressAnswer
    • onPressLike
    • onPressOverflowButton
    • onPressShare
    • onPressUser
    • hasBeenEdited
    • isAvatarSquare
    • isOverflowIconVertical
    • likedByMe
    • horizontalMargin
    • horizontalPadding
    • verticalMargin
    • verticalPadding
    • actionLinkLabelBaseProps
    • actionRegularLabelBaseProps
    • avatarBaseProps
    • dividerBaseProps
    • labelButtonBaseProps
    • likeButtonToggleBaseProps
    • overflowIconButtonBaseProps
    • postLabelBaseProps
    • questionLabelBaseProps
    • timestampLabelBaseProps
Atlantica
Docs
Getting Started (or other categories)Guides (or other categories)API Reference (or other categories)
Community
User ShowcaseStack OverflowProject ChatTwitter
More
BlogGitHubStar
Facebook Open Source
Copyright © 2019 Your Name or Your Company Name