import { __decorate, __metadata } from "tslib";
import { mapValuesToThis } from '@jscrpt/common';
import { LayoutPropertyDescription, LayoutPropertyName } from '../../decorators';
/**
 * Margin model for properties editor
 */
export class MarginModel {
    //######################### constructor #########################
    constructor(value) {
        //######################### public properties #########################
        /**
         * @inheritdoc
         */
        this.top = null;
        /**
         * @inheritdoc
         */
        this.right = null;
        /**
         * @inheritdoc
         */
        this.bottom = null;
        /**
         * @inheritdoc
         */
        this.left = null;
        mapValuesToThis.bind(this)(value);
    }
}
__decorate([
    LayoutPropertyName('Margin top'),
    LayoutPropertyDescription('Top margin of component'),
    __metadata("design:type", Object)
], MarginModel.prototype, "top", void 0);
__decorate([
    LayoutPropertyName('Margin right'),
    LayoutPropertyDescription('Right margin of component'),
    __metadata("design:type", Object)
], MarginModel.prototype, "right", void 0);
__decorate([
    LayoutPropertyName('Margin bottom'),
    LayoutPropertyDescription('Bottom margin of component'),
    __metadata("design:type", Object)
], MarginModel.prototype, "bottom", void 0);
__decorate([
    LayoutPropertyName('Margin left'),
    LayoutPropertyDescription('Left margin of component'),
    __metadata("design:type", Object)
], MarginModel.prototype, "left", void 0);
//# sourceMappingURL=margin.model.js.map