{
  "description": "Model for the @pie-elements/math-inline",
  "additionalProperties": false,
  "type": "object",
  "properties": {
    "responseType": {
      "description": "Indicates the mode of the question",
      "enum": [
        "Advanced Multi",
        "Simple"
      ],
      "type": "string",
      "title": "responseType"
    },
    "prompt": {
      "description": "The item stem for the question",
      "type": "string",
      "title": "prompt"
    },
    "promptEnabled": {
      "description": "Determines if prompt should show",
      "type": "boolean",
      "title": "promptEnabled"
    },
    "expression": {
      "description": "Indicates the expression for advanced mode",
      "type": "string",
      "title": "expression"
    },
    "equationEditor": {
      "description": "Indicates what type of editor should be displayed for all the possible responses\n1 for Grade 1 - 2\n3 for Grade 3 - 5\n6 for Grade 6 - 7\n8 for Grade 8 - HS\nnon-negative-integers\nintegers\ndecimals\nfractions\ngeometry\nadvanced-algebra\nstatistics",
      "default": "- item-authoring",
      "enum": [
        1,
        3,
        6,
        8,
        "advanced-algebra",
        "decimals",
        "fractions",
        "geometry",
        "integers",
        "item-authoring",
        "non-negative-integers",
        "statistics"
      ],
      "title": "equationEditor"
    },
    "feedback": {
      "title": "ComplexFeedbackType",
      "type": "object",
      "properties": {
        "correct": {
          "description": "Indicates the configuration for feedback when answer is correct",
          "anyOf": [
            {
              "title": "DefaultFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "enum": [
                    "default",
                    "none"
                  ],
                  "type": "string",
                  "title": "type"
                },
                "default": {
                  "description": "Indicates the feedback value",
                  "type": "string",
                  "title": "default"
                }
              },
              "required": [
                "type"
              ]
            },
            {
              "title": "CustomFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "type": "string",
                  "enum": [
                    "custom"
                  ],
                  "title": "type"
                },
                "custom": {
                  "description": "Indicates the feedback custom value",
                  "type": "string",
                  "title": "custom"
                }
              },
              "required": [
                "custom",
                "type"
              ]
            }
          ],
          "title": "correct"
        },
        "incorrect": {
          "description": "Indicates the configuration for feedback when answer is incorrect",
          "anyOf": [
            {
              "title": "DefaultFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "enum": [
                    "default",
                    "none"
                  ],
                  "type": "string",
                  "title": "type"
                },
                "default": {
                  "description": "Indicates the feedback value",
                  "type": "string",
                  "title": "default"
                }
              },
              "required": [
                "type"
              ]
            },
            {
              "title": "CustomFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "type": "string",
                  "enum": [
                    "custom"
                  ],
                  "title": "type"
                },
                "custom": {
                  "description": "Indicates the feedback custom value",
                  "type": "string",
                  "title": "custom"
                }
              },
              "required": [
                "custom",
                "type"
              ]
            }
          ],
          "title": "incorrect"
        },
        "partial": {
          "description": "Indicates the configuration for feedback when answer is partially correct",
          "anyOf": [
            {
              "title": "DefaultFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "enum": [
                    "default",
                    "none"
                  ],
                  "type": "string",
                  "title": "type"
                },
                "default": {
                  "description": "Indicates the feedback value",
                  "type": "string",
                  "title": "default"
                }
              },
              "required": [
                "type"
              ]
            },
            {
              "title": "CustomFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "type": "string",
                  "enum": [
                    "custom"
                  ],
                  "title": "type"
                },
                "custom": {
                  "description": "Indicates the feedback custom value",
                  "type": "string",
                  "title": "custom"
                }
              },
              "required": [
                "custom",
                "type"
              ]
            }
          ],
          "title": "partial"
        }
      },
      "required": [
        "correct",
        "incorrect"
      ]
    },
    "responses": {
      "description": "Array of all correct responses; if responseType is Simple, only first element in array is used",
      "type": "array",
      "items": {
        "title": "MathInlineResponse",
        "type": "object",
        "properties": {
          "id": {
            "description": "The id of the response",
            "type": [
              "string",
              "number"
            ],
            "title": "id"
          },
          "validation": {
            "description": "Indicates what type of validation should be applied on the response",
            "default": "is literal",
            "enum": [
              "literal",
              "symbolic"
            ],
            "type": "string",
            "title": "validation"
          },
          "ignoreOrder": {
            "description": "Indicates if the order of expression elements in literal validation can be ignore - whilst the expression is still mathematically correct",
            "default": "is false",
            "type": "boolean",
            "title": "ignoreOrder"
          },
          "allowTrailingZeros": {
            "description": "Indicates the allowance of trailing zeros in expressions - whilst the expression is still mathematically correct",
            "default": "is false",
            "type": "boolean",
            "title": "allowTrailingZeros"
          },
          "answer": {
            "description": "The answer for the question",
            "type": "string",
            "title": "answer"
          },
          "alternates": {
            "description": "For validation type = literal, alternates represents\nan object with some alternatives for the correct answers",
            "type": "object",
            "additionalProperties": false,
            "patternProperties": {
              "^[0-9]+$": {
                "title": "Alternate",
                "type": "object",
                "properties": {
                  "id": {
                    "description": "The id for the alternative response",
                    "type": "number",
                    "title": "id"
                  },
                  "answer": {
                    "description": "The value for the alternative response",
                    "type": "string",
                    "title": "answer"
                  }
                },
                "required": [
                  "answer",
                  "id"
                ]
              }
            },
            "title": "alternates"
          }
        },
        "required": [
          "allowTrailingZeros",
          "alternates",
          "answer",
          "id",
          "ignoreOrder",
          "validation"
        ]
      },
      "title": "responses"
    },
    "defaultResponse": {
      "title": "MathInlineResponse",
      "type": "object",
      "properties": {
        "id": {
          "description": "The id of the response",
          "type": [
            "string",
            "number"
          ],
          "title": "id"
        },
        "validation": {
          "description": "Indicates what type of validation should be applied on the response",
          "default": "is literal",
          "enum": [
            "literal",
            "symbolic"
          ],
          "type": "string",
          "title": "validation"
        },
        "ignoreOrder": {
          "description": "Indicates if the order of expression elements in literal validation can be ignore - whilst the expression is still mathematically correct",
          "default": "is false",
          "type": "boolean",
          "title": "ignoreOrder"
        },
        "allowTrailingZeros": {
          "description": "Indicates the allowance of trailing zeros in expressions - whilst the expression is still mathematically correct",
          "default": "is false",
          "type": "boolean",
          "title": "allowTrailingZeros"
        },
        "answer": {
          "description": "The answer for the question",
          "type": "string",
          "title": "answer"
        },
        "alternates": {
          "description": "For validation type = literal, alternates represents\nan object with some alternatives for the correct answers",
          "type": "object",
          "additionalProperties": false,
          "patternProperties": {
            "^[0-9]+$": {
              "title": "Alternate",
              "type": "object",
              "properties": {
                "id": {
                  "description": "The id for the alternative response",
                  "type": "number",
                  "title": "id"
                },
                "answer": {
                  "description": "The value for the alternative response",
                  "type": "string",
                  "title": "answer"
                }
              },
              "required": [
                "answer",
                "id"
              ]
            }
          },
          "title": "alternates"
        }
      },
      "required": [
        "allowTrailingZeros",
        "alternates",
        "answer",
        "id",
        "ignoreOrder",
        "validation"
      ]
    },
    "partialScoring": {
      "description": "Indicates if partial scoring is allowed.\nThis property is not used yet.",
      "type": "boolean",
      "title": "partialScoring"
    },
    "ignoreOrderDefault": {
      "description": "Indicates the default value for ignoreOrder, in case that it's not set",
      "default": "is false",
      "type": "boolean",
      "title": "ignoreOrderDefault"
    },
    "allowTrailingZerosDefault": {
      "description": "Indicates the default value for allowTrailingZeros, in case that it's not set",
      "default": "is false",
      "type": "boolean",
      "title": "allowTrailingZerosDefault"
    },
    "rationale": {
      "description": "Indicates the value for rationale",
      "type": "string",
      "title": "rationale"
    },
    "scoringType": {
      "description": "Indicates scoring type",
      "enum": [
        "auto",
        "rubric"
      ],
      "type": "string",
      "title": "scoringType"
    },
    "studentInstructions": {
      "description": "Indicates student instructions",
      "type": "string",
      "title": "studentInstructions"
    },
    "teacherInstructions": {
      "description": "Indicates teacher instructions",
      "type": "string",
      "title": "teacherInstructions"
    },
    "customKeys": {
      "description": "Extra buttons defined by user",
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "customKeys"
    },
    "feedbackEnabled": {
      "description": "Indicates if Feedback is enabled",
      "type": "boolean",
      "title": "feedbackEnabled"
    },
    "rationaleEnabled": {
      "description": "Indicates if Rationale are enabled",
      "type": "boolean",
      "title": "rationaleEnabled"
    },
    "spellCheckEnabled": {
      "description": "Indicates if spellcheck is enabled for the author. Default value is true",
      "type": "boolean",
      "title": "spellCheckEnabled"
    },
    "studentInstructionsEnabled": {
      "description": "Indicates if Student Instructions are enabled",
      "type": "boolean",
      "title": "studentInstructionsEnabled"
    },
    "teacherInstructionsEnabled": {
      "description": "Indicates if Teacher Instructions are enabled",
      "type": "boolean",
      "title": "teacherInstructionsEnabled"
    },
    "note": {
      "description": "Indicates the note for the answer",
      "type": "string",
      "title": "note"
    },
    "toolbarEditorPosition": {
      "description": "Indicates the editor's toolbar position which can be 'bottom' or 'top'",
      "default": ": 'bottom'",
      "enum": [
        "bottom",
        "top"
      ],
      "type": "string",
      "title": "toolbarEditorPosition"
    },
    "rubricEnabled": {
      "description": "Indicates if Rubric is enabled",
      "type": "boolean",
      "title": "rubricEnabled"
    },
    "language": {
      "description": "Indicates the language of the component\nSupported options: en, es, en_US, en-US, es_ES, es-ES, es_MX, es-MX",
      "type": "string",
      "title": "language"
    },
    "id": {
      "description": "Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.",
      "type": "string",
      "title": "id"
    },
    "element": {
      "description": "The html Element tag name",
      "type": "string",
      "title": "element"
    }
  },
  "required": [
    "allowTrailingZerosDefault",
    "element",
    "expression",
    "feedbackEnabled",
    "id",
    "ignoreOrderDefault",
    "rationaleEnabled",
    "responses",
    "rubricEnabled",
    "spellCheckEnabled",
    "studentInstructionsEnabled",
    "teacherInstructionsEnabled"
  ],
  "definitions": {
    "EditableHtmlConfigureProp": {
      "title": "EditableHtmlConfigureProp",
      "type": "object",
      "properties": {
        "math": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "audio": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "video": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "image": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "customPlugins": {
          "description": "An array of objects that determine custom plugins.\nA custom plugin is an object which determines how the button will look like (icon) and the event name that will be triggered when button gets pressed (event).\nExample can be found at https://github.com/pie-framework/pie-lib/blob/develop/packages/demo/pages/editable-html.js#L425.",
          "type": "array",
          "items": {
            "title": "CustomPlugin",
            "type": "object",
            "properties": {
              "event": {
                "description": "The name of the custom event. It needs to be valid (only letters, numbers and \"_\" can be used).\nPIE will emit the event prefixed with \"PIE-\".\nEg: event = 'client_custom_event_A' => the emitted event will be \"PIE-client_custom_event_A\"",
                "type": "string",
                "title": "event"
              },
              "iconAlt": {
                "description": "The alt for the custom button icon",
                "type": "string",
                "title": "iconAlt"
              },
              "iconType": {
                "description": "The icon type.\nCurrently, only \"SVG\" is supported.",
                "type": "string",
                "title": "iconType"
              },
              "icon": {
                "description": "The icon string. Currently, only \"SVG\" is supported, so it needs to be a valid svg.",
                "type": "string",
                "title": "icon"
              }
            },
            "required": [
              "event",
              "icon",
              "iconAlt",
              "iconType"
            ]
          },
          "title": "customPlugins"
        },
        "blockquote": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "h3": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "characters": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "bold": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "html": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "italic": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "ol_list": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "redo": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "strikethrough": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "sub": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "sup": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "table": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "ul_list": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "underline": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        },
        "undo": {
          "title": "EditableHtmlButtonConfigure",
          "type": "object",
          "properties": {
            "disabled": {
              "description": "Indicates if the plugin is disabled or not",
              "type": "boolean",
              "title": "disabled"
            }
          }
        }
      }
    },
    "EditableHtmlButtonConfigure": {
      "title": "EditableHtmlButtonConfigure",
      "type": "object",
      "properties": {
        "disabled": {
          "description": "Indicates if the plugin is disabled or not",
          "type": "boolean",
          "title": "disabled"
        }
      }
    },
    "CustomPlugin": {
      "title": "CustomPlugin",
      "type": "object",
      "properties": {
        "event": {
          "description": "The name of the custom event. It needs to be valid (only letters, numbers and \"_\" can be used).\nPIE will emit the event prefixed with \"PIE-\".\nEg: event = 'client_custom_event_A' => the emitted event will be \"PIE-client_custom_event_A\"",
          "type": "string",
          "title": "event"
        },
        "iconAlt": {
          "description": "The alt for the custom button icon",
          "type": "string",
          "title": "iconAlt"
        },
        "iconType": {
          "description": "The icon type.\nCurrently, only \"SVG\" is supported.",
          "type": "string",
          "title": "iconType"
        },
        "icon": {
          "description": "The icon string. Currently, only \"SVG\" is supported, so it needs to be a valid svg.",
          "type": "string",
          "title": "icon"
        }
      },
      "required": [
        "event",
        "icon",
        "iconAlt",
        "iconType"
      ]
    },
    "EditableHtmlPluginConfigureRequired": {
      "title": "EditableHtmlPluginConfigureRequired",
      "type": "object",
      "properties": {
        "inputConfiguration": {
          "title": "EditableHtmlConfigureProp",
          "type": "object",
          "properties": {
            "math": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "audio": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "video": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "image": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "customPlugins": {
              "description": "An array of objects that determine custom plugins.\nA custom plugin is an object which determines how the button will look like (icon) and the event name that will be triggered when button gets pressed (event).\nExample can be found at https://github.com/pie-framework/pie-lib/blob/develop/packages/demo/pages/editable-html.js#L425.",
              "type": "array",
              "items": {
                "title": "CustomPlugin",
                "type": "object",
                "properties": {
                  "event": {
                    "description": "The name of the custom event. It needs to be valid (only letters, numbers and \"_\" can be used).\nPIE will emit the event prefixed with \"PIE-\".\nEg: event = 'client_custom_event_A' => the emitted event will be \"PIE-client_custom_event_A\"",
                    "type": "string",
                    "title": "event"
                  },
                  "iconAlt": {
                    "description": "The alt for the custom button icon",
                    "type": "string",
                    "title": "iconAlt"
                  },
                  "iconType": {
                    "description": "The icon type.\nCurrently, only \"SVG\" is supported.",
                    "type": "string",
                    "title": "iconType"
                  },
                  "icon": {
                    "description": "The icon string. Currently, only \"SVG\" is supported, so it needs to be a valid svg.",
                    "type": "string",
                    "title": "icon"
                  }
                },
                "required": [
                  "event",
                  "icon",
                  "iconAlt",
                  "iconType"
                ]
              },
              "title": "customPlugins"
            },
            "blockquote": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "h3": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "characters": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "bold": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "html": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "italic": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "ol_list": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "redo": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "strikethrough": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "sub": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "sup": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "table": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "ul_list": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "underline": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            },
            "undo": {
              "title": "EditableHtmlButtonConfigure",
              "type": "object",
              "properties": {
                "disabled": {
                  "description": "Indicates if the plugin is disabled or not",
                  "type": "boolean",
                  "title": "disabled"
                }
              }
            }
          }
        },
        "required": {
          "description": "Indicates if the item is required and the value cannot be empty",
          "type": "boolean",
          "title": "required"
        },
        "settings": {
          "description": "Indicates if the item has to be displayed in the Settings Panel",
          "type": "boolean",
          "title": "settings"
        },
        "label": {
          "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
          "type": "string",
          "title": "label"
        }
      }
    },
    "ConfigureProp": {
      "title": "ConfigureProp",
      "type": "object",
      "properties": {
        "settings": {
          "description": "Indicates if the item has to be displayed in the Settings Panel",
          "type": "boolean",
          "title": "settings"
        },
        "label": {
          "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
          "type": "string",
          "title": "label"
        }
      }
    },
    "ConfigurePropWithEnabled": {
      "title": "ConfigurePropWithEnabled",
      "type": "object",
      "properties": {
        "enabled": {
          "description": "Indicates the value of the item if it affects config-ui\n(eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)",
          "type": "boolean",
          "title": "enabled"
        },
        "settings": {
          "description": "Indicates if the item has to be displayed in the Settings Panel",
          "type": "boolean",
          "title": "settings"
        },
        "label": {
          "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
          "type": "string",
          "title": "label"
        }
      }
    },
    "ConfigureMaxImageDimensionsProp": {
      "title": "ConfigureMaxImageDimensionsProp",
      "type": "object",
      "properties": {
        "teacherInstructions": {
          "description": "Indicates the max dimension for images in teacher instructions",
          "type": "number",
          "title": "teacherInstructions"
        },
        "prompt": {
          "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
          "type": "number",
          "title": "prompt"
        },
        "rationale": {
          "description": "Indicates the max dimension for images in rationale",
          "type": "number",
          "title": "rationale"
        }
      }
    },
    "ConfigureMathMLProp": {
      "title": "ConfigureMathMLProp",
      "type": "object",
      "properties": {
        "mmlOutput": {
          "description": "Indicates if model should have mathML output instead of latex",
          "type": "number",
          "title": "mmlOutput"
        },
        "mmlEditing": {
          "description": "Indicates if mathML that's already in model should be editable",
          "type": "number",
          "title": "mmlEditing"
        }
      }
    },
    "ConfigureLanguageOptionsProp": {
      "title": "ConfigureLanguageOptionsProp",
      "type": "object",
      "properties": {
        "value": {
          "description": "Value of the language option",
          "type": "string",
          "title": "value"
        },
        "label": {
          "description": "Label of the language option",
          "type": "string",
          "title": "label"
        }
      },
      "required": [
        "label",
        "value"
      ]
    },
    "ComplexFeedbackType": {
      "title": "ComplexFeedbackType",
      "type": "object",
      "properties": {
        "correct": {
          "description": "Indicates the configuration for feedback when answer is correct",
          "anyOf": [
            {
              "title": "DefaultFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "enum": [
                    "default",
                    "none"
                  ],
                  "type": "string",
                  "title": "type"
                },
                "default": {
                  "description": "Indicates the feedback value",
                  "type": "string",
                  "title": "default"
                }
              },
              "required": [
                "type"
              ]
            },
            {
              "title": "CustomFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "type": "string",
                  "enum": [
                    "custom"
                  ],
                  "title": "type"
                },
                "custom": {
                  "description": "Indicates the feedback custom value",
                  "type": "string",
                  "title": "custom"
                }
              },
              "required": [
                "custom",
                "type"
              ]
            }
          ],
          "title": "correct"
        },
        "incorrect": {
          "description": "Indicates the configuration for feedback when answer is incorrect",
          "anyOf": [
            {
              "title": "DefaultFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "enum": [
                    "default",
                    "none"
                  ],
                  "type": "string",
                  "title": "type"
                },
                "default": {
                  "description": "Indicates the feedback value",
                  "type": "string",
                  "title": "default"
                }
              },
              "required": [
                "type"
              ]
            },
            {
              "title": "CustomFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "type": "string",
                  "enum": [
                    "custom"
                  ],
                  "title": "type"
                },
                "custom": {
                  "description": "Indicates the feedback custom value",
                  "type": "string",
                  "title": "custom"
                }
              },
              "required": [
                "custom",
                "type"
              ]
            }
          ],
          "title": "incorrect"
        },
        "partial": {
          "description": "Indicates the configuration for feedback when answer is partially correct",
          "anyOf": [
            {
              "title": "DefaultFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "enum": [
                    "default",
                    "none"
                  ],
                  "type": "string",
                  "title": "type"
                },
                "default": {
                  "description": "Indicates the feedback value",
                  "type": "string",
                  "title": "default"
                }
              },
              "required": [
                "type"
              ]
            },
            {
              "title": "CustomFeedbackType",
              "type": "object",
              "properties": {
                "type": {
                  "description": "Indicates the feedback type",
                  "type": "string",
                  "enum": [
                    "custom"
                  ],
                  "title": "type"
                },
                "custom": {
                  "description": "Indicates the feedback custom value",
                  "type": "string",
                  "title": "custom"
                }
              },
              "required": [
                "custom",
                "type"
              ]
            }
          ],
          "title": "partial"
        }
      },
      "required": [
        "correct",
        "incorrect"
      ]
    },
    "DefaultFeedbackType": {
      "title": "DefaultFeedbackType",
      "type": "object",
      "properties": {
        "type": {
          "description": "Indicates the feedback type",
          "enum": [
            "default",
            "none"
          ],
          "type": "string",
          "title": "type"
        },
        "default": {
          "description": "Indicates the feedback value",
          "type": "string",
          "title": "default"
        }
      },
      "required": [
        "type"
      ]
    },
    "CustomFeedbackType": {
      "title": "CustomFeedbackType",
      "type": "object",
      "properties": {
        "type": {
          "description": "Indicates the feedback type",
          "type": "string",
          "enum": [
            "custom"
          ],
          "title": "type"
        },
        "custom": {
          "description": "Indicates the feedback custom value",
          "type": "string",
          "title": "custom"
        }
      },
      "required": [
        "custom",
        "type"
      ]
    },
    "MathInlineResponse": {
      "title": "MathInlineResponse",
      "type": "object",
      "properties": {
        "id": {
          "description": "The id of the response",
          "type": [
            "string",
            "number"
          ],
          "title": "id"
        },
        "validation": {
          "description": "Indicates what type of validation should be applied on the response",
          "default": "is literal",
          "enum": [
            "literal",
            "symbolic"
          ],
          "type": "string",
          "title": "validation"
        },
        "ignoreOrder": {
          "description": "Indicates if the order of expression elements in literal validation can be ignore - whilst the expression is still mathematically correct",
          "default": "is false",
          "type": "boolean",
          "title": "ignoreOrder"
        },
        "allowTrailingZeros": {
          "description": "Indicates the allowance of trailing zeros in expressions - whilst the expression is still mathematically correct",
          "default": "is false",
          "type": "boolean",
          "title": "allowTrailingZeros"
        },
        "answer": {
          "description": "The answer for the question",
          "type": "string",
          "title": "answer"
        },
        "alternates": {
          "description": "For validation type = literal, alternates represents\nan object with some alternatives for the correct answers",
          "type": "object",
          "additionalProperties": false,
          "patternProperties": {
            "^[0-9]+$": {
              "title": "Alternate",
              "type": "object",
              "properties": {
                "id": {
                  "description": "The id for the alternative response",
                  "type": "number",
                  "title": "id"
                },
                "answer": {
                  "description": "The value for the alternative response",
                  "type": "string",
                  "title": "answer"
                }
              },
              "required": [
                "answer",
                "id"
              ]
            }
          },
          "title": "alternates"
        }
      },
      "required": [
        "allowTrailingZeros",
        "alternates",
        "answer",
        "id",
        "ignoreOrder",
        "validation"
      ]
    },
    "Alternate": {
      "title": "Alternate",
      "type": "object",
      "properties": {
        "id": {
          "description": "The id for the alternative response",
          "type": "number",
          "title": "id"
        },
        "answer": {
          "description": "The value for the alternative response",
          "type": "string",
          "title": "answer"
        }
      },
      "required": [
        "answer",
        "id"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}