{
    "source": "core/types/src/index.ts",
    "name": "Templatable",
    "type": "object",
    "properties": {
        "template": {
            "required": false,
            "node": {
                "type": "array",
                "elementType": {
                    "source": "core/types/src/index.ts",
                    "name": "Template",
                    "type": "object",
                    "properties": {
                        "data": {
                            "required": true,
                            "node": {
                                "type": "ref",
                                "ref": "Binding",
                                "title": "Template.data",
                                "description": "A pointer to the data-model containing an array of elements to map over"
                            }
                        },
                        "value": {
                            "required": true,
                            "node": {
                                "type": "ref",
                                "ref": "ValueType",
                                "title": "Template.value",
                                "description": "The template to iterate over using each value in the supplied template data.\nAny reference to _index_ is replaced with the current iteration index."
                            }
                        },
                        "dynamic": {
                            "required": false,
                            "node": {
                                "type": "boolean",
                                "title": "Template.dynamic",
                                "description": "should the template be recomputed when data changes"
                            }
                        },
                        "output": {
                            "required": true,
                            "node": {
                                "type": "ref",
                                "ref": "Key",
                                "title": "Template.output",
                                "description": "A property on the parent object to store the new map under.\nIf it already exists, values are appended to the end."
                            }
                        },
                        "placement": {
                            "required": false,
                            "node": {
                                "type": "or",
                                "or": [
                                    {
                                        "type": "string",
                                        "const": "prepend"
                                    },
                                    {
                                        "type": "string",
                                        "const": "append"
                                    }
                                ],
                                "title": "Template.placement",
                                "description": "Specifies the template placement in relation to existing elements"
                            }
                        }
                    },
                    "additionalProperties": false,
                    "title": "Template",
                    "description": "A template describes a mapping from a data array -> array of objects",
                    "genericTokens": [
                        {
                            "symbol": "ValueType",
                            "constraints": {
                                "type": "any"
                            },
                            "default": {
                                "type": "unknown"
                            }
                        },
                        {
                            "symbol": "Key",
                            "constraints": {
                                "type": "string"
                            },
                            "default": {
                                "type": "string"
                            }
                        }
                    ]
                },
                "title": "Templatable.template",
                "description": "A list of templates to process for this node"
            }
        }
    },
    "additionalProperties": false,
    "title": "Templatable",
    "description": "Any object that contains 1 or more templates"
}