import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@progress/kendo-angular-dialog";
import * as i2 from "@angular/forms";
import * as i3 from "@progress/kendo-angular-inputs";
import * as i4 from "@progress/kendo-angular-dropdowns";
import * as i5 from "@progress/kendo-angular-buttons";
function ActionParamDialogComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "span", 5);
    i0.ɵɵtext(1, "*");
    i0.ɵɵelementEnd();
} }
function ActionParamDialogComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
    const _r1 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "kendo-textbox", 20);
    i0.ɵɵtwoWayListener("ngModelChange", function ActionParamDialogComponent_Conditional_10_Template_kendo_textbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.paramName, $event) || (ctx_r1.paramName = $event); return i0.ɵɵresetView($event); });
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵtwoWayProperty("ngModel", ctx_r1.paramName);
} }
function ActionParamDialogComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 7);
    i0.ɵɵtext(1);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵtextInterpolate(ctx_r1.paramName || "N/A");
} }
function ActionParamDialogComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "span", 5);
    i0.ɵɵtext(1, "*");
    i0.ɵɵelementEnd();
} }
function ActionParamDialogComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
    const _r3 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "kendo-dropdownlist", 21);
    i0.ɵɵtwoWayListener("ngModelChange", function ActionParamDialogComponent_Conditional_16_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.paramType, $event) || (ctx_r1.paramType = $event); return i0.ɵɵresetView($event); });
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵtwoWayProperty("ngModel", ctx_r1.paramType);
    i0.ɵɵproperty("data", ctx_r1.paramTypes)("valuePrimitive", true);
} }
function ActionParamDialogComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 7)(1, "span", 22);
    i0.ɵɵtext(2);
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵclassMap("type-" + ctx_r1.paramType.toLowerCase());
    i0.ɵɵadvance();
    i0.ɵɵtextInterpolate1(" ", ctx_r1.paramType, " ");
} }
function ActionParamDialogComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "span", 5);
    i0.ɵɵtext(1, "*");
    i0.ɵɵelementEnd();
} }
function ActionParamDialogComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
    const _r4 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "kendo-dropdownlist", 23);
    i0.ɵɵtwoWayListener("ngModelChange", function ActionParamDialogComponent_Conditional_22_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.valueType, $event) || (ctx_r1.valueType = $event); return i0.ɵɵresetView($event); });
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵtwoWayProperty("ngModel", ctx_r1.valueType);
    i0.ɵɵproperty("data", ctx_r1.valueTypes)("valuePrimitive", true);
} }
function ActionParamDialogComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 7);
    i0.ɵɵtext(1);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵtextInterpolate(ctx_r1.valueType);
} }
function ActionParamDialogComponent_Conditional_27_Template(rf, ctx) { if (rf & 1) {
    const _r5 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "kendo-textarea", 24);
    i0.ɵɵtwoWayListener("ngModelChange", function ActionParamDialogComponent_Conditional_27_Template_kendo_textarea_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.description, $event) || (ctx_r1.description = $event); return i0.ɵɵresetView($event); });
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵtwoWayProperty("ngModel", ctx_r1.description);
    i0.ɵɵproperty("rows", 3);
} }
function ActionParamDialogComponent_Conditional_28_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 11);
    i0.ɵɵtext(1);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵtextInterpolate(ctx_r1.description || "No description provided");
} }
function ActionParamDialogComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
    const _r6 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "kendo-textbox", 25);
    i0.ɵɵtwoWayListener("ngModelChange", function ActionParamDialogComponent_Conditional_32_Template_kendo_textbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.defaultValue, $event) || (ctx_r1.defaultValue = $event); return i0.ɵɵresetView($event); });
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵtwoWayProperty("ngModel", ctx_r1.defaultValue);
} }
function ActionParamDialogComponent_Conditional_33_Conditional_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "code");
    i0.ɵɵtext(1);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext(2);
    i0.ɵɵadvance();
    i0.ɵɵtextInterpolate(ctx_r1.defaultValue);
} }
function ActionParamDialogComponent_Conditional_33_Conditional_2_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "span", 26);
    i0.ɵɵtext(1, "No default value");
    i0.ɵɵelementEnd();
} }
function ActionParamDialogComponent_Conditional_33_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 7);
    i0.ɵɵtemplate(1, ActionParamDialogComponent_Conditional_33_Conditional_1_Template, 2, 1, "code")(2, ActionParamDialogComponent_Conditional_33_Conditional_2_Template, 2, 0, "span", 26);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r1.defaultValue ? 1 : 2);
} }
function ActionParamDialogComponent_Conditional_37_Template(rf, ctx) { if (rf & 1) {
    const _r7 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "kendo-switch", 27);
    i0.ɵɵtwoWayListener("ngModelChange", function ActionParamDialogComponent_Conditional_37_Template_kendo_switch_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.isRequired, $event) || (ctx_r1.isRequired = $event); return i0.ɵɵresetView($event); });
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵtwoWayProperty("ngModel", ctx_r1.isRequired);
} }
function ActionParamDialogComponent_Conditional_38_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelement(0, "i", 28);
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵstyleProp("color", ctx_r1.isRequired ? "#28a745" : "#6c757d");
    i0.ɵɵclassProp("fa-check-circle", ctx_r1.isRequired)("fa-times-circle", !ctx_r1.isRequired);
} }
function ActionParamDialogComponent_Conditional_43_Template(rf, ctx) { if (rf & 1) {
    const _r8 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "kendo-switch", 29);
    i0.ɵɵtwoWayListener("ngModelChange", function ActionParamDialogComponent_Conditional_43_Template_kendo_switch_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.isArray, $event) || (ctx_r1.isArray = $event); return i0.ɵɵresetView($event); });
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵtwoWayProperty("ngModel", ctx_r1.isArray);
} }
function ActionParamDialogComponent_Conditional_44_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelement(0, "i", 28);
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵstyleProp("color", ctx_r1.isArray ? "#28a745" : "#6c757d");
    i0.ɵɵclassProp("fa-check-circle", ctx_r1.isArray)("fa-times-circle", !ctx_r1.isArray);
} }
function ActionParamDialogComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
    const _r9 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "button", 30);
    i0.ɵɵlistener("click", function ActionParamDialogComponent_Conditional_48_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancel()); });
    i0.ɵɵtext(1, "Cancel");
    i0.ɵɵelementEnd();
    i0.ɵɵelementStart(2, "button", 31);
    i0.ɵɵlistener("click", function ActionParamDialogComponent_Conditional_48_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.save()); });
    i0.ɵɵtext(3, "Save");
    i0.ɵɵelementEnd();
} }
function ActionParamDialogComponent_Conditional_49_Template(rf, ctx) { if (rf & 1) {
    const _r10 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "button", 31);
    i0.ɵɵlistener("click", function ActionParamDialogComponent_Conditional_49_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancel()); });
    i0.ɵɵtext(1, "Close");
    i0.ɵɵelementEnd();
} }
export class ActionParamDialogComponent {
    constructor(dialogRef) {
        this.dialogRef = dialogRef;
        this.isNew = false;
        this.editMode = false;
        // Form fields
        this.paramName = '';
        this.paramType = 'Input';
        this.valueType = 'Scalar';
        this.description = '';
        this.defaultValue = '';
        this.isRequired = false;
        this.isArray = false;
        // Value type options
        this.valueTypes = [
            { text: 'Scalar', value: 'Scalar' },
            { text: 'Simple Object', value: 'Simple Object' },
            { text: 'BaseEntity Sub-Class', value: 'BaseEntity Sub-Class' },
            { text: 'Other', value: 'Other' }
        ];
        this.paramTypes = [
            { text: 'Input', value: 'Input' },
            { text: 'Output', value: 'Output' },
            { text: 'Both', value: 'Both' }
        ];
    }
    ngOnInit() {
        if (this.param) {
            // Load existing values
            this.paramName = this.param.Name || '';
            this.paramType = this.param.Type;
            this.valueType = this.param.ValueType || 'Scalar';
            this.description = this.param.Description || '';
            this.defaultValue = this.param.DefaultValue || '';
            this.isRequired = this.param.IsRequired || false;
            this.isArray = this.param.IsArray || false;
        }
    }
    save() {
        // Update the param entity with form values
        this.param.Name = this.paramName;
        this.param.Type = this.paramType;
        this.param.ValueType = this.valueType;
        this.param.Description = this.description;
        this.param.DefaultValue = this.defaultValue;
        this.param.IsRequired = this.isRequired;
        this.param.IsArray = this.isArray;
        // Close dialog and pass back the updated param
        this.dialogRef.close({ param: this.param, save: true });
    }
    cancel() {
        this.dialogRef.close({ save: false });
    }
    static { this.ɵfac = function ActionParamDialogComponent_Factory(t) { return new (t || ActionParamDialogComponent)(i0.ɵɵdirectiveInject(i1.DialogRef)); }; }
    static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionParamDialogComponent, selectors: [["mj-action-param-dialog"]], inputs: { param: "param", isNew: "isNew", editMode: "editMode" }, decls: 50, vars: 12, consts: [[2, "font-weight", "600"], [1, "fa-solid", "fa-sliders"], [1, "param-dialog-content"], [1, "param-form"], [1, "form-field"], [1, "required"], ["name", "paramName", "placeholder", "Enter parameter name...", 2, "width", "100%", 3, "ngModel"], [1, "readonly-value"], ["name", "paramType", "textField", "text", "valueField", "value", 2, "width", "100%", 3, "ngModel", "data", "valuePrimitive"], ["name", "valueType", "textField", "text", "valueField", "value", 2, "width", "100%", 3, "ngModel", "data", "valuePrimitive"], ["name", "description", "placeholder", "Enter parameter description...", 2, "width", "100%", 3, "ngModel", "rows"], [1, "readonly-value", "description"], ["name", "defaultValue", "placeholder", "Enter default value...", 2, "width", "100%", 3, "ngModel"], [1, "form-field-row"], [1, "checkbox-field"], ["name", "isRequired", 3, "ngModel"], [1, "fa-solid", 3, "fa-check-circle", "fa-times-circle", "color"], [2, "margin-left", "8px"], ["name", "isArray", 3, "ngModel"], ["kendoButton", "", "themeColor", "primary"], ["name", "paramName", "placeholder", "Enter parameter name...", 2, "width", "100%", 3, "ngModelChange", "ngModel"], ["name", "paramType", "textField", "text", "valueField", "value", 2, "width", "100%", 3, "ngModelChange", "ngModel", "data", "valuePrimitive"], [1, "type-badge"], ["name", "valueType", "textField", "text", "valueField", "value", 2, "width", "100%", 3, "ngModelChange", "ngModel", "data", "valuePrimitive"], ["name", "description", "placeholder", "Enter parameter description...", 2, "width", "100%", 3, "ngModelChange", "ngModel", "rows"], ["name", "defaultValue", "placeholder", "Enter default value...", 2, "width", "100%", 3, "ngModelChange", "ngModel"], [2, "color", "#6c757d"], ["name", "isRequired", 3, "ngModelChange", "ngModel"], [1, "fa-solid"], ["name", "isArray", 3, "ngModelChange", "ngModel"], ["kendoButton", "", 3, "click"], ["kendoButton", "", "themeColor", "primary", 3, "click"]], template: function ActionParamDialogComponent_Template(rf, ctx) { if (rf & 1) {
            i0.ɵɵelementStart(0, "kendo-dialog-titlebar")(1, "span", 0);
            i0.ɵɵelement(2, "i", 1);
            i0.ɵɵtext(3);
            i0.ɵɵelementEnd()();
            i0.ɵɵelementStart(4, "div", 2)(5, "form", 3)(6, "div", 4)(7, "label");
            i0.ɵɵtext(8, " Parameter Name ");
            i0.ɵɵtemplate(9, ActionParamDialogComponent_Conditional_9_Template, 2, 0, "span", 5);
            i0.ɵɵelementEnd();
            i0.ɵɵtemplate(10, ActionParamDialogComponent_Conditional_10_Template, 1, 1, "kendo-textbox", 6)(11, ActionParamDialogComponent_Conditional_11_Template, 2, 1, "div", 7);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(12, "div", 4)(13, "label");
            i0.ɵɵtext(14, " Type ");
            i0.ɵɵtemplate(15, ActionParamDialogComponent_Conditional_15_Template, 2, 0, "span", 5);
            i0.ɵɵelementEnd();
            i0.ɵɵtemplate(16, ActionParamDialogComponent_Conditional_16_Template, 1, 3, "kendo-dropdownlist", 8)(17, ActionParamDialogComponent_Conditional_17_Template, 3, 3, "div", 7);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(18, "div", 4)(19, "label");
            i0.ɵɵtext(20, " Value Type ");
            i0.ɵɵtemplate(21, ActionParamDialogComponent_Conditional_21_Template, 2, 0, "span", 5);
            i0.ɵɵelementEnd();
            i0.ɵɵtemplate(22, ActionParamDialogComponent_Conditional_22_Template, 1, 3, "kendo-dropdownlist", 9)(23, ActionParamDialogComponent_Conditional_23_Template, 2, 1, "div", 7);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(24, "div", 4)(25, "label");
            i0.ɵɵtext(26, "Description");
            i0.ɵɵelementEnd();
            i0.ɵɵtemplate(27, ActionParamDialogComponent_Conditional_27_Template, 1, 2, "kendo-textarea", 10)(28, ActionParamDialogComponent_Conditional_28_Template, 2, 1, "div", 11);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(29, "div", 4)(30, "label");
            i0.ɵɵtext(31, "Default Value");
            i0.ɵɵelementEnd();
            i0.ɵɵtemplate(32, ActionParamDialogComponent_Conditional_32_Template, 1, 1, "kendo-textbox", 12)(33, ActionParamDialogComponent_Conditional_33_Template, 3, 1, "div", 7);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(34, "div", 13)(35, "div", 14)(36, "label");
            i0.ɵɵtemplate(37, ActionParamDialogComponent_Conditional_37_Template, 1, 1, "kendo-switch", 15)(38, ActionParamDialogComponent_Conditional_38_Template, 1, 6, "i", 16);
            i0.ɵɵelementStart(39, "span", 17);
            i0.ɵɵtext(40, "Required Parameter");
            i0.ɵɵelementEnd()()();
            i0.ɵɵelementStart(41, "div", 14)(42, "label");
            i0.ɵɵtemplate(43, ActionParamDialogComponent_Conditional_43_Template, 1, 1, "kendo-switch", 18)(44, ActionParamDialogComponent_Conditional_44_Template, 1, 6, "i", 16);
            i0.ɵɵelementStart(45, "span", 17);
            i0.ɵɵtext(46, "Array Type");
            i0.ɵɵelementEnd()()()()()();
            i0.ɵɵelementStart(47, "kendo-dialog-actions");
            i0.ɵɵtemplate(48, ActionParamDialogComponent_Conditional_48_Template, 4, 0)(49, ActionParamDialogComponent_Conditional_49_Template, 2, 0, "button", 19);
            i0.ɵɵelementEnd();
        } if (rf & 2) {
            i0.ɵɵadvance(3);
            i0.ɵɵtextInterpolate1(" ", ctx.isNew ? "Add Parameter" : ctx.editMode ? "Edit Parameter" : "Parameter Details", " ");
            i0.ɵɵadvance(6);
            i0.ɵɵconditional(ctx.editMode ? 9 : -1);
            i0.ɵɵadvance();
            i0.ɵɵconditional(ctx.editMode ? 10 : 11);
            i0.ɵɵadvance(5);
            i0.ɵɵconditional(ctx.editMode ? 15 : -1);
            i0.ɵɵadvance();
            i0.ɵɵconditional(ctx.editMode ? 16 : 17);
            i0.ɵɵadvance(5);
            i0.ɵɵconditional(ctx.editMode ? 21 : -1);
            i0.ɵɵadvance();
            i0.ɵɵconditional(ctx.editMode ? 22 : 23);
            i0.ɵɵadvance(5);
            i0.ɵɵconditional(ctx.editMode ? 27 : 28);
            i0.ɵɵadvance(5);
            i0.ɵɵconditional(ctx.editMode ? 32 : 33);
            i0.ɵɵadvance(5);
            i0.ɵɵconditional(ctx.editMode ? 37 : 38);
            i0.ɵɵadvance(6);
            i0.ɵɵconditional(ctx.editMode ? 43 : 44);
            i0.ɵɵadvance(5);
            i0.ɵɵconditional(ctx.editMode ? 48 : 49);
        } }, dependencies: [i2.ɵNgNoValidate, i2.NgControlStatus, i2.NgControlStatusGroup, i2.NgModel, i2.NgForm, i1.DialogTitleBarComponent, i1.DialogActionsComponent, i3.TextAreaComponent, i3.TextBoxComponent, i3.SwitchComponent, i4.DropDownListComponent, i5.ButtonComponent], styles: [".param-dialog-content[_ngcontent-%COMP%] {\n    padding: 20px;\n    min-width: 400px;\n}\n\n.param-form[_ngcontent-%COMP%] {\n    display: flex;\n    flex-direction: column;\n    gap: 20px;\n}\n\n.form-field[_ngcontent-%COMP%] {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n}\n\n.form-field[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n    font-weight: 600;\n    color: #495057;\n    font-size: 0.9em;\n}\n\n.required[_ngcontent-%COMP%] {\n    color: #dc3545;\n    margin-left: 4px;\n}\n\n.readonly-value[_ngcontent-%COMP%] {\n    padding: 8px 12px;\n    background: #f8f9fa;\n    border: 1px solid #e9ecef;\n    border-radius: 4px;\n    color: #495057;\n}\n\n.readonly-value.description[_ngcontent-%COMP%] {\n    line-height: 1.5;\n    white-space: pre-wrap;\n}\n\n.readonly-value[_ngcontent-%COMP%]   code[_ngcontent-%COMP%] {\n    background: #e9ecef;\n    padding: 2px 6px;\n    border-radius: 3px;\n    font-family: 'Courier New', monospace;\n    color: #e83e8c;\n}\n\n.type-badge[_ngcontent-%COMP%] {\n    display: inline-block;\n    padding: 4px 12px;\n    border-radius: 12px;\n    font-weight: 500;\n    font-size: 0.85em;\n}\n\n.type-badge.type-input[_ngcontent-%COMP%] {\n    background: #cfe2ff;\n    color: #084298;\n}\n\n.type-badge.type-output[_ngcontent-%COMP%] {\n    background: #d1e7dd;\n    color: #0f5132;\n}\n\n.type-badge.type-both[_ngcontent-%COMP%] {\n    background: #e0cffc;\n    color: #432874;\n}\n\n.form-field-row[_ngcontent-%COMP%] {\n    display: flex;\n    gap: 24px;\n    margin-top: 8px;\n}\n\n.checkbox-field[_ngcontent-%COMP%] {\n    display: flex;\n    align-items: center;\n}\n\n.checkbox-field[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n    display: flex;\n    align-items: center;\n    margin: 0;\n    font-weight: normal;\n}"] }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionParamDialogComponent, [{
        type: Component,
        args: [{ selector: 'mj-action-param-dialog', template: "<kendo-dialog-titlebar>\n    <span style=\"font-weight: 600;\">\n        <i class=\"fa-solid fa-sliders\"></i>\n        {{ isNew ? 'Add Parameter' : (editMode ? 'Edit Parameter' : 'Parameter Details') }}\n    </span>\n</kendo-dialog-titlebar>\n\n<div class=\"param-dialog-content\">\n    <form class=\"param-form\">\n        <!-- Parameter Name -->\n        <div class=\"form-field\">\n            <label>\n                Parameter Name\n                @if (editMode) {\n                    <span class=\"required\">*</span>\n                }\n            </label>\n            @if (editMode) {\n                <kendo-textbox \n                    [(ngModel)]=\"paramName\"\n                    name=\"paramName\"\n                    placeholder=\"Enter parameter name...\"\n                    style=\"width: 100%;\">\n                </kendo-textbox>\n            } @else {\n                <div class=\"readonly-value\">{{ paramName || 'N/A' }}</div>\n            }\n        </div>\n\n        <!-- Parameter Type -->\n        <div class=\"form-field\">\n            <label>\n                Type\n                @if (editMode) {\n                    <span class=\"required\">*</span>\n                }\n            </label>\n            @if (editMode) {\n                <kendo-dropdownlist \n                    [(ngModel)]=\"paramType\"\n                    name=\"paramType\"\n                    [data]=\"paramTypes\"\n                    textField=\"text\"\n                    valueField=\"value\"\n                    [valuePrimitive]=\"true\"\n                    style=\"width: 100%;\">\n                </kendo-dropdownlist>\n            } @else {\n                <div class=\"readonly-value\">\n                    <span class=\"type-badge\" [class]=\"'type-' + paramType.toLowerCase()\">\n                        {{ paramType }}\n                    </span>\n                </div>\n            }\n        </div>\n\n        <!-- Value Type -->\n        <div class=\"form-field\">\n            <label>\n                Value Type\n                @if (editMode) {\n                    <span class=\"required\">*</span>\n                }\n            </label>\n            @if (editMode) {\n                <kendo-dropdownlist \n                    [(ngModel)]=\"valueType\"\n                    name=\"valueType\"\n                    [data]=\"valueTypes\"\n                    textField=\"text\"\n                    valueField=\"value\"\n                    [valuePrimitive]=\"true\"\n                    style=\"width: 100%;\">\n                </kendo-dropdownlist>\n            } @else {\n                <div class=\"readonly-value\">{{ valueType }}</div>\n            }\n        </div>\n\n        <!-- Description -->\n        <div class=\"form-field\">\n            <label>Description</label>\n            @if (editMode) {\n                <kendo-textarea \n                    [(ngModel)]=\"description\"\n                    name=\"description\"\n                    [rows]=\"3\"\n                    placeholder=\"Enter parameter description...\"\n                    style=\"width: 100%;\">\n                </kendo-textarea>\n            } @else {\n                <div class=\"readonly-value description\">{{ description || 'No description provided' }}</div>\n            }\n        </div>\n\n        <!-- Default Value -->\n        <div class=\"form-field\">\n            <label>Default Value</label>\n            @if (editMode) {\n                <kendo-textbox \n                    [(ngModel)]=\"defaultValue\"\n                    name=\"defaultValue\"\n                    placeholder=\"Enter default value...\"\n                    style=\"width: 100%;\">\n                </kendo-textbox>\n            } @else {\n                <div class=\"readonly-value\">\n                    @if (defaultValue) {\n                        <code>{{ defaultValue }}</code>\n                    } @else {\n                        <span style=\"color: #6c757d;\">No default value</span>\n                    }\n                </div>\n            }\n        </div>\n\n        <!-- Checkboxes -->\n        <div class=\"form-field-row\">\n            <div class=\"checkbox-field\">\n                <label>\n                    @if (editMode) {\n                        <kendo-switch \n                            [(ngModel)]=\"isRequired\"\n                            name=\"isRequired\">\n                        </kendo-switch>\n                    } @else {\n                        <i class=\"fa-solid\" [class.fa-check-circle]=\"isRequired\" [class.fa-times-circle]=\"!isRequired\"\n                           [style.color]=\"isRequired ? '#28a745' : '#6c757d'\"></i>\n                    }\n                    <span style=\"margin-left: 8px;\">Required Parameter</span>\n                </label>\n            </div>\n            \n            <div class=\"checkbox-field\">\n                <label>\n                    @if (editMode) {\n                        <kendo-switch \n                            [(ngModel)]=\"isArray\"\n                            name=\"isArray\">\n                        </kendo-switch>\n                    } @else {\n                        <i class=\"fa-solid\" [class.fa-check-circle]=\"isArray\" [class.fa-times-circle]=\"!isArray\"\n                           [style.color]=\"isArray ? '#28a745' : '#6c757d'\"></i>\n                    }\n                    <span style=\"margin-left: 8px;\">Array Type</span>\n                </label>\n            </div>\n        </div>\n    </form>\n</div>\n\n<kendo-dialog-actions>\n    @if (editMode) {\n        <button kendoButton (click)=\"cancel()\">Cancel</button>\n        <button kendoButton themeColor=\"primary\" (click)=\"save()\">Save</button>\n    } @else {\n        <button kendoButton themeColor=\"primary\" (click)=\"cancel()\">Close</button>\n    }\n</kendo-dialog-actions>", styles: [".param-dialog-content {\n    padding: 20px;\n    min-width: 400px;\n}\n\n.param-form {\n    display: flex;\n    flex-direction: column;\n    gap: 20px;\n}\n\n.form-field {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n}\n\n.form-field label {\n    font-weight: 600;\n    color: #495057;\n    font-size: 0.9em;\n}\n\n.required {\n    color: #dc3545;\n    margin-left: 4px;\n}\n\n.readonly-value {\n    padding: 8px 12px;\n    background: #f8f9fa;\n    border: 1px solid #e9ecef;\n    border-radius: 4px;\n    color: #495057;\n}\n\n.readonly-value.description {\n    line-height: 1.5;\n    white-space: pre-wrap;\n}\n\n.readonly-value code {\n    background: #e9ecef;\n    padding: 2px 6px;\n    border-radius: 3px;\n    font-family: 'Courier New', monospace;\n    color: #e83e8c;\n}\n\n.type-badge {\n    display: inline-block;\n    padding: 4px 12px;\n    border-radius: 12px;\n    font-weight: 500;\n    font-size: 0.85em;\n}\n\n.type-badge.type-input {\n    background: #cfe2ff;\n    color: #084298;\n}\n\n.type-badge.type-output {\n    background: #d1e7dd;\n    color: #0f5132;\n}\n\n.type-badge.type-both {\n    background: #e0cffc;\n    color: #432874;\n}\n\n.form-field-row {\n    display: flex;\n    gap: 24px;\n    margin-top: 8px;\n}\n\n.checkbox-field {\n    display: flex;\n    align-items: center;\n}\n\n.checkbox-field label {\n    display: flex;\n    align-items: center;\n    margin: 0;\n    font-weight: normal;\n}"] }]
    }], () => [{ type: i1.DialogRef }], { param: [{
            type: Input
        }], isNew: [{
            type: Input
        }], editMode: [{
            type: Input
        }] }); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionParamDialogComponent, { className: "ActionParamDialogComponent", filePath: "src/lib/custom/Actions/action-param-dialog.component.ts", lineNumber: 10 }); })();
//# sourceMappingURL=action-param-dialog.component.js.map