import { __decorate, __extends } from "tslib";
import Component from 'vue-class-component';
import { Prop } from 'vue-property-decorator';
import { ModulVue } from '../../utils/vue/vue';
export var InputMaxWidth;
(function (InputMaxWidth) {
    InputMaxWidth["None"] = "none";
    InputMaxWidth["XSmall"] = "x-small";
    InputMaxWidth["Small"] = "small";
    InputMaxWidth["Regular"] = "regular";
    InputMaxWidth["Medium"] = "medium";
    InputMaxWidth["Large"] = "large";
})(InputMaxWidth || (InputMaxWidth = {}));
// input reference is minimum mobile width (320px), minus base padding (16px) from both sides.
// $m-min-width - $m-space * 2 = regular input width
export var InputMaxWidthValues;
(function (InputMaxWidthValues) {
    InputMaxWidthValues["XSmall"] = "60px";
    InputMaxWidthValues["Small"] = "136px";
    InputMaxWidthValues["Regular"] = "288px";
    InputMaxWidthValues["Medium"] = "592px";
    InputMaxWidthValues["Large"] = "896px";
})(InputMaxWidthValues || (InputMaxWidthValues = {}));
var InputWidth = /** @class */ (function (_super) {
    __extends(InputWidth, _super);
    function InputWidth() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Object.defineProperty(InputWidth.prototype, "inputMaxWidth", {
        get: function () {
            var maxWidth;
            switch (this.maxWidth) {
                case InputMaxWidth.None:
                    maxWidth = undefined;
                    break;
                case InputMaxWidth.XSmall:
                    maxWidth = InputMaxWidthValues.XSmall;
                    break;
                case InputMaxWidth.Small:
                    maxWidth = InputMaxWidthValues.Small;
                    break;
                case InputMaxWidth.Regular:
                    maxWidth = InputMaxWidthValues.Regular;
                    break;
                case InputMaxWidth.Medium:
                    maxWidth = InputMaxWidthValues.Medium;
                    break;
                case InputMaxWidth.Large:
                    maxWidth = InputMaxWidthValues.Large;
                    break;
                default:
                    maxWidth = this.maxWidth;
            }
            return maxWidth;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(InputWidth.prototype, "inputWidth", {
        get: function () {
            return this.width === 'none' ? undefined : this.width;
        },
        enumerable: false,
        configurable: true
    });
    __decorate([
        Prop({ default: '100%' })
    ], InputWidth.prototype, "width", void 0);
    __decorate([
        Prop({ default: InputMaxWidth.Regular })
    ], InputWidth.prototype, "maxWidth", void 0);
    InputWidth = __decorate([
        Component
    ], InputWidth);
    return InputWidth;
}(ModulVue));
export { InputWidth };
//# sourceMappingURL=input-width.js.map