Skip to main content
Esta página é o contrato canônico para schemas de settings na Corvex.
Schemas JSON definem o que o merchant pode editar no Inspector. O runtime passa os valores salvos como settings (section/block) ou theme settings globais.

Tipos de schema


MUST — section schema.json

Interface TypeScript: SectionSchema em @corvex/theme-sdk types.

MUST — block schema.json


MUST — theme settings.schema.json

Interface: ThemeSettingsSchema.

MUST — field definition (campos com id)

Cada setting com valor persistido MUST ter: Propriedades comuns OPTIONAL: default, info, placeholder, visibleWhen. default é o valor inicial de um campo. Layout inicial da loja na instalação vai em templates/*.json (theme-defaults).

OPTIONAL — presets (section e block)

Array de variantes para o editor (Adicionar seção / Adicionar bloco). Cada item: name (REQUIRED), category (OPTIONAL), settings (OPTIONAL), e em sections blocks (OPTIONAL, array { type, settings? }). Validação: @corvex/theme-contract. Guia: section-presets. visibleWhen controla visibilidade no Inspector com base em outros settings — ver visibleWhen.

MUST — field types estáveis (section / block)

Lista estável em @corvex/theme-contract (STABLE_SETTING_TYPES). O validador aceita estes tipos: text, textarea, richtext, number, range, color, checkbox, select, radio, image, image_picker, url, product, product_list, collection, collection_list, font_picker, color_scheme, menu, header, paragraph Detalhes por tipo: Schema overview.
O editor também renderiza tipos experimentais (EXPERIMENTAL_SETTING_TYPES): inline_richtext, html, video, video_url, page, blog, link_list. O validador aceita. Eles não fazem parte do contrato estável.

MUST — campos sem id (layout)


MUST — select / radio

options REQUIRED:
Valor salvo: string do value selecionado.

MUST — range

min e max REQUIRED no schema. Valor salvo: number.
Vincula o campo a uma theme setting global (referência @theme.{key}). Ver guias de theme settings.

Valores salvos

  • Settings são JSON serializável no draft da loja.
  • MUST NOT assumir tipos não definidos pelo field type (ex.: product salva ID string UUID).

Veja também