import { __decorate, __metadata } from "tslib";
import { LayoutPropertyName, LayoutPropertyDescription, LayoutPropertyType } from '@anglr/dynamic/layout-editor';
import { mapValuesToThis } from '@jscrpt/common';
import { FormComponentControlType } from '../misc/enums';
/**
 * Base form component model for properties editor
 */
export class FormComponentBaseModel {
    //######################### constructor #########################
    constructor(value) {
        /**
         * @inheritdoc
         */
        this.controlName = null;
        /**
         * @inheritdoc
         */
        this.controlType = FormComponentControlType.FormControl;
        mapValuesToThis.bind(this)(value);
    }
}
__decorate([
    LayoutPropertyName('Control name'),
    LayoutPropertyDescription('Form control name'),
    LayoutPropertyType('inputString'),
    __metadata("design:type", Object)
], FormComponentBaseModel.prototype, "controlName", void 0);
//# sourceMappingURL=formComponentBase.model.js.map