[
    {
        "name": "fieldset",
        "type": "object",
        "required": false,
        "description": "Options for the fieldset component (e.g. legend).",
        "isComponent": true
    },
    {
        "name": "hint",
        "type": "object",
        "required": false,
        "description": "Options for the hint component (e.g. text).",
        "isComponent": true
    },
    {
        "name": "errorMessage",
        "type": "object",
        "required": false,
        "description": "Options for the errorMessage component (e.g. text).",
        "isComponent": true
    },
    {
        "name": "formGroup",
        "type": "object",
        "required": false,
        "description": "Options for the form-group wrapper",
        "params": [
            {
                "name": "classes",
                "type": "string",
                "required": false,
                "description": "Classes to add to the form group (e.g. to show error state for the whole group)"
            }
        ]
    },
    {
        "name": "idPrefix",
        "type": "string",
        "required": false,
        "description": "String to prefix id for each checkbox item if no id is specified on each item. If `idPrefix` is not passed, fallback to using the name attribute instead."
    },
    {
        "name": "name",
        "type": "string",
        "required": true,
        "description": "Name attribute for each radio item."
    },
    {
        "name": "items",
        "type": "array",
        "required": true,
        "description": "Array of radio items objects.",
        "params": [
            {
                "name": "text",
                "type": "string",
                "required": true,
                "description": "If `html` is set, this is not required. Text to use within each radio item label. If `html` is provided, the `text` argument will be ignored."
            },
            {
                "name": "html",
                "type": "string",
                "required": true,
                "description": "If `text` is set, this is not required. HTML to use within each radio item label. If `html` is provided, the `text` argument will be ignored."
            },
            {
                "name": "id",
                "type": "string",
                "required": false,
                "description": "Specific id attribute for the radio item. If omitted, then `idPrefix` string will be applied."
            },
            {
                "name": "value",
                "type": "string",
                "required": true,
                "description": "Value for the radio input."
            },
            {
                "name": "label",
                "type": "object",
                "required": false,
                "description": "Provide attributes and classes to each radio item label.",
                "isComponent": true
            },
            {
                "name": "hint",
                "type": "object",
                "required": false,
                "description": "Provide hint to each checkbox item.",
                "isComponent": true
            },
            {
                "name": "divider",
                "type": "string",
                "required": false,
                "description": "Divider text to separate radio items, for example the text \"or\"."
            },
            {
                "name": "checked",
                "type": "boolean",
                "required": false,
                "description": "If true, radio will be checked."
            },
            {
                "name": "conditional",
                "type": "string",
                "required": false,
                "description": "If true, content provided will be revealed when the item is checked."
            },
            {
                "name": "conditional.html",
                "type": "html",
                "required": false,
                "description": "Provide content for the conditional reveal."
            },
            {
                "name": "disabled",
                "type": "boolean",
                "required": false,
                "description": "If true, radio will be disabled."
            },
            {
                "name": "attributes",
                "type": "object",
                "required": false,
                "description": "HTML attributes (for example data attributes) to add to the radio input tag."
            }
        ]
    },
    {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the radio container."
    },
    {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the radio input tag."
    }
]