import { __decorate, __extends } from "tslib";
import Component from 'vue-class-component';
import { Prop } from 'vue-property-decorator';
import virtualList from 'vue-virtual-scroll-list';
import { InputLabel } from '../../mixins/input-label/input-label';
import { InputManagement } from '../../mixins/input-management/input-management';
import { InputState } from '../../mixins/input-state/input-state';
import { InputWidth } from '../../mixins/input-width/input-width';
import { MediaQueries } from '../../mixins/media-queries/media-queries';
import { ModulVue } from '../../utils/vue/vue';
import { MSelect } from '../select/select';
import { MSelectItem } from '../select/select-item/select-item';
import WithRender from './select-virtual-scroll.html?style=./select-virtual-scroll.scss';
var MSelectVirtualScroll = /** @class */ (function (_super) {
    __extends(MSelectVirtualScroll, _super);
    function MSelectVirtualScroll() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Object.defineProperty(MSelectVirtualScroll.prototype, "bindData", {
        get: function () {
            return Object.assign({}, this.$props || {}, this.$attrs || {});
        },
        enumerable: false,
        configurable: true
    });
    __decorate([
        Prop({ default: 52 }) // 208px / 4 -> base-select.scss
    ], MSelectVirtualScroll.prototype, "virtualScrollItemHeight", void 0);
    MSelectVirtualScroll = __decorate([
        WithRender,
        Component({
            components: {
                MSelect: MSelect,
                MSelectItem: MSelectItem,
                'virtual-list': virtualList
            },
            mixins: [
                MSelect,
                InputState,
                MediaQueries,
                InputManagement,
                InputWidth,
                InputLabel
            ]
        })
    ], MSelectVirtualScroll);
    return MSelectVirtualScroll;
}(ModulVue));
export { MSelectVirtualScroll };
//# sourceMappingURL=select-virtual-scroll.js.map