Declaração
Uma pergunta apenas de exibição que mostra texto ao respondente sem exigir resposta. Útil para instruções, transições entre seções ou conteúdo informativo.

Identificador de tipo: statement
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
buttonText | string | O texto exibido no botão de continuar. | "Continue" |
Comportamento
- O número da pergunta não é exibido em declarações.
- Nenhum campo de entrada é mostrado.
- O respondente clica no botão para avançar para a próxima pergunta.
- Declarações nunca são "obrigatórias", já que não têm resposta a validar.
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
As declarações são ótimas para dividir formulários longos em seções. Use-as para fornecer contexto ou instruções antes de uma série de perguntas relacionadas.
Formato da Resposta
Declarações não produzem resposta. O valor é efetivamente undefined.
Tela de Boas-vindas
Uma tela introdutória exibida no início do formulário, antes de qualquer pergunta.
Identificador de tipo: welcome_screen
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
buttonText | string | O texto do botão que inicia o formulário. | "Start" |
Comportamento
- A tela de boas-vindas é exibida antes da Pergunta 1.
- O título e a descrição suportam rich text e substituição de
{variable}. - Clicar no botão inicia o formulário.
Telas de boas-vindas adicionadas como perguntas na lista de perguntas funcionam de forma semelhante às configurações de tela de boas-vindas no nível do formulário. A tela de boas-vindas do nível do formulário é exibida primeiro; se você também adicionar uma pergunta welcome_screen, ela aparece na posição dela na ordem das perguntas.
Formato da Resposta
Telas de boas-vindas não produzem resposta.
Tela Final
Uma tela de encerramento exibida após o envio do formulário. Nos modos de quiz, várias telas finais podem ser adicionadas, com exibição condicional baseada na pontuação do respondente.
Identificador de tipo: end_screen
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
buttonText | string | Texto de botão opcional (por exemplo, "Fazer o quiz novamente"). | Nenhum |
scoreRange | object | Para os modos de quiz: o intervalo de pontuação que aciona esta tela final. | Nenhum |
scoreRange.min | number | Pontuação mínima para exibir esta tela final (inclusiva). | Nenhum |
scoreRange.max | number | Pontuação máxima para exibir esta tela final (inclusiva). | Nenhum |
Comportamento no Modo Padrão
No modo padrão, uma única tela final substitui a tela de agradecimento padrão. Seu título e descrição são exibidos após o envio.
Comportamento no Modo Quiz
Nos modos de quiz, várias telas finais podem ser definidas:
- Quiz de Conhecimento / Qualificação de Leads: A tela final com um
scoreRangecorrespondente à pontuação total do respondente é exibida. - Quiz de Correspondência: A tela final que acumulou mais contagens a partir dos resultados das escolhas do respondente é exibida.
As perguntas de tela final aparecem na lista de perguntas, mas não são mostradas durante o fluxo do formulário. Elas só são renderizadas após o envio, com base na lógica de pontuação.
Formato da Resposta
Telas finais não produzem resposta.
Resumo
Uma tela de revisão que exibe todas as respostas do respondente antes do envio final. O respondente pode revisar suas respostas e, opcionalmente, voltar para editar qualquer pergunta.
Identificador de tipo: summary
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
summaryLabel | string | Título personalizado da seção de resumo. | "Review your answers" |
summaryYesText | string | Rótulo do botão de confirmar/enviar. | "Looks good, submit!" |
summaryNoText | string | Rótulo do botão para voltar e editar. | "I want to change something" |
Comportamento
- O resumo exibe todas as perguntas respondidas com suas respostas.
- Cada pergunta no resumo é clicável, permitindo que o respondente volte àquela pergunta e edite a resposta.
- O prefixo de número da pergunta fica oculto.
- Dois botões são apresentados: confirmar (enviar) e editar (voltar).
Dependências
A pergunta de Resumo requer acesso a todas as perguntas e todas as respostas. O renderizador de formulários passa as props allQuestions, allAnswers, onGoToQuestion e onRestart para este campo.
Formato da Resposta
A pergunta de Resumo não produz resposta própria. É um componente apenas de exibição.
Posicione a pergunta de Resumo como a última pergunta do seu formulário (antes de quaisquer telas finais) para dar aos respondentes a chance de revisar antes de enviar. Isso é especialmente valioso em formulários longos ou com campos obrigatórios.
Grupo de Perguntas
Agrupa várias subperguntas em uma única etapa do formulário. As subperguntas são apresentadas uma de cada vez dentro do grupo, com navegação interna. Isso permite criar seções de perguntas relacionadas que funcionam como uma unidade única no fluxo geral do formulário.
Identificador de tipo: question_group
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
fields | FormQuestion[] | Um array de subperguntas dentro do grupo. Cada subpergunta é um objeto de pergunta completo, com seu próprio tipo, título, propriedades e saltos de lógica. | [] |
Comportamento
- O grupo aparece como uma única etapa no formulário geral.
- As subperguntas são apresentadas uma de cada vez, com navegação para frente/para trás dentro do grupo.
- Cada subpergunta pode ter seus próprios saltos de lógica. Se o destino de um salto de lógica for:
- Outra subpergunta dentro do grupo: a navegação acontece internamente.
- Uma pergunta fora do grupo: o grupo é encerrado e a navegação continua no nível superior.
end: o formulário pula para o envio.
- O botão "Back" navega primeiro dentro do grupo. Se o respondente estiver na primeira subpergunta, pressionar "Back" sai do grupo e vai para a pergunta anterior do nível superior.
- O prefixo de número da pergunta fica oculto no contêiner do grupo.
Lógica de Subperguntas
Os saltos de lógica em subperguntas podem referenciar respostas de outras subperguntas dentro do mesmo grupo, ou respostas de perguntas de nível superior fora do grupo (via o mapa flatAnswers).
As ações de variável em saltos de lógica de subperguntas são executadas contra o mesmo estado de variáveis do formulário pai.
Validação
Cada subpergunta dentro do grupo é validada individualmente. O respondente deve satisfazer cada subpergunta obrigatória conforme navega pelo grupo.
Subperguntas puladas por saltos de lógica internos não são validadas (a restrição de obrigatoriedade delas é dispensada).
Formato da Resposta
A resposta é armazenada como um objeto (Record<string, unknown>) mapeando o ID de cada subpergunta para sua resposta:
{
"sub_q1": "John Smith",
"sub_q2": "john@example.com",
"sub_q3": 5
}
Os Grupos de Perguntas são ideais para organizar perguntas com várias partes (por exemplo, uma seção de formulário de contato, uma seção de preferências) mantendo o fluxo de uma pergunta por vez dentro do grupo.
Página de Múltiplas Perguntas
Exibe várias perguntas em uma única tela simultaneamente. Diferentemente dos Grupos de Perguntas (que mostram uma subpergunta de cada vez), as Páginas de Múltiplas Perguntas mostram todas as suas subperguntas de uma vez.
Identificador de tipo: multi_question_page
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
fields | FormQuestion[] | Um array de subperguntas a exibir na página. Cada subpergunta é um objeto de pergunta completo. | [] |
Comportamento
- Todas as subperguntas são renderizadas em uma única tela.
- O respondente preenche todas as perguntas visíveis e clica em um único botão "OK" para prosseguir.
- O prefixo de número da pergunta fica oculto no contêiner.
- Saltos de lógica em subperguntas podem acionar a navegação para perguntas fora da página de múltiplas perguntas.
Validação
Todas as subperguntas obrigatórias devem ser respondidas antes que a página possa ser enviada. Os erros de validação são exibidos inline ao lado da subpergunta relevante.
Formato da Resposta
A resposta é armazenada como um objeto (Record<string, unknown>) mapeando o ID de cada subpergunta para sua resposta:
{
"sub_q1": "Jane Doe",
"sub_q2": "jane@example.com",
"sub_q3": "Engineering"
}
As Páginas de Múltiplas Perguntas são úteis quando você tem várias perguntas curtas e relacionadas que o respondente pode responder rapidamente, sem precisar de telas individuais para cada uma. Isso pode acelerar significativamente a conclusão do formulário para grupos de perguntas simples.
Markdown
Um bloco de conteúdo rico que suporta formatação Markdown com campos de formulário inline. Você pode incorporar entradas de texto, menus suspensos e outros elementos interativos diretamente no conteúdo Markdown.
Identificador de tipo: markdown
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
markdown | string | A string de conteúdo Markdown. Suporta a formatação Markdown padrão mais a sintaxe de campos inline. | "" |
Sintaxe de Campos Inline
Incorpore campos de formulário no seu Markdown usando chaves duplas:
{{type:label}}
Onde type é o tipo do campo e label é o rótulo de exibição do campo.
Comportamento
- O cabeçalho da pergunta (título e descrição) fica oculto em perguntas de Markdown. O conteúdo Markdown É a pergunta.
- Os campos inline são interpretados a partir do conteúdo Markdown e renderizados como entradas interativas dentro do texto.
- O respondente preenche os campos inline e envia o bloco de Markdown inteiro como uma única resposta.
Validação
Cada campo inline segue suas próprias regras de validação com base no seu tipo.
Formato da Resposta
A resposta é armazenada como um objeto (Record<string, unknown>) mapeando o rótulo de cada campo inline para seu valor.
As perguntas de Markdown são perfeitas para criar exercícios de preencher lacunas, formulários no estilo contrato ou qualquer conteúdo em que os campos de formulário precisem ser intercalados com texto formatado.