import IconProp from "../../Icon/IconProp";
import ComponentID from "../ComponentID";
import { ComponentInputType, ComponentType, } from "./../Component";
export var ConditionValueType;
(function (ConditionValueType) {
    ConditionValueType["Text"] = "text";
    ConditionValueType["Boolean"] = "boolean";
    ConditionValueType["Number"] = "number";
    ConditionValueType["Null"] = "null";
    ConditionValueType["Undefined"] = "undefined";
})(ConditionValueType || (ConditionValueType = {}));
export var ConditionOperator;
(function (ConditionOperator) {
    ConditionOperator["EqualTo"] = "==";
    ConditionOperator["NotEqualTo"] = "!=";
    ConditionOperator["GreaterThan"] = ">";
    ConditionOperator["GreaterThanOrEqualTo"] = ">=";
    ConditionOperator["LessThan"] = "<";
    ConditionOperator["LessThanOrEqualTo"] = "<=";
    ConditionOperator["Contains"] = "contains";
    ConditionOperator["DoesNotContain"] = "does not contain";
    ConditionOperator["StartsWith"] = "starts with";
    ConditionOperator["EndsWith"] = "ends with";
})(ConditionOperator || (ConditionOperator = {}));
const components = [
    {
        id: ComponentID.IfElse,
        title: "If / Else",
        category: "Conditions",
        description: "Branch based on Inputs",
        iconProp: IconProp.Condition,
        componentType: ComponentType.Component,
        arguments: [
            {
                type: ComponentInputType.ValueType,
                name: "Input 1 Type",
                description: "Type of Input 1. Defaults to Text if not selected.",
                placeholder: "Text",
                required: false,
                id: "input-1-type",
            },
            {
                type: ComponentInputType.Text,
                name: "Input 1",
                description: "Input 1",
                placeholder: "x",
                required: true,
                id: "input-1",
            },
            {
                type: ComponentInputType.Operator,
                name: "Operator",
                description: "Operator",
                placeholder: "Equal To",
                required: true,
                id: "operator",
            },
            {
                type: ComponentInputType.ValueType,
                name: "Input 2 Type",
                description: "Type of Input 2. Defaults to Text if not selected.",
                placeholder: "Text",
                required: false,
                id: "input-2-type",
            },
            {
                type: ComponentInputType.Text,
                name: "Input 2",
                description: "This fields takes number, text, boolean, null, undefined as values.",
                placeholder: "x",
                required: true,
                id: "input-2",
            },
        ],
        returnValues: [],
        inPorts: [
            {
                title: "In",
                description: "Please connect components to this port for this component to work.",
                id: "in",
            },
        ],
        outPorts: [
            {
                title: "Yes",
                description: "If, yes then this port will be executed",
                id: "yes",
            },
            {
                title: "No",
                description: "If, no then this port will be executed",
                id: "no",
            },
        ],
    },
];
export default components;
//# sourceMappingURL=Condition.js.map