Parameter Type location

The Parameter Type location allows you to provide custom input controls for component parameters or entry fields.

This location is rendered in the property panel when a component parameter includes a parameter type that is defined in the integration manifest.

Custom input controls from the Design Extensions integration.
Example: Custom input controls from the Design Extensions integration.
{ "locations": { "canvas": { "parameterTypes": [ { "type": "parameter-type-id", "editorUrl": "/parameter-type", "displayName": "Parameter type name", "configureUrl": "/parameter-type-config", "renderableInPropertyPanel": true, "allowedPlacement": ["parameter"] } ] } } }

Enabling custom parameters for content type fields

By default, custom parameters are only available for components. To enable them for content type fields, you need to set the following in the manifest configuration of the parameter type:

"allowedPlacement": ["parameter", "field"]

The metadata object on a Parameter Type location includes:

APIDescription
metadata.componentDefinitionsComponent definitions index keyed by public ID
metadata.parameterDefinitionSchema definition of the current parameter
metadata.parameterConfigurationUser-configured settings for the parameter type
metadata.componentCurrent component instance (without slots)
metadata.rootNodeRoot composition node (without slots or data)
metadata.targetLocaleLocale being edited (undefined when the parameter is not localizable)
metadata.currentLocaleLocale currently selected in the editor UI
metadata.dynamicInputsDynamic inputs from the project map node
metadata.connectedDataResolved dynamic data connections for the component

The Parameter Type location also exposes the experimental editorState object for reading and writing the surrounding composition or entry. See the Editor state API documentation for the full method reference.