Skip to content

NestedField

A named member inside an object.

Every variant shares the keys below. Which further keys are legal depends on type.

Key Type Required Notes
type one of 9 values — see below yes Selects which shape the rest of this object takes. Every other key is validated against the variant named here.
name string yes The key this member has in the source payload. Deliberately unconstrained, unlike a column name — real payloads use colons, slashes and unicode. min length 1
display string | TextDisplay no

A string.

Key Type Required Notes
minLength integer no Shortest accepted value, in characters. ≥ 0
maxLength integer no Longest accepted value, in characters. ≥ 0
pattern string no JavaScript regular expression the value must match. Compiled when the config loads, so a malformed pattern fails at load rather than at render.

A whole number.

Key Type Required Notes
min number no Smallest accepted value, inclusive.
max number no Largest accepted value, inclusive.
step number no Increment for the number and slider widgets. A hint only, never a validity constraint — three slider clicks legitimately produce 0.30000000000000004. > 0

A number, whole or fractional.

Key Type Required Notes
min number no Smallest accepted value, inclusive.
max number no Largest accepted value, inclusive.
step number no Increment for the number and slider widgets. A hint only, never a validity constraint. > 0

true / false.

No keys beyond the shared ones.

A date; ISO-8601 on the wire.

No keys beyond the shared ones.

One of a fixed set of choices.

Key Type Required Notes
choices array of Choice yes The permitted values, in the order they are offered. at least 1 item

A record with named fields.

Key Type Required Notes
fields array of NestedField yes The object’s own named members. Unlike a column name, these are JSON keys from the source payload, so colons, slashes and unicode are all allowed. at least 1 item
table TableView no How an object’s fields group into displayed columns. Lives on the object type beside the fields its columns name, so it nests to any depth and covers map<_, object> as well as arrays.

A list of items.

Key Type Required Notes
items ValueType yes The type of every element. An array of enum is how a multi-select is declared.

A dictionary of keysvalues.

Key Type Required Notes
keys ValueType no The type of each key. Defaults to text when omitted.
values ValueType yes The type of each value.