/*!
 * KoliBri - The accessible HTML-Standard
 */
import { validatePlaceholder, validateRequired, validateSuggestions, watchBoolean, watchString } from "../../schema";
import { InputIconController } from "../@deprecated/input/controller-icon";
export class ComboboxController extends InputIconController {
    constructor(component, name, host) {
        super(component, name, host);
        this.component = component;
    }
    validateHasClearButton(value) {
        watchBoolean(this.component, '_hasClearButton', value);
    }
    validatePlaceholder(value) {
        validatePlaceholder(this.component, value);
    }
    validateRequired(value) {
        validateRequired(this.component, value);
    }
    validateSuggestions(value) {
        validateSuggestions(this.component, value);
    }
    validateValue(value) {
        watchString(this.component, '_value', value);
    }
    componentWillLoad() {
        super.componentWillLoad();
        this.validateHasClearButton(this.component._hasClearButton);
        this.validatePlaceholder(this.component._placeholder);
        this.validateRequired(this.component._required);
        this.validateSuggestions(this.component._suggestions);
        this.validateValue(this.component._value);
    }
}
//# sourceMappingURL=controller.js.map
