import { __decorate, __metadata } from "tslib";
import { LayoutPropertyDescription, LayoutPropertyName, LayoutPropertyType } from '@anglr/dynamic/layout-editor';
import { mapValuesToThis } from '@jscrpt/common';
/**
 * Button model for properties editor
 */
export class ButtonModel {
    //######################### constructor #########################
    constructor(value) {
        //######################### public properties #########################
        /**
         * @inheritdoc
         */
        this.text = null;
        /**
         * @inheritdoc
         */
        this.disabled = false;
        /**
         * @inheritdoc
         */
        this.buttonCssClass = null;
        mapValuesToThis.bind(this)(value);
    }
}
__decorate([
    LayoutPropertyName('Text'),
    LayoutPropertyDescription('Text to be displayed in button'),
    LayoutPropertyType('inputString'),
    __metadata("design:type", Object)
], ButtonModel.prototype, "text", void 0);
__decorate([
    LayoutPropertyName('Disabled'),
    LayoutPropertyDescription('Indication whether is button disabled'),
    LayoutPropertyType('inputBoolean'),
    __metadata("design:type", Object)
], ButtonModel.prototype, "disabled", void 0);
__decorate([
    LayoutPropertyName('Button css class'),
    LayoutPropertyDescription('Css class applied to button element itself'),
    LayoutPropertyType('inputString'),
    __metadata("design:type", Object)
], ButtonModel.prototype, "buttonCssClass", void 0);
//# sourceMappingURL=button.model.js.map