Custom Properties
The properties attribute can be used to define custom properties on <Section>
, <Banner>
, <Box>
, or <Element>
tags. It is defined by providing an array of objects. Each object represents a property that will be displayed on the Properties tab within the page editor.
Use custom properties to enable additional layouts or functionality for a component.
[
{
"name": "layout",
"label": "Layout",
"attribute": "class",
"type": "select",
"options": [
{ "label": "Default", "value": "default" },
{ "label": "Full", "value": "full" },
{ "label": "Grid", "value": "grid" },
{ "label": "Offset", "value": "offset" },
{ "label": "Collage", "value": "collage" },
{ "label": "List", "value": "list" }
],
"default": "center",
"placeholder": "...",
"required": true
},
...
]
Arguments
- type: string - value for the type of the property. Can be one of text, number, select, multiselect, date, time, datetime, checkbox, checklist, or color.
- name: string - value for the name of the property that will be stored in the tag configurations.
- label: string (optional) - the label that will be shown to content authors. If not set it will pull the value from the name property and sentence case it (capitalize the first letter).
- attribute: string (optional) - value for the rendered element's HTML attribute that will be changed by the property when set.
- required: boolean (optional) - value for whether a value is required or not for the property. If set a default must be set.
- placeholder: string (optional, text/number types only) - value for the HTML placeholder attribute of the control.
- prefix: string (optional, text/number types only) - if set, prepends an uneditable prefix on the inputted value.
- suffix: string (optional, text/number types only) - if set, appends an uneditable prefix on the inputted value (e.g. "px" on a number input would yield an input that looks like
[____px]
. - options: Array (required only for select, multiselect, checklist types) - Array for options for the dropdown control (used when type is select or multiselect). The value is what will be set on the attribute.
- default: (optional) - The default value for the property.