Object.defineProperty(exports, "__esModule", { value: true });
exports.setupCssScope = exports.RadAutoCompleteTextView = exports.AutoCompleteEventData = exports.CollectionViewEventData = exports.NoResultsLabel = exports.Token = exports.TokenClearButton = exports.ClearButton = exports.TokenModel = exports.SuggestionView = exports.AutoCompleteViewType = exports.AutoCompleteCompletionMode = exports.AutoCompleteLayoutMode = exports.AutoCompleteSuggestMode = exports.AutoCompleteDisplayMode = void 0;
var core_1 = require("@nativescript/core");
// Enums
var AutoCompleteDisplayMode;
(function (AutoCompleteDisplayMode) {
    AutoCompleteDisplayMode["Tokens"] = "Tokens";
    AutoCompleteDisplayMode["Plain"] = "Plain";
})(AutoCompleteDisplayMode = exports.AutoCompleteDisplayMode || (exports.AutoCompleteDisplayMode = {}));
var AutoCompleteSuggestMode;
(function (AutoCompleteSuggestMode) {
    AutoCompleteSuggestMode["Suggest"] = "Suggest";
    AutoCompleteSuggestMode["Append"] = "Append";
    AutoCompleteSuggestMode["SuggestAppend"] = "SuggestAppend";
})(AutoCompleteSuggestMode = exports.AutoCompleteSuggestMode || (exports.AutoCompleteSuggestMode = {}));
var AutoCompleteLayoutMode;
(function (AutoCompleteLayoutMode) {
    AutoCompleteLayoutMode["Horizontal"] = "Horizontal";
    AutoCompleteLayoutMode["Wrap"] = "Wrap";
})(AutoCompleteLayoutMode = exports.AutoCompleteLayoutMode || (exports.AutoCompleteLayoutMode = {}));
var AutoCompleteCompletionMode;
(function (AutoCompleteCompletionMode) {
    AutoCompleteCompletionMode["StartsWith"] = "StartsWith";
    AutoCompleteCompletionMode["Contains"] = "Contains";
})(AutoCompleteCompletionMode = exports.AutoCompleteCompletionMode || (exports.AutoCompleteCompletionMode = {}));
var AutoCompleteViewType;
(function (AutoCompleteViewType) {
    AutoCompleteViewType["ItemView"] = "ItemView";
})(AutoCompleteViewType = exports.AutoCompleteViewType || (exports.AutoCompleteViewType = {}));
// AutoComplete object classes
var SuggestionView = /** @class */ (function (_super) {
    __extends(SuggestionView, _super);
    function SuggestionView() {
        return _super.call(this) || this;
    }
    Object.defineProperty(SuggestionView.prototype, "android", {
        // properties
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(SuggestionView.prototype, "_nativeView", {
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(SuggestionView.prototype, "owner", {
        get: function () {
            return this._owner;
        },
        set: function (value) {
            this._owner = value;
        },
        enumerable: false,
        configurable: true
    });
    SuggestionView.prototype.updateView = function () {
    };
    SuggestionView.prototype.onSuggestionViewHeightPropertyChanged = function (oldValue, newValue) {
        this.onSuggestionViewHeightChanged(oldValue, newValue);
    };
    SuggestionView.prototype.onSuggestionViewHeightChanged = function (oldValue, newValue) {
    };
    SuggestionView.prototype.onSuggestionItemTemplatePropertyChanged = function (oldValue, newValue) {
        this.onSuggestionItemTemplateChanged(oldValue, newValue);
    };
    SuggestionView.prototype.onSuggestionItemTemplateChanged = function (oldValue, newValue) {
    };
    SuggestionView.suggestionViewHeightProperty = new core_1.Property({
        name: "suggestionViewHeight",
        defaultValue: undefined,
        valueConverter: function (value) {
            if (typeof value === "string") {
                return parseInt(value);
            }
            return value;
        },
        valueChanged: function (target, oldValue, newValue) {
            target.onSuggestionViewHeightPropertyChanged(oldValue, newValue);
        },
    });
    SuggestionView.suggestionItemTemplateProperty = new core_1.Property({
        name: "suggestionItemTemplate",
        defaultValue: undefined,
        valueChanged: function (target, oldValue, newValue) {
            target.onSuggestionItemTemplatePropertyChanged(oldValue, newValue);
        },
    });
    SuggestionView = __decorate([
        core_1.CSSType("SuggestionView"),
        __metadata("design:paramtypes", [])
    ], SuggestionView);
    return SuggestionView;
}(core_1.View));
exports.SuggestionView = SuggestionView;
SuggestionView.suggestionViewHeightProperty.register(SuggestionView);
SuggestionView.suggestionItemTemplateProperty.register(SuggestionView);
// TokenModel
var TokenModel = /** @class */ (function () {
    function TokenModel(text, image) {
        this.text = text;
        this.image = image;
    }
    Object.defineProperty(TokenModel.prototype, "android", {
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(TokenModel.prototype, "ios", {
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    TokenModel.prototype.toString = function () {
        return this.text;
    };
    return TokenModel;
}());
exports.TokenModel = TokenModel;
var ClearButton = /** @class */ (function (_super) {
    __extends(ClearButton, _super);
    function ClearButton() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    ClearButton = __decorate([
        core_1.CSSType("ClearButton")
    ], ClearButton);
    return ClearButton;
}(core_1.View));
exports.ClearButton = ClearButton;
var TokenClearButton = /** @class */ (function (_super) {
    __extends(TokenClearButton, _super);
    function TokenClearButton() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    TokenClearButton = __decorate([
        core_1.CSSType("TokenClearButton")
    ], TokenClearButton);
    return TokenClearButton;
}(core_1.View));
exports.TokenClearButton = TokenClearButton;
var Token = /** @class */ (function (_super) {
    __extends(Token, _super);
    function Token() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Object.defineProperty(Token.prototype, "clearButton", {
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    Token = __decorate([
        core_1.CSSType("Token")
    ], Token);
    return Token;
}(core_1.View));
exports.Token = Token;
var NoResultsLabel = /** @class */ (function (_super) {
    __extends(NoResultsLabel, _super);
    function NoResultsLabel() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    NoResultsLabel = __decorate([
        core_1.CSSType("NoResultsLabel")
    ], NoResultsLabel);
    return NoResultsLabel;
}(core_1.View));
exports.NoResultsLabel = NoResultsLabel;
var CollectionViewEventData = /** @class */ (function () {
    function CollectionViewEventData() {
    }
    Object.defineProperty(CollectionViewEventData.prototype, "android", {
        get: function () {
            return this._android;
        },
        set: function (value) {
            this._android = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(CollectionViewEventData.prototype, "ios", {
        get: function () {
            return this._ios;
        },
        set: function (value) {
            this._ios = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(CollectionViewEventData.prototype, "eventName", {
        get: function () {
            return this._eventName;
        },
        set: function (value) {
            this._eventName = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(CollectionViewEventData.prototype, "object", {
        get: function () {
            return this._object;
        },
        set: function (value) {
            this._object = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(CollectionViewEventData.prototype, "index", {
        get: function () {
            return this._index;
        },
        set: function (value) {
            this._index = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(CollectionViewEventData.prototype, "groupIndex", {
        get: function () {
            return this._groupIndex;
        },
        set: function (value) {
            this._groupIndex = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(CollectionViewEventData.prototype, "data", {
        get: function () {
            return this._data;
        },
        set: function (value) {
            this._data = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(CollectionViewEventData.prototype, "returnValue", {
        get: function () {
            return this._returnValue;
        },
        set: function (value) {
            this._returnValue = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(CollectionViewEventData.prototype, "view", {
        get: function () {
            return this._view;
        },
        set: function (value) {
            this._view = value;
        },
        enumerable: false,
        configurable: true
    });
    return CollectionViewEventData;
}());
exports.CollectionViewEventData = CollectionViewEventData;
// Event object
var AutoCompleteEventData = /** @class */ (function () {
    function AutoCompleteEventData(object, eventName, text, token) {
        this._object = object;
        this._eventName = eventName;
        this._token = token;
        this._text = text;
    }
    Object.defineProperty(AutoCompleteEventData.prototype, "eventName", {
        get: function () {
            return this._eventName;
        },
        set: function (value) {
            this._eventName = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(AutoCompleteEventData.prototype, "text", {
        get: function () {
            return this._text;
        },
        set: function (value) {
            this._text = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(AutoCompleteEventData.prototype, "token", {
        get: function () {
            return this._token;
        },
        set: function (value) {
            this._token = value;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(AutoCompleteEventData.prototype, "object", {
        get: function () {
            return this._object;
        },
        set: function (value) {
            this._object = value;
        },
        enumerable: false,
        configurable: true
    });
    return AutoCompleteEventData;
}());
exports.AutoCompleteEventData = AutoCompleteEventData;
// RadAutoComplete impl
var RadAutoCompleteTextView = /** @class */ (function (_super) {
    __extends(RadAutoCompleteTextView, _super);
    function RadAutoCompleteTextView() {
        var _this = _super.call(this) || this;
        _this._tokens = new Array();
        _this._autoCompleteFocusHandler = function () { return _this._goToVisualState("focus"); };
        _this._autoCompleteBlurHandler = function () { return _this._goToVisualState("blur"); };
        return _this;
    }
    Object.defineProperty(RadAutoCompleteTextView.prototype, "itemViewLoader", {
        // properties
        get: function () {
            return this._itemViewLoader;
        },
        set: function (value) {
            if (this._itemViewLoader !== value) {
                this._itemViewLoader = value;
                this.onItemViewLoaderChanged();
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RadAutoCompleteTextView.prototype, "filteredItems", {
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RadAutoCompleteTextView.prototype, "selectedTokens", {
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RadAutoCompleteTextView.prototype, "clearButton", {
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RadAutoCompleteTextView.prototype, "noResultsLabel", {
        get: function () {
            return undefined;
        },
        enumerable: false,
        configurable: true
    });
    RadAutoCompleteTextView.prototype._updateAutoCompleteFocusBlurHandlers = function (subscribe) {
        var method = subscribe ? "on" : "off";
        this[method]("focus", this._autoCompleteFocusHandler);
        this[method]("blur", this._autoCompleteBlurHandler);
    };
    RadAutoCompleteTextView.prototype.onLoadSuggestionsAsyncPropertyChanged = function (oldValue, newValue) {
        this.onLoadSuggestionsAsyncChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onLoadSuggestionsAsyncChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onItemViewLoaderChanged = function () {
    };
    RadAutoCompleteTextView.prototype.resolveTemplateView = function (template) {
        return core_1.Builder.parse(template, this);
    };
    RadAutoCompleteTextView.prototype._getDefaultItemContent = function () {
        var lbl = new core_1.Label();
        lbl.bind({
            targetProperty: "text",
            sourceProperty: "text"
        });
        lbl.padding = 16;
        return lbl;
    };
    RadAutoCompleteTextView.prototype.getViewForViewType = function (viewType) {
        var newView = undefined;
        if (this._itemViewLoader !== undefined) {
            newView = this._itemViewLoader(viewType);
        }
        if (newView) {
            return newView;
        }
        var templateString = undefined;
        switch (viewType) {
            case AutoCompleteViewType.ItemView:
                if (this.suggestionView) {
                    templateString = this.suggestionView.suggestionItemTemplate;
                }
                break;
        }
        return templateString === undefined ?
            this._getDefaultItemContent() :
            this.resolveTemplateView(templateString);
    };
    RadAutoCompleteTextView.prototype.onItemsPropertyChanged = function (oldValue, newValue) {
        this.onItemsChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onItemsChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onSuggestionViewPropertyChanged = function (oldValue, newValue) {
        this.onSuggestionViewChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onSuggestionViewChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onDisplayModePropertyChanged = function (oldValue, newValue) {
        this.onDisplayModeChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onDisplayModeChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onCompletionModePropertyChanged = function (oldValue, newValue) {
        this.onCompletionModeChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onCompletionModeChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onLayoutModePropertyChanged = function (oldValue, newValue) {
        this.onLayoutModeChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onLayoutModeChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onSuggestModePropertyChanged = function (oldValue, newValue) {
        this.onSuggestModeChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onSuggestModeChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onHintPropertyChanged = function (oldValue, newValue) {
        this.onHintChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onHintChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onTextPropertyChanged = function (oldValue, newValue) {
        this.onTextChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onTextChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onMinimumCharactersToSearchPropertyChanged = function (oldValue, newValue) {
        this.onMinimumCharactersToSearchChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onMinimumCharactersToSearchChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onTokenItemSpacingPropertyChanged = function (oldValue, newValue) {
        this.onTokenItemSpacingChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onTokenItemSpacingChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onNoResultsTextPropertyChanged = function (oldValue, newValue) {
        this.onNoResultsTextChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onNoResultsTextChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onShowCloseButtonPropertyChanged = function (oldValue, newValue) {
        this.onShowCloseButtonChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onShowCloseButtonChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onCloseButtonImageSrcPropertyChanged = function (oldValue, newValue) {
        this.onCloseButtonImageSrcChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onCloseButtonImageSrcChanged = function (oldValue, newValue) {
    };
    RadAutoCompleteTextView.prototype.onReadOnlyPropertyChanged = function (oldValue, newValue) {
        this.onReadOnlyChanged(oldValue, newValue);
    };
    RadAutoCompleteTextView.prototype.onReadOnlyChanged = function (oldValue, newValue) {
    };
    // Methods
    RadAutoCompleteTextView.prototype.resetAutoComplete = function () {
    };
    RadAutoCompleteTextView.prototype.addToken = function (token) {
    };
    RadAutoCompleteTextView.prototype.insertTokenAtIndex = function (token, index) {
    };
    RadAutoCompleteTextView.prototype.removeToken = function (token) {
    };
    RadAutoCompleteTextView.prototype.removeTokenAtIndex = function (index) {
    };
    RadAutoCompleteTextView.prototype.removeAllTokens = function () {
    };
    RadAutoCompleteTextView.prototype.tokens = function () {
    };
    RadAutoCompleteTextView.prototype.tokenAtIndex = function (index) {
    };
    RadAutoCompleteTextView.prototype.findSuggestions = function () {
    };
    RadAutoCompleteTextView.prototype.eachChild = function (callback) {
        if (this.clearButton) {
            callback(this.clearButton);
        }
        if (this.noResultsLabel) {
            callback(this.noResultsLabel);
        }
        if (this.suggestionView) {
            callback(this.suggestionView);
        }
        var tokenCount = this._tokens.length;
        for (var i = 0; i < tokenCount; i++) {
            callback(this._tokens[i]);
        }
    };
    RadAutoCompleteTextView.textChangedEvent = "textChanged";
    RadAutoCompleteTextView.tokenRemovedEvent = "tokenRemoved";
    RadAutoCompleteTextView.tokenAddedEvent = "tokenAdded";
    RadAutoCompleteTextView.tokenSelectedEvent = "tokenSelected";
    RadAutoCompleteTextView.tokenDeselectedEvent = "tokenDeselected";
    RadAutoCompleteTextView.didAutoCompleteEvent = "didAutoComplete";
    RadAutoCompleteTextView.suggestionViewBecameVisibleEvent = "suggestionViewBecameVisible";
    RadAutoCompleteTextView.itemLoadingEvent = "itemLoading";
    RadAutoCompleteTextView.loadSuggestionsAsyncProperty = new core_1.Property({
        name: "loadSuggestionsAsync",
        defaultValue: undefined,
        valueChanged: function (target, oldValue, newValue) {
            target.onLoadSuggestionsAsyncPropertyChanged(oldValue, newValue);
        },
    });
    RadAutoCompleteTextView.itemsProperty = new core_1.Property({
        name: "items",
        defaultValue: undefined,
        valueChanged: function (target, oldValue, newValue) {
            target.onItemsPropertyChanged(oldValue, newValue);
        },
    });
    // SuggestionView
    RadAutoCompleteTextView.suggestionViewProperty = new core_1.Property({
        name: "suggestionView",
        defaultValue: undefined,
        valueChanged: function (target, oldValue, newValue) {
            target.onSuggestionViewPropertyChanged(oldValue, newValue);
        },
    });
    // Display mode
    RadAutoCompleteTextView.displayModeProperty = new core_1.Property({
        name: "displayMode",
        defaultValue: AutoCompleteDisplayMode.Plain,
        valueConverter: function (value) { return AutoCompleteDisplayMode[toPascalCase(value)]; },
        valueChanged: function (target, oldValue, newValue) {
            target.onDisplayModePropertyChanged(oldValue, newValue);
        },
    });
    // Completion Mode
    RadAutoCompleteTextView.completionModeProperty = new core_1.Property({
        name: "completionMode",
        defaultValue: AutoCompleteCompletionMode.StartsWith,
        valueConverter: function (value) { return AutoCompleteCompletionMode[toPascalCase(value)]; },
        valueChanged: function (target, oldValue, newValue) {
            target.onCompletionModePropertyChanged(oldValue, newValue);
        },
    });
    // Layout mode
    RadAutoCompleteTextView.layoutModeProperty = new core_1.Property({
        name: "layoutMode",
        defaultValue: AutoCompleteLayoutMode.Wrap,
        valueConverter: function (value) { return AutoCompleteLayoutMode[toPascalCase(value)]; },
        valueChanged: function (target, oldValue, newValue) {
            target.onLayoutModePropertyChanged(oldValue, newValue);
        },
    });
    // Suggest Mode
    RadAutoCompleteTextView.suggestModeProperty = new core_1.Property({
        name: "suggestMode",
        defaultValue: AutoCompleteSuggestMode.Suggest,
        valueConverter: function (value) { return AutoCompleteSuggestMode[toPascalCase(value)]; },
        valueChanged: function (target, oldValue, newValue) {
            target.onSuggestModePropertyChanged(oldValue, newValue);
        },
    });
    // Hint
    RadAutoCompleteTextView.hintProperty = new core_1.Property({
        name: "hint",
        defaultValue: undefined,
        valueChanged: function (target, oldValue, newValue) {
            target.onHintPropertyChanged(oldValue, newValue);
        },
    });
    // Text
    RadAutoCompleteTextView.textProperty = new core_1.Property({
        name: "text",
        defaultValue: "",
        valueChanged: function (target, oldValue, newValue) {
            target.onTextPropertyChanged(oldValue, newValue);
        },
    });
    // MinimumCharactersToSearch
    RadAutoCompleteTextView.minimumCharactersToSearchProperty = new core_1.Property({
        name: "minimumCharactersToSearch",
        defaultValue: 1,
        valueConverter: parseInt,
        valueChanged: function (target, oldValue, newValue) {
            target.onMinimumCharactersToSearchPropertyChanged(oldValue, newValue);
        },
    });
    RadAutoCompleteTextView.tokenItemSpacingProperty = new core_1.Property({
        name: "tokenItemSpacing",
        defaultValue: 3,
        valueConverter: parseInt,
        valueChanged: function (target, oldValue, newValue) {
            target.onTokenItemSpacingPropertyChanged(oldValue, newValue);
        },
    });
    RadAutoCompleteTextView.noResultsTextProperty = new core_1.Property({
        name: "noResultsText",
        defaultValue: undefined,
        valueChanged: function (target, oldValue, newValue) {
            target.onNoResultsTextPropertyChanged(oldValue, newValue);
        },
    });
    RadAutoCompleteTextView.showCloseButtonProperty = new core_1.Property({
        name: "showCloseButton",
        defaultValue: true,
        valueConverter: core_1.booleanConverter,
        valueChanged: function (target, oldValue, newValue) {
            target.onShowCloseButtonPropertyChanged(oldValue, newValue);
        },
    });
    RadAutoCompleteTextView.closeButtonImageSrcProperty = new core_1.Property({
        name: "closeButtonImageSrc",
        defaultValue: undefined,
        valueChanged: function (target, oldValue, newValue) {
            target.onCloseButtonImageSrcPropertyChanged(oldValue, newValue);
        },
    });
    RadAutoCompleteTextView.readOnlyProperty = new core_1.Property({
        name: "readOnly",
        defaultValue: false,
        valueConverter: core_1.booleanConverter,
        valueChanged: function (target, oldValue, newValue) {
            target.onReadOnlyPropertyChanged(oldValue, newValue);
        },
    });
    __decorate([
        core_1.PseudoClassHandler("focus", "blur"),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", [Boolean]),
        __metadata("design:returntype", void 0)
    ], RadAutoCompleteTextView.prototype, "_updateAutoCompleteFocusBlurHandlers", null);
    RadAutoCompleteTextView = __decorate([
        core_1.CSSType("RadAutoCompleteTextView"),
        __metadata("design:paramtypes", [])
    ], RadAutoCompleteTextView);
    return RadAutoCompleteTextView;
}(core_1.View));
exports.RadAutoCompleteTextView = RadAutoCompleteTextView;
function setupCssScope(scopedView, unscopedView) {
    var ngKey = scopedView._ngKey;
    if (ngKey) {
        var ngValue = scopedView[ngKey];
        unscopedView[ngKey] = ngValue;
    }
    var vueKey = scopedView._vueKey;
    if (vueKey) {
        var vueValue = scopedView[vueKey];
        unscopedView[vueKey] = vueValue;
    }
}
exports.setupCssScope = setupCssScope;
function toPascalCase(value) {
    if (!value) {
        return value;
    }
    var words = value.split('-');
    var upperCaseWords = words.map(function (word) { return word.charAt(0).toUpperCase() + word.slice(1); });
    return upperCaseWords.join('');
}
RadAutoCompleteTextView.loadSuggestionsAsyncProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.itemsProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.suggestionViewProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.displayModeProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.completionModeProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.layoutModeProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.suggestModeProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.hintProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.textProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.minimumCharactersToSearchProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.tokenItemSpacingProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.noResultsTextProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.showCloseButtonProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.closeButtonImageSrcProperty.register(RadAutoCompleteTextView);
RadAutoCompleteTextView.readOnlyProperty.register(RadAutoCompleteTextView);
