Skip to main content

visibleWhen

Propriedade OPTIONAL em qualquer item de settings[] (section, block ou theme settings) que controla visibilidade no Inspector. O valor salvo não é apagado quando o campo some — apenas fica oculto na UI. O runtime da section continua recebendo o valor em settings.

Quando usar


Sintaxe

Igualdade simples (AND)

Objeto com pares settingId → valor. Todas as chaves devem coincidir:
Múltiplas condições no mesmo objeto = AND:

OR entre cláusulas

Array de objetos — qualquer cláusula verdadeira torna o campo visível:

Resolução de valores

O Editor compara com o valor atual do setting:
  1. Valor salvo em props.settings / theme settings
  2. Se ausente, usa default do schema
Comparação: igualdade estrita (===). Tipos suportados no contrato: string, number, boolean.

Aplica em qualquer item de settings[]

visibleWhen funciona em campos com id e em itens de layout:
Headers (type: "header") só aparecem quando há pelo menos um campo visível logo abaixo no grupo.

Exemplo completo — product-list


Validação (corvex validate)

header e paragraph não podem ser referenciados em visibleWhen — apenas campos com id persistido.

Runtime da section

Não aplique visibleWhen no JSX da section. O componente deve ler todos os settings que precisa; a condicional é só do Inspector.

Limitações atuais

  • Sem operadores (>, !=, contains) — apenas igualdade exata
  • Sem referência a theme settings globais
  • Sem aninhar visibleWhen em cadeia automática (cada campo declara sua própria condição)

Veja também