Socket
Socket
Sign inDemoInstall

ionic4-auto-complete

Package Overview
Dependencies
1
Maintainers
1
Versions
63
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.9.4 to 2.9.5

14

bundles/ionic4-auto-complete.umd.js

@@ -172,6 +172,12 @@ (function (global, factory) {

set: function (selected) {
if (typeof selected !== 'undefined' && selected !== null) {
this.selected = selected;
this.keyword = this.getLabel(selected);
if (typeof selected === 'undefined') {
if (this.multi) {
selected = [];
}
else {
selected = null;
}
}
this.selected = selected;
this.keyword = this.getLabel(selected);
},

@@ -711,3 +717,3 @@ enumerable: false,

template: "<ng-template #defaultSelection\n let-attrs=\"attrs\">\n <ion-chip class=\"{{ attrs.removeButtonClasses }}\"\n [color]=\"attrs.removeButtonColor\"\n [outline]=\"true\">\n <ion-icon *ngIf=\"frontIcon\"\n [name]=\"frontIcon\"\n [slot]=\"'start'\"\n color=\"primary\"></ion-icon>\n\n <ion-label>{{ attrs.label }}</ion-label>\n\n <ion-icon *ngIf=\"attrs.removeButtonIcon\"\n [name]=\"attrs.removeButtonIcon\"\n [slot]=\"attrs.removeButtonSlot\"></ion-icon>\n </ion-chip>\n</ng-template>\n\n<div *ngIf=\"multi\">\n <div *ngFor=\"let item of selected\"\n class=\"selected-items\"\n (click)=\"removeItem(item)\">\n <ng-template [ngTemplateOutlet]=\"selectionTemplate || defaultSelection\"\n [ngTemplateOutletContext]=\"{\n attrs: {\n data: item,\n label: getLabel(item),\n removeButtonClasses: removeButtonClasses,\n removeButtonColor: removeButtonColor,\n removeButtonIcon: removeButtonIcon,\n removeButtonSlot: removeButtonSlot\n }\n }\"></ng-template>\n </div>\n</div>\n\n<ion-label *ngIf=\"label.length !== 0\"\n [position]=\"labelPosition\">{{ label }}</ion-label>\n\n<ion-input #inputElem\n [autocomplete]=\"autocomplete\"\n [name]=\"name\"\n (ionInput)=\"getItems($event)\"\n (tap)=\"handleTap($event)\"\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"updateModel($event)\"\n [placeholder]=\"autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder\"\n [type]=\"autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type\"\n [clearOnEdit]=\"autocompleteOptions.clearOnEdit == null ? defaultOpts.clearOnEdit : autocompleteOptions.clearOnEdit\"\n [clearInput]=\"autocompleteOptions.clearInput == null ? defaultOpts.clearInput : autocompleteOptions.clearInput\"\n [color]=\"autocompleteOptions.color == null ? null : autocompleteOptions.color\"\n [mode]=\"autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode\"\n [disabled]=\"disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected)\"\n [ngClass]=\"{ 'hidden': !useIonInput, 'loading': isLoading }\"\n [ngStyle]=\"styles.searchbar\"\n (keydown.tab)=\"handleTabOut($event)\"\n (keydown.shift.tab)=\"hideItemList()\"\n (keyup.arrowDown)=\"highlightItem(-1)\"\n (keyup.arrowUp)=\"highlightItem(1)\"\n (keyup.enter)=\"handleSelectTap($event, suggestions[focusedOption])\"\n (keyup.escape)=\"hideItemList()\"\n (ionFocus)=\"onFocus($event)\"\n (ionBlur)=\"onBlur($event)\"></ion-input>\n\n<ion-searchbar #searchbarElem\n [autocomplete]=\"autocomplete\"\n [name]=\"name\"\n [animated]=\"autocompleteOptions.animated == null ? defaultOpts.animated : autocompleteOptions.animated\"\n (ionInput)=\"getItems($event)\"\n (tap)=\"handleTap($event)\"\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"updateModel($event)\"\n [cancelButtonIcon]=\"autocompleteOptions.cancelButtonIcon == null ? defaultOpts.cancelButtonIcon : autocompleteOptions.cancelButtonIcon\"\n [cancelButtonText]=\"autocompleteOptions.cancelButtonText == null ? defaultOpts.cancelButtonText : autocompleteOptions.cancelButtonText\"\n [clearIcon]=\"autocompleteOptions.clearIcon == null ? defaultOpts.clearIcon : autocompleteOptions.clearIcon\"\n [color]=\"autocompleteOptions.color == null ? null : autocompleteOptions.color\"\n [showCancelButton]=\"autocompleteOptions.showCancelButton == null ?\n (defaultOpts.showCancelButton ? 'always' : 'never') :\n (autocompleteOptions.showCancelButton ? 'always' : 'never')\"\n [debounce]=\"autocompleteOptions.debounce == null ? defaultOpts.debounce : autocompleteOptions.debounce\"\n [placeholder]=\"autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder\"\n [autocorrect]=\"autocompleteOptions.autocorrect == null ? defaultOpts.autocorrect : autocompleteOptions.autocorrect\"\n [mode]=\"autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode\"\n [searchIcon]=\"autocompleteOptions.searchIcon == null ? defaultOpts.searchIcon : autocompleteOptions.searchIcon\"\n [spellcheck]=\"autocompleteOptions.spellcheck == null ? defaultOpts.spellcheck : autocompleteOptions.spellcheck\"\n [type]=\"autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type\"\n [ngClass]=\"{ 'hidden': useIonInput, 'loading': isLoading, 'disabled': disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected) }\"\n [ngStyle]=\"styles.searchbar\"\n (keydown.tab)=\"handleTabOut($event)\"\n (keydown.shift.tab)=\"hideItemList()\"\n (keyup.arrowDown)=\"highlightItem(-1)\"\n (keyup.arrowUp)=\"highlightItem(1)\"\n (keyup.enter)=\"handleSelectTap($event, suggestions[focusedOption])\"\n (keyup.escape)=\"hideItemList()\"\n (ionClear)=\"clickClear()\"\n (ionFocus)=\"onFocus($event)\"\n (ionBlur)=\"onBlur($event)\"></ion-searchbar>\n\n<ng-template #defaultTemplate\n let-attrs=\"attrs\">\n <span [innerHTML]='attrs.label | boldprefix:attrs.keyword'></span>\n</ng-template>\n\n<ng-template #defaultEmptyTemplate\n let-attrs=\"attrs\"\n class=\"ion-text-center\">\n {{ autocompleteOptions.noItems }}\n</ng-template>\n\n<ng-template [ngTemplateOutlet]=\"listTemplate || defaultList\"\n [ngTemplateOutletContext]=\"{\n attrs: {\n data: suggestions,\n keyword: keyword,\n maxResults: maxResults,\n maxSelected: maxSelected,\n selected: selected,\n showSuggestions: showSuggestions\n }\n }\"></ng-template>\n\n<ng-template #defaultList\n let-attrs=\"attrs\">\n <ul *ngIf=\"!(disabled || (attrs.maxSelected !== null && attrs.selected.length >= attrs.maxSelected)) && attrs.data.length > 0 && attrs.showSuggestions\"\n [ngStyle]=\"listStyles()\">\n <li *ngFor=\"let suggestion of attrs.data| slice:0:attrs.maxResults; let index = index\"\n [ngClass]=\"{ 'focus': focusedOption === index }\"\n [ngStyle]=\"styles.listItem\"\n (mouseenter)=\"focusedOption = index\"\n (click)=\"handleSelectTap($event, suggestion)\"\n (tap)=\"handleSelectTap($event, suggestion)\">\n <ng-template [ngTemplateOutlet]=\"template || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n attrs:{\n data: suggestion,\n label: getLabel(suggestion),\n keyword: keyword,\n formValue: getFormValue(suggestion),\n labelAttribute: getLabel(suggestion),\n formValueAttribute: getFormValue(suggestion)\n }\n }\"></ng-template>\n </li>\n </ul>\n\n <ul *ngIf=\"suggestions.length === 0 && showSuggestions\"\n [ngStyle]=\"listStyles()\">\n <li [ngStyle]=\"styles.listItem\">\n <ng-template [ngTemplateOutlet]=\"emptyTemplate || defaultEmptyTemplate\"\n [ngTemplateOutletContext]=\"{\n attrs:{\n keyword: keyword\n }\n }\"></ng-template>\n </li>\n </ul>\n</ng-template>\n",
styles: ["ion-auto-complete{display:inline-block;overflow:hidden!important;width:90vw}ion-auto-complete ion-searchbar{padding:1px!important}ion-auto-complete .disabled input.searchbar-input{cursor:default;pointer-events:none}ion-auto-complete ul{background:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);left:16px;list-style-type:none;margin-top:0;padding:0;position:absolute;width:90vw;z-index:999}ion-auto-complete ul li{border-bottom:1px solid #c1c1c1;padding:15px}ion-auto-complete ul ion-auto-complete-item{height:40px;width:100%}ion-auto-complete ul li:last-child{border:none}ion-auto-complete ul li.focus,ion-auto-complete ul li:focus{background:#f1f1f1;cursor:pointer}ion-auto-complete .hidden{display:none}ion-auto-complete .loading input.searchbar-input{background:#fff url(/assets/loading.gif) no-repeat right 4px center;background-size:25px 25px}ion-auto-complete .searchbar-clear-button.sc-ion-searchbar-md{right:34px}ion-auto-complete .selected-items{float:left}"]
styles: ["ion-auto-complete{overflow:hidden!important;width:90vw;display:inline-block}ion-auto-complete ion-searchbar{padding:1px!important}ion-auto-complete .disabled input.searchbar-input{pointer-events:none;cursor:default}ion-auto-complete ul{position:absolute;width:90vw;margin-top:0;background:#fff;list-style-type:none;padding:0;left:16px;z-index:999;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}ion-auto-complete ul li{padding:15px;border-bottom:1px solid #c1c1c1}ion-auto-complete ul ion-auto-complete-item{height:40px;width:100%}ion-auto-complete ul li:last-child{border:none}ion-auto-complete ul li.focus,ion-auto-complete ul li:focus{cursor:pointer;background:#f1f1f1}ion-auto-complete .hidden{display:none}ion-auto-complete .loading input.searchbar-input{background:#fff url(/assets/loading.gif) no-repeat right 4px center;background-size:25px 25px}ion-auto-complete .searchbar-clear-button.sc-ion-searchbar-md{right:34px}ion-auto-complete .selected-items{float:left}"]
},] }

@@ -714,0 +720,0 @@ ];

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@ionic/angular"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("ionic4-auto-complete",["exports","@angular/core","@angular/common","@angular/forms","@ionic/angular","rxjs","rxjs/operators"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["ionic4-auto-complete"]={},t.ng.core,t.ng.common,t.ng.forms,t["@ionic/angular"],t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,o,i,s,l){"use strict";var a=function(){this.animated=!1,this.color=null,this.autocomplete="off",this.autocorrect="off",this.cancelButtonIcon="arrow-round-back",this.cancelButtonText="Cancel",this.clearIcon="close-circle",this.clearInput=!1,this.clearOnEdit=!1,this.debounce=250,this.mode="md",this.noItems="No items found.",this.placeholder="Search",this.searchIcon="search",this.showCancelButton=!1,this.spellcheck="off",this.type="search",this.value=""},u=function(){this.list={},this.listItem={},this.searchbar={}},r=function(){function t(){this.autocompleteOptions=new a,this.hasFocus=!1,this.isLoading=!1,this.focusedOption=-1,this.showSuggestions=!1,this.onTouchedCallback=!1,this.onChangeCallback=!1,this.showListChanged=!1,this.alwaysShowList=!1,this.autocomplete="off",this.autoFocusSuggestion=!0,this.clearInvalidInput=!0,this.disabled=!1,this.exclude=[],this.frontIcon=!1,this.hideListOnSelection=!0,this.label="",this.labelPosition="fixed",this.location="auto",this.maxResults=8,this.maxSelected=null,this.multi=!1,this.name="",this.removeButtonClasses="",this.removeButtonColor="primary",this.removeButtonIcon="close-circle",this.removeButtonSlot="end",this.removeDuplicateSuggestions=!0,this.selectOnTabOut=!0,this.styles=new u,this.useIonInput=!1,this.autoBlur=new e.EventEmitter,this.autoFocus=new e.EventEmitter,this.blur=new e.EventEmitter,this.focus=new e.EventEmitter,this.ionAutoInput=new e.EventEmitter,this.itemsChange=new e.EventEmitter,this.itemsCleared=new e.EventEmitter,this.itemsHidden=new e.EventEmitter,this.itemRemoved=new e.EventEmitter,this.itemSelected=new e.EventEmitter,this.itemsShown=new e.EventEmitter,this.modelChange=new e.EventEmitter,this.keyword="",this.suggestions=[],this.autocompleteOptions=new a,this.defaultOpts=new a,this.selected=[]}return t._getPosition=function(t){for(var e=0,n=0;t;){if("BODY"===t.tagName){var o=t.scrollLeft||document.documentElement.scrollLeft,i=t.scrollTop||document.documentElement.scrollTop;e+=t.offsetLeft-o+t.clientLeft,n+=t.offsetTop-i+t.clientTop}else e+=t.offsetLeft-t.scrollLeft+t.clientLeft,n+=t.offsetTop-t.scrollTop+t.clientTop;t=t.offsetParent}return{x:e,y:n}},Object.defineProperty(t.prototype,"dataProvider",{set:function(t){void 0!==t&&(this.provider=t,void 0!==this.selected&&(this.keyword=this.getLabel(this.selected)))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"eager",{set:function(t){t&&this.getItems(null,!1)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"options",{set:function(t){this.autocompleteOptions=new a;for(var e=Object.keys(this.autocompleteOptions),n=e.length,o=0;o<n;o++){var i=e[o];void 0!==t[i]&&(this.autocompleteOptions[i]=t[i])}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){var t=this.selected;return this.multi||void 0===this.selected.length||(t=0===this.selected.length?null:this.selected[0]),t},set:function(t){null!=t&&(this.selected=t,this.keyword=this.getLabel(t))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"showList",{get:function(){return this.showSuggestions},set:function(t){void 0!==t&&this.showSuggestions!==t&&(this.showSuggestions=!0===t,this.showListChanged=!0)},enumerable:!1,configurable:!0}),t.prototype.ngAfterViewChecked=function(){this.showListChanged&&(this.showListChanged=!1,this.showSuggestions?this.itemsShown.emit():this.itemsHidden.emit())},t.prototype.ngDoCheck=function(){this.hasFocus||this.clearInvalidInput&&(null===this.selected||this.multi)&&(""!==this.keyword&&(this.keyword=""),this.inputElem&&this.inputElem.nativeElement&&this.inputElem.nativeElement.children&&0!==this.inputElem.nativeElement.children.length&&this.inputElem.nativeElement.children[0].children&&0!==this.inputElem.nativeElement.children[0].children.length&&this.inputElem.nativeElement.children[0].children[0].value&&(this.inputElem.nativeElement.children[0].children[0].value=""),this.searchbarElem&&this.searchbarElem.nativeElement&&this.searchbarElem.nativeElement.children&&0!==this.searchbarElem.nativeElement.children.length&&this.searchbarElem.nativeElement.children[0].children&&0!==this.searchbarElem.nativeElement.children[0].children.length&&this.searchbarElem.nativeElement.children[0].children[0].value&&(this.searchbarElem.nativeElement.children[0].children[0].value=""))},t.prototype.documentClickHandler=function(t){(this.searchbarElem&&this.searchbarElem.nativeElement&&!this.searchbarElem.nativeElement.contains(t.target)||this.inputElem&&this.inputElem.nativeElement&&this.inputElem.nativeElement.contains(t.target))&&this.hideItemList()},t.prototype.getFormValue=function(t){if(void 0===this.provider)return null;if(null==t||"function"==typeof this.provider)return null;var e=null==this.provider.formValueAttribute?this.provider.labelAttribute:this.provider.formValueAttribute;return"object"==typeof t&&e?t[e]:t},t.prototype.clickClear=function(){this.clearValue(!0),this.itemsCleared.emit(!0)},t.prototype.clearValue=function(t){void 0===t&&(t=!1),this.keyword="",this.selection=null,this.formValue=null,t&&this.hideItemList(),this.focusedOption=-1},t.prototype.getItems=function(t,e){var n=this;this.isLoading=!0,this.promise&&clearTimeout(this.promise),this.promise=setTimeout((function(){var o;t&&(n.keyword=t.detail.target.value),n.showResultsFirst&&""===n.keyword.trim()&&(n.keyword=""),"function"==typeof n.provider?(o=n.provider(n.keyword),n.setSuggestions(o,e),n.isLoading=!1):((o=n.provider.getResults(n.keyword))instanceof s.Subject?o=o.asObservable():o instanceof Promise&&(o=s.from(o)),o instanceof s.Observable?o.pipe(l.finalize((function(){n.isLoading=!1}))).subscribe((function(t){n.setSuggestions(t,e)}),(function(t){return console.error(t)})):(n.setSuggestions(o,e),n.isLoading=!1)),n.ionAutoInput.emit(n.keyword)}),this.autocompleteOptions.debounce)},t.prototype.getLabel=function(t){if(void 0===this.provider)return"";if(null==t||"function"==typeof this.provider)return"";var e=null==this.provider.formValueAttribute?this.provider.labelAttribute:this.provider.formValueAttribute,n=t;if(this.provider.getItemLabel&&(n=this.provider.getItemLabel(n)),!this.multi&&void 0!==n&&"[object Array]"===Object.prototype.toString.call(n)){if(0===n.length)return"";n=n[0]}return"object"==typeof n&&e?n[e]||"":n||""},t.prototype.listStyles=function(){var t=this.listLocationStyles();return Object.assign(Object.assign({},t),this.styles.list)},t.prototype.listLocationStyles=function(){var e=this.location;if("auto"===this.location){var n=t._getPosition(this.searchbarElem.nativeElement).y;e=n>window.innerHeight-n?"top":"bottom"}return"bottom"===e?{}:{bottom:"37px"}},t.prototype.handleTabOut=function(t){this.selectOnTabOut&&0!==this.suggestions.length&&-1!==this.focusedOption?this.selectItem(this.suggestions[this.focusedOption]):this.hideItemList(),this.onBlur(t)},t.prototype.handleTap=function(t){(this.showResultsFirst||this.keyword.length>0)&&this.getItems()},t.prototype.handleSelectTap=function(t,e){return void 0!==e&&(this.selectItem(e),t.srcEvent?(t.srcEvent.stopPropagation&&t.srcEvent.stopPropagation(),t.srcEvent.preventDefault&&t.srcEvent.preventDefault()):t.preventDefault&&t.preventDefault()),!1},t.prototype.hideItemList=function(){!1===this.showSuggestions&&!1===this.alwaysShowList&&(this.showListChanged=!0),this.showSuggestions=this.alwaysShowList,this.focusedOption=-1},t.prototype.highlightItem=function(t){!1===this.showSuggestions&&this.showItemList();var e=this.suggestions.length-1;e>this.maxResults&&(e=this.maxResults-1),t<0?-1===this.focusedOption||this.focusedOption===e?this.focusedOption=0:this.focusedOption++:t>0&&(-1===this.focusedOption||0===this.focusedOption?this.focusedOption=e:this.focusedOption--)},t.prototype.onFocus=function(t){this.hasFocus=!0,this.getItems(),t=this._reflectName(t),this.autoFocus.emit(t),this.focus.emit(t)},t.prototype.onBlur=function(t){this.hasFocus=!1,t=this._reflectName(t),this.autoBlur.emit(t),this.blur.emit(t)},t.prototype._reflectName=function(t){return"object"==typeof t.srcElement.attributes["ng-reflect-name"]&&(t.srcElement.name=t.srcElement.attributes["ng-reflect-name"].value),t},t.prototype.registerOnChange=function(t){this.onChangeCallback=t},t.prototype.registerOnTouched=function(t){this.onTouchedCallback=t},t.prototype.removeDuplicates=function(t){for(var e=this.selected?this.selected.length:0,n=t.length,o=0;o<e;o++)for(var i=this.getLabel(this.selected[o]),s=0;s<n;s++){i===this.getLabel(t[s])&&t.splice(s,1)}return t},t.prototype.removeExcluded=function(t){for(var e=this.exclude.length,n=0;n<e;n++){var o=this.exclude[n];"object"==typeof o&&(o=this.getLabel(o));for(var i=t.length,s=0;s<i;s++){if(o===this.getLabel(t[s])){t.splice(s,1);break}}}return t},t.prototype.removeItem=function(t,e){for(var n=this.selected?this.selected.length:0,o=0;o<n;o++){var i=this.selected[o];this.getLabel(t)===this.getLabel(i)&&this.selected.splice(o,1)}(e=void 0===e||e)&&(this.itemRemoved.emit(t),this.itemsChange.emit(this.selected)),this.modelChange.emit(this.selected)},t.prototype.selectItem=function(t){if(this.keyword=this.getLabel(t),this.formValue=this.getFormValue(t),this.hideItemList(),this.updateModel(this.formValue),this.hideListOnSelection&&this.hideItemList(),this.multi){if(!(null===this.maxSelected||this.selected.length<=this.maxSelected))return;this.clearValue(),this.selected.push(t),this.itemsChange.emit(this.selected)}else this.selection=t,this.selected=[t],this.itemsChange.emit(t);this.itemSelected.emit(t),this.modelChange.emit(this.selected)},t.prototype.setFocus=function(){this.useIonInput&&this.inputElem?this.inputElem.nativeElement.setFocus():this.searchbarElem&&this.searchbarElem.nativeElement.setFocus()},t.prototype.setSuggestions=function(t,e){this.removeDuplicateSuggestions&&(t=this.removeDuplicates(t),t=this.removeExcluded(t)),this.suggestions=t,(e||void 0===e)&&this.showItemList(),this.autoFocusSuggestion&&0!==this.suggestions.length&&(this.focusedOption=0)},t.prototype.setValue=function(t){this.formValue=this.getFormValue(t),this.keyword=this.getLabel(t)},t.prototype.showItemList=function(){!1===this.showSuggestions&&(this.showListChanged=!0),this.showSuggestions=!0},t.prototype.updateModel=function(t){t!==this.formValue&&(this.formValue=t,this.multi||(this.selected=null)),this.onChangeCallback&&this.onChangeCallback(this.formValue),this.modelChange.emit(this.selected)},t.prototype.writeValue=function(t){t!==this.selection&&(this.selection=t||null,this.formValue=this.getFormValue(this.selection),this.keyword=this.getLabel(this.selection))},t}();r.decorators=[{type:e.Component,args:[{providers:[{provide:o.NG_VALUE_ACCESSOR,useExisting:r,multi:!0}],selector:"ion-auto-complete",template:'<ng-template #defaultSelection\n let-attrs="attrs">\n <ion-chip class="{{ attrs.removeButtonClasses }}"\n [color]="attrs.removeButtonColor"\n [outline]="true">\n <ion-icon *ngIf="frontIcon"\n [name]="frontIcon"\n [slot]="\'start\'"\n color="primary"></ion-icon>\n\n <ion-label>{{ attrs.label }}</ion-label>\n\n <ion-icon *ngIf="attrs.removeButtonIcon"\n [name]="attrs.removeButtonIcon"\n [slot]="attrs.removeButtonSlot"></ion-icon>\n </ion-chip>\n</ng-template>\n\n<div *ngIf="multi">\n <div *ngFor="let item of selected"\n class="selected-items"\n (click)="removeItem(item)">\n <ng-template [ngTemplateOutlet]="selectionTemplate || defaultSelection"\n [ngTemplateOutletContext]="{\n attrs: {\n data: item,\n label: getLabel(item),\n removeButtonClasses: removeButtonClasses,\n removeButtonColor: removeButtonColor,\n removeButtonIcon: removeButtonIcon,\n removeButtonSlot: removeButtonSlot\n }\n }"></ng-template>\n </div>\n</div>\n\n<ion-label *ngIf="label.length !== 0"\n [position]="labelPosition">{{ label }}</ion-label>\n\n<ion-input #inputElem\n [autocomplete]="autocomplete"\n [name]="name"\n (ionInput)="getItems($event)"\n (tap)="handleTap($event)"\n [(ngModel)]="keyword"\n (ngModelChange)="updateModel($event)"\n [placeholder]="autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder"\n [type]="autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type"\n [clearOnEdit]="autocompleteOptions.clearOnEdit == null ? defaultOpts.clearOnEdit : autocompleteOptions.clearOnEdit"\n [clearInput]="autocompleteOptions.clearInput == null ? defaultOpts.clearInput : autocompleteOptions.clearInput"\n [color]="autocompleteOptions.color == null ? null : autocompleteOptions.color"\n [mode]="autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode"\n [disabled]="disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected)"\n [ngClass]="{ \'hidden\': !useIonInput, \'loading\': isLoading }"\n [ngStyle]="styles.searchbar"\n (keydown.tab)="handleTabOut($event)"\n (keydown.shift.tab)="hideItemList()"\n (keyup.arrowDown)="highlightItem(-1)"\n (keyup.arrowUp)="highlightItem(1)"\n (keyup.enter)="handleSelectTap($event, suggestions[focusedOption])"\n (keyup.escape)="hideItemList()"\n (ionFocus)="onFocus($event)"\n (ionBlur)="onBlur($event)"></ion-input>\n\n<ion-searchbar #searchbarElem\n [autocomplete]="autocomplete"\n [name]="name"\n [animated]="autocompleteOptions.animated == null ? defaultOpts.animated : autocompleteOptions.animated"\n (ionInput)="getItems($event)"\n (tap)="handleTap($event)"\n [(ngModel)]="keyword"\n (ngModelChange)="updateModel($event)"\n [cancelButtonIcon]="autocompleteOptions.cancelButtonIcon == null ? defaultOpts.cancelButtonIcon : autocompleteOptions.cancelButtonIcon"\n [cancelButtonText]="autocompleteOptions.cancelButtonText == null ? defaultOpts.cancelButtonText : autocompleteOptions.cancelButtonText"\n [clearIcon]="autocompleteOptions.clearIcon == null ? defaultOpts.clearIcon : autocompleteOptions.clearIcon"\n [color]="autocompleteOptions.color == null ? null : autocompleteOptions.color"\n [showCancelButton]="autocompleteOptions.showCancelButton == null ?\n (defaultOpts.showCancelButton ? \'always\' : \'never\') :\n (autocompleteOptions.showCancelButton ? \'always\' : \'never\')"\n [debounce]="autocompleteOptions.debounce == null ? defaultOpts.debounce : autocompleteOptions.debounce"\n [placeholder]="autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder"\n [autocorrect]="autocompleteOptions.autocorrect == null ? defaultOpts.autocorrect : autocompleteOptions.autocorrect"\n [mode]="autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode"\n [searchIcon]="autocompleteOptions.searchIcon == null ? defaultOpts.searchIcon : autocompleteOptions.searchIcon"\n [spellcheck]="autocompleteOptions.spellcheck == null ? defaultOpts.spellcheck : autocompleteOptions.spellcheck"\n [type]="autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type"\n [ngClass]="{ \'hidden\': useIonInput, \'loading\': isLoading, \'disabled\': disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected) }"\n [ngStyle]="styles.searchbar"\n (keydown.tab)="handleTabOut($event)"\n (keydown.shift.tab)="hideItemList()"\n (keyup.arrowDown)="highlightItem(-1)"\n (keyup.arrowUp)="highlightItem(1)"\n (keyup.enter)="handleSelectTap($event, suggestions[focusedOption])"\n (keyup.escape)="hideItemList()"\n (ionClear)="clickClear()"\n (ionFocus)="onFocus($event)"\n (ionBlur)="onBlur($event)"></ion-searchbar>\n\n<ng-template #defaultTemplate\n let-attrs="attrs">\n <span [innerHTML]=\'attrs.label | boldprefix:attrs.keyword\'></span>\n</ng-template>\n\n<ng-template #defaultEmptyTemplate\n let-attrs="attrs"\n class="ion-text-center">\n {{ autocompleteOptions.noItems }}\n</ng-template>\n\n<ng-template [ngTemplateOutlet]="listTemplate || defaultList"\n [ngTemplateOutletContext]="{\n attrs: {\n data: suggestions,\n keyword: keyword,\n maxResults: maxResults,\n maxSelected: maxSelected,\n selected: selected,\n showSuggestions: showSuggestions\n }\n }"></ng-template>\n\n<ng-template #defaultList\n let-attrs="attrs">\n <ul *ngIf="!(disabled || (attrs.maxSelected !== null && attrs.selected.length >= attrs.maxSelected)) && attrs.data.length > 0 && attrs.showSuggestions"\n [ngStyle]="listStyles()">\n <li *ngFor="let suggestion of attrs.data| slice:0:attrs.maxResults; let index = index"\n [ngClass]="{ \'focus\': focusedOption === index }"\n [ngStyle]="styles.listItem"\n (mouseenter)="focusedOption = index"\n (click)="handleSelectTap($event, suggestion)"\n (tap)="handleSelectTap($event, suggestion)">\n <ng-template [ngTemplateOutlet]="template || defaultTemplate"\n [ngTemplateOutletContext]="{\n attrs:{\n data: suggestion,\n label: getLabel(suggestion),\n keyword: keyword,\n formValue: getFormValue(suggestion),\n labelAttribute: getLabel(suggestion),\n formValueAttribute: getFormValue(suggestion)\n }\n }"></ng-template>\n </li>\n </ul>\n\n <ul *ngIf="suggestions.length === 0 && showSuggestions"\n [ngStyle]="listStyles()">\n <li [ngStyle]="styles.listItem">\n <ng-template [ngTemplateOutlet]="emptyTemplate || defaultEmptyTemplate"\n [ngTemplateOutletContext]="{\n attrs:{\n keyword: keyword\n }\n }"></ng-template>\n </li>\n </ul>\n</ng-template>\n',styles:["ion-auto-complete{display:inline-block;overflow:hidden!important;width:90vw}ion-auto-complete ion-searchbar{padding:1px!important}ion-auto-complete .disabled input.searchbar-input{cursor:default;pointer-events:none}ion-auto-complete ul{background:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);left:16px;list-style-type:none;margin-top:0;padding:0;position:absolute;width:90vw;z-index:999}ion-auto-complete ul li{border-bottom:1px solid #c1c1c1;padding:15px}ion-auto-complete ul ion-auto-complete-item{height:40px;width:100%}ion-auto-complete ul li:last-child{border:none}ion-auto-complete ul li.focus,ion-auto-complete ul li:focus{background:#f1f1f1;cursor:pointer}ion-auto-complete .hidden{display:none}ion-auto-complete .loading input.searchbar-input{background:#fff url(/assets/loading.gif) no-repeat right 4px center;background-size:25px 25px}ion-auto-complete .searchbar-clear-button.sc-ion-searchbar-md{right:34px}ion-auto-complete .selected-items{float:left}"]}]}],r.ctorParameters=function(){return[]},r.propDecorators={alwaysShowList:[{type:e.Input}],autocomplete:[{type:e.Input}],autoFocusSuggestion:[{type:e.Input}],clearInvalidInput:[{type:e.Input}],disabled:[{type:e.Input}],emptyTemplate:[{type:e.Input}],exclude:[{type:e.Input}],frontIcon:[{type:e.Input}],hideListOnSelection:[{type:e.Input}],keyword:[{type:e.Input}],label:[{type:e.Input}],labelPosition:[{type:e.Input}],listTemplate:[{type:e.Input}],location:[{type:e.Input}],maxResults:[{type:e.Input}],maxSelected:[{type:e.Input}],multi:[{type:e.Input}],name:[{type:e.Input}],provider:[{type:e.Input}],removeButtonClasses:[{type:e.Input}],removeButtonColor:[{type:e.Input}],removeButtonIcon:[{type:e.Input}],removeButtonSlot:[{type:e.Input}],removeDuplicateSuggestions:[{type:e.Input}],selectionTemplate:[{type:e.Input}],selectOnTabOut:[{type:e.Input}],showResultsFirst:[{type:e.Input}],styles:[{type:e.Input}],template:[{type:e.Input}],useIonInput:[{type:e.Input}],autoFocus:[{type:e.Output}],autoBlur:[{type:e.Output}],blur:[{type:e.Output}],focus:[{type:e.Output}],ionAutoInput:[{type:e.Output}],itemsChange:[{type:e.Output}],itemsCleared:[{type:e.Output}],itemsHidden:[{type:e.Output}],itemRemoved:[{type:e.Output}],itemSelected:[{type:e.Output}],itemsShown:[{type:e.Output}],modelChange:[{type:e.Output}],searchbarElem:[{type:e.ViewChild,args:["searchbarElem",{read:e.ElementRef}]}],inputElem:[{type:e.ViewChild,args:["inputElem",{read:e.ElementRef}]}],dataProvider:[{type:e.Input}],eager:[{type:e.Input}],options:[{type:e.Input}],model:[{type:e.Input}],showList:[{type:e.Input}],documentClickHandler:[{type:e.HostListener,args:["document:click",["$event"]]}]};var p=function(){function t(){}return t.prototype.transform=function(t,e){if(!e)return t;var n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(n,"gi"),(function(t){return t.bold()}))},t}();p.decorators=[{type:e.Pipe,args:[{name:"boldprefix"}]},{type:e.Injectable}];var c=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();c.decorators=[{type:e.NgModule,args:[{declarations:[r,p],exports:[r,p],imports:[n.CommonModule,o.FormsModule,i.IonicModule]}]}],t.AutoCompleteComponent=r,t.AutoCompleteModule=c,t.AutoCompleteOptions=a,t.AutoCompleteStyles=u,t.BoldPrefix=p,Object.defineProperty(t,"__esModule",{value:!0})}));
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@ionic/angular"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("ionic4-auto-complete",["exports","@angular/core","@angular/common","@angular/forms","@ionic/angular","rxjs","rxjs/operators"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["ionic4-auto-complete"]={},t.ng.core,t.ng.common,t.ng.forms,t["@ionic/angular"],t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,o,i,s,l){"use strict";var a=function(){this.animated=!1,this.color=null,this.autocomplete="off",this.autocorrect="off",this.cancelButtonIcon="arrow-round-back",this.cancelButtonText="Cancel",this.clearIcon="close-circle",this.clearInput=!1,this.clearOnEdit=!1,this.debounce=250,this.mode="md",this.noItems="No items found.",this.placeholder="Search",this.searchIcon="search",this.showCancelButton=!1,this.spellcheck="off",this.type="search",this.value=""},u=function(){this.list={},this.listItem={},this.searchbar={}},r=function(){function t(){this.autocompleteOptions=new a,this.hasFocus=!1,this.isLoading=!1,this.focusedOption=-1,this.showSuggestions=!1,this.onTouchedCallback=!1,this.onChangeCallback=!1,this.showListChanged=!1,this.alwaysShowList=!1,this.autocomplete="off",this.autoFocusSuggestion=!0,this.clearInvalidInput=!0,this.disabled=!1,this.exclude=[],this.frontIcon=!1,this.hideListOnSelection=!0,this.label="",this.labelPosition="fixed",this.location="auto",this.maxResults=8,this.maxSelected=null,this.multi=!1,this.name="",this.removeButtonClasses="",this.removeButtonColor="primary",this.removeButtonIcon="close-circle",this.removeButtonSlot="end",this.removeDuplicateSuggestions=!0,this.selectOnTabOut=!0,this.styles=new u,this.useIonInput=!1,this.autoBlur=new e.EventEmitter,this.autoFocus=new e.EventEmitter,this.blur=new e.EventEmitter,this.focus=new e.EventEmitter,this.ionAutoInput=new e.EventEmitter,this.itemsChange=new e.EventEmitter,this.itemsCleared=new e.EventEmitter,this.itemsHidden=new e.EventEmitter,this.itemRemoved=new e.EventEmitter,this.itemSelected=new e.EventEmitter,this.itemsShown=new e.EventEmitter,this.modelChange=new e.EventEmitter,this.keyword="",this.suggestions=[],this.autocompleteOptions=new a,this.defaultOpts=new a,this.selected=[]}return t._getPosition=function(t){for(var e=0,n=0;t;){if("BODY"===t.tagName){var o=t.scrollLeft||document.documentElement.scrollLeft,i=t.scrollTop||document.documentElement.scrollTop;e+=t.offsetLeft-o+t.clientLeft,n+=t.offsetTop-i+t.clientTop}else e+=t.offsetLeft-t.scrollLeft+t.clientLeft,n+=t.offsetTop-t.scrollTop+t.clientTop;t=t.offsetParent}return{x:e,y:n}},Object.defineProperty(t.prototype,"dataProvider",{set:function(t){void 0!==t&&(this.provider=t,void 0!==this.selected&&(this.keyword=this.getLabel(this.selected)))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"eager",{set:function(t){t&&this.getItems(null,!1)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"options",{set:function(t){this.autocompleteOptions=new a;for(var e=Object.keys(this.autocompleteOptions),n=e.length,o=0;o<n;o++){var i=e[o];void 0!==t[i]&&(this.autocompleteOptions[i]=t[i])}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){var t=this.selected;return this.multi||void 0===this.selected.length||(t=0===this.selected.length?null:this.selected[0]),t},set:function(t){void 0===t&&(t=this.multi?[]:null),this.selected=t,this.keyword=this.getLabel(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"showList",{get:function(){return this.showSuggestions},set:function(t){void 0!==t&&this.showSuggestions!==t&&(this.showSuggestions=!0===t,this.showListChanged=!0)},enumerable:!1,configurable:!0}),t.prototype.ngAfterViewChecked=function(){this.showListChanged&&(this.showListChanged=!1,this.showSuggestions?this.itemsShown.emit():this.itemsHidden.emit())},t.prototype.ngDoCheck=function(){this.hasFocus||this.clearInvalidInput&&(null===this.selected||this.multi)&&(""!==this.keyword&&(this.keyword=""),this.inputElem&&this.inputElem.nativeElement&&this.inputElem.nativeElement.children&&0!==this.inputElem.nativeElement.children.length&&this.inputElem.nativeElement.children[0].children&&0!==this.inputElem.nativeElement.children[0].children.length&&this.inputElem.nativeElement.children[0].children[0].value&&(this.inputElem.nativeElement.children[0].children[0].value=""),this.searchbarElem&&this.searchbarElem.nativeElement&&this.searchbarElem.nativeElement.children&&0!==this.searchbarElem.nativeElement.children.length&&this.searchbarElem.nativeElement.children[0].children&&0!==this.searchbarElem.nativeElement.children[0].children.length&&this.searchbarElem.nativeElement.children[0].children[0].value&&(this.searchbarElem.nativeElement.children[0].children[0].value=""))},t.prototype.documentClickHandler=function(t){(this.searchbarElem&&this.searchbarElem.nativeElement&&!this.searchbarElem.nativeElement.contains(t.target)||this.inputElem&&this.inputElem.nativeElement&&this.inputElem.nativeElement.contains(t.target))&&this.hideItemList()},t.prototype.getFormValue=function(t){if(void 0===this.provider)return null;if(null==t||"function"==typeof this.provider)return null;var e=null==this.provider.formValueAttribute?this.provider.labelAttribute:this.provider.formValueAttribute;return"object"==typeof t&&e?t[e]:t},t.prototype.clickClear=function(){this.clearValue(!0),this.itemsCleared.emit(!0)},t.prototype.clearValue=function(t){void 0===t&&(t=!1),this.keyword="",this.selection=null,this.formValue=null,t&&this.hideItemList(),this.focusedOption=-1},t.prototype.getItems=function(t,e){var n=this;this.isLoading=!0,this.promise&&clearTimeout(this.promise),this.promise=setTimeout((function(){var o;t&&(n.keyword=t.detail.target.value),n.showResultsFirst&&""===n.keyword.trim()&&(n.keyword=""),"function"==typeof n.provider?(o=n.provider(n.keyword),n.setSuggestions(o,e),n.isLoading=!1):((o=n.provider.getResults(n.keyword))instanceof s.Subject?o=o.asObservable():o instanceof Promise&&(o=s.from(o)),o instanceof s.Observable?o.pipe(l.finalize((function(){n.isLoading=!1}))).subscribe((function(t){n.setSuggestions(t,e)}),(function(t){return console.error(t)})):(n.setSuggestions(o,e),n.isLoading=!1)),n.ionAutoInput.emit(n.keyword)}),this.autocompleteOptions.debounce)},t.prototype.getLabel=function(t){if(void 0===this.provider)return"";if(null==t||"function"==typeof this.provider)return"";var e=null==this.provider.formValueAttribute?this.provider.labelAttribute:this.provider.formValueAttribute,n=t;if(this.provider.getItemLabel&&(n=this.provider.getItemLabel(n)),!this.multi&&void 0!==n&&"[object Array]"===Object.prototype.toString.call(n)){if(0===n.length)return"";n=n[0]}return"object"==typeof n&&e?n[e]||"":n||""},t.prototype.listStyles=function(){var t=this.listLocationStyles();return Object.assign(Object.assign({},t),this.styles.list)},t.prototype.listLocationStyles=function(){var e=this.location;if("auto"===this.location){var n=t._getPosition(this.searchbarElem.nativeElement).y;e=n>window.innerHeight-n?"top":"bottom"}return"bottom"===e?{}:{bottom:"37px"}},t.prototype.handleTabOut=function(t){this.selectOnTabOut&&0!==this.suggestions.length&&-1!==this.focusedOption?this.selectItem(this.suggestions[this.focusedOption]):this.hideItemList(),this.onBlur(t)},t.prototype.handleTap=function(t){(this.showResultsFirst||this.keyword.length>0)&&this.getItems()},t.prototype.handleSelectTap=function(t,e){return void 0!==e&&(this.selectItem(e),t.srcEvent?(t.srcEvent.stopPropagation&&t.srcEvent.stopPropagation(),t.srcEvent.preventDefault&&t.srcEvent.preventDefault()):t.preventDefault&&t.preventDefault()),!1},t.prototype.hideItemList=function(){!1===this.showSuggestions&&!1===this.alwaysShowList&&(this.showListChanged=!0),this.showSuggestions=this.alwaysShowList,this.focusedOption=-1},t.prototype.highlightItem=function(t){!1===this.showSuggestions&&this.showItemList();var e=this.suggestions.length-1;e>this.maxResults&&(e=this.maxResults-1),t<0?-1===this.focusedOption||this.focusedOption===e?this.focusedOption=0:this.focusedOption++:t>0&&(-1===this.focusedOption||0===this.focusedOption?this.focusedOption=e:this.focusedOption--)},t.prototype.onFocus=function(t){this.hasFocus=!0,this.getItems(),t=this._reflectName(t),this.autoFocus.emit(t),this.focus.emit(t)},t.prototype.onBlur=function(t){this.hasFocus=!1,t=this._reflectName(t),this.autoBlur.emit(t),this.blur.emit(t)},t.prototype._reflectName=function(t){return"object"==typeof t.srcElement.attributes["ng-reflect-name"]&&(t.srcElement.name=t.srcElement.attributes["ng-reflect-name"].value),t},t.prototype.registerOnChange=function(t){this.onChangeCallback=t},t.prototype.registerOnTouched=function(t){this.onTouchedCallback=t},t.prototype.removeDuplicates=function(t){for(var e=this.selected?this.selected.length:0,n=t.length,o=0;o<e;o++)for(var i=this.getLabel(this.selected[o]),s=0;s<n;s++){i===this.getLabel(t[s])&&t.splice(s,1)}return t},t.prototype.removeExcluded=function(t){for(var e=this.exclude.length,n=0;n<e;n++){var o=this.exclude[n];"object"==typeof o&&(o=this.getLabel(o));for(var i=t.length,s=0;s<i;s++){if(o===this.getLabel(t[s])){t.splice(s,1);break}}}return t},t.prototype.removeItem=function(t,e){for(var n=this.selected?this.selected.length:0,o=0;o<n;o++){var i=this.selected[o];this.getLabel(t)===this.getLabel(i)&&this.selected.splice(o,1)}(e=void 0===e||e)&&(this.itemRemoved.emit(t),this.itemsChange.emit(this.selected)),this.modelChange.emit(this.selected)},t.prototype.selectItem=function(t){if(this.keyword=this.getLabel(t),this.formValue=this.getFormValue(t),this.hideItemList(),this.updateModel(this.formValue),this.hideListOnSelection&&this.hideItemList(),this.multi){if(!(null===this.maxSelected||this.selected.length<=this.maxSelected))return;this.clearValue(),this.selected.push(t),this.itemsChange.emit(this.selected)}else this.selection=t,this.selected=[t],this.itemsChange.emit(t);this.itemSelected.emit(t),this.modelChange.emit(this.selected)},t.prototype.setFocus=function(){this.useIonInput&&this.inputElem?this.inputElem.nativeElement.setFocus():this.searchbarElem&&this.searchbarElem.nativeElement.setFocus()},t.prototype.setSuggestions=function(t,e){this.removeDuplicateSuggestions&&(t=this.removeDuplicates(t),t=this.removeExcluded(t)),this.suggestions=t,(e||void 0===e)&&this.showItemList(),this.autoFocusSuggestion&&0!==this.suggestions.length&&(this.focusedOption=0)},t.prototype.setValue=function(t){this.formValue=this.getFormValue(t),this.keyword=this.getLabel(t)},t.prototype.showItemList=function(){!1===this.showSuggestions&&(this.showListChanged=!0),this.showSuggestions=!0},t.prototype.updateModel=function(t){t!==this.formValue&&(this.formValue=t,this.multi||(this.selected=null)),this.onChangeCallback&&this.onChangeCallback(this.formValue),this.modelChange.emit(this.selected)},t.prototype.writeValue=function(t){t!==this.selection&&(this.selection=t||null,this.formValue=this.getFormValue(this.selection),this.keyword=this.getLabel(this.selection))},t}();r.decorators=[{type:e.Component,args:[{providers:[{provide:o.NG_VALUE_ACCESSOR,useExisting:r,multi:!0}],selector:"ion-auto-complete",template:'<ng-template #defaultSelection\n let-attrs="attrs">\n <ion-chip class="{{ attrs.removeButtonClasses }}"\n [color]="attrs.removeButtonColor"\n [outline]="true">\n <ion-icon *ngIf="frontIcon"\n [name]="frontIcon"\n [slot]="\'start\'"\n color="primary"></ion-icon>\n\n <ion-label>{{ attrs.label }}</ion-label>\n\n <ion-icon *ngIf="attrs.removeButtonIcon"\n [name]="attrs.removeButtonIcon"\n [slot]="attrs.removeButtonSlot"></ion-icon>\n </ion-chip>\n</ng-template>\n\n<div *ngIf="multi">\n <div *ngFor="let item of selected"\n class="selected-items"\n (click)="removeItem(item)">\n <ng-template [ngTemplateOutlet]="selectionTemplate || defaultSelection"\n [ngTemplateOutletContext]="{\n attrs: {\n data: item,\n label: getLabel(item),\n removeButtonClasses: removeButtonClasses,\n removeButtonColor: removeButtonColor,\n removeButtonIcon: removeButtonIcon,\n removeButtonSlot: removeButtonSlot\n }\n }"></ng-template>\n </div>\n</div>\n\n<ion-label *ngIf="label.length !== 0"\n [position]="labelPosition">{{ label }}</ion-label>\n\n<ion-input #inputElem\n [autocomplete]="autocomplete"\n [name]="name"\n (ionInput)="getItems($event)"\n (tap)="handleTap($event)"\n [(ngModel)]="keyword"\n (ngModelChange)="updateModel($event)"\n [placeholder]="autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder"\n [type]="autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type"\n [clearOnEdit]="autocompleteOptions.clearOnEdit == null ? defaultOpts.clearOnEdit : autocompleteOptions.clearOnEdit"\n [clearInput]="autocompleteOptions.clearInput == null ? defaultOpts.clearInput : autocompleteOptions.clearInput"\n [color]="autocompleteOptions.color == null ? null : autocompleteOptions.color"\n [mode]="autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode"\n [disabled]="disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected)"\n [ngClass]="{ \'hidden\': !useIonInput, \'loading\': isLoading }"\n [ngStyle]="styles.searchbar"\n (keydown.tab)="handleTabOut($event)"\n (keydown.shift.tab)="hideItemList()"\n (keyup.arrowDown)="highlightItem(-1)"\n (keyup.arrowUp)="highlightItem(1)"\n (keyup.enter)="handleSelectTap($event, suggestions[focusedOption])"\n (keyup.escape)="hideItemList()"\n (ionFocus)="onFocus($event)"\n (ionBlur)="onBlur($event)"></ion-input>\n\n<ion-searchbar #searchbarElem\n [autocomplete]="autocomplete"\n [name]="name"\n [animated]="autocompleteOptions.animated == null ? defaultOpts.animated : autocompleteOptions.animated"\n (ionInput)="getItems($event)"\n (tap)="handleTap($event)"\n [(ngModel)]="keyword"\n (ngModelChange)="updateModel($event)"\n [cancelButtonIcon]="autocompleteOptions.cancelButtonIcon == null ? defaultOpts.cancelButtonIcon : autocompleteOptions.cancelButtonIcon"\n [cancelButtonText]="autocompleteOptions.cancelButtonText == null ? defaultOpts.cancelButtonText : autocompleteOptions.cancelButtonText"\n [clearIcon]="autocompleteOptions.clearIcon == null ? defaultOpts.clearIcon : autocompleteOptions.clearIcon"\n [color]="autocompleteOptions.color == null ? null : autocompleteOptions.color"\n [showCancelButton]="autocompleteOptions.showCancelButton == null ?\n (defaultOpts.showCancelButton ? \'always\' : \'never\') :\n (autocompleteOptions.showCancelButton ? \'always\' : \'never\')"\n [debounce]="autocompleteOptions.debounce == null ? defaultOpts.debounce : autocompleteOptions.debounce"\n [placeholder]="autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder"\n [autocorrect]="autocompleteOptions.autocorrect == null ? defaultOpts.autocorrect : autocompleteOptions.autocorrect"\n [mode]="autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode"\n [searchIcon]="autocompleteOptions.searchIcon == null ? defaultOpts.searchIcon : autocompleteOptions.searchIcon"\n [spellcheck]="autocompleteOptions.spellcheck == null ? defaultOpts.spellcheck : autocompleteOptions.spellcheck"\n [type]="autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type"\n [ngClass]="{ \'hidden\': useIonInput, \'loading\': isLoading, \'disabled\': disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected) }"\n [ngStyle]="styles.searchbar"\n (keydown.tab)="handleTabOut($event)"\n (keydown.shift.tab)="hideItemList()"\n (keyup.arrowDown)="highlightItem(-1)"\n (keyup.arrowUp)="highlightItem(1)"\n (keyup.enter)="handleSelectTap($event, suggestions[focusedOption])"\n (keyup.escape)="hideItemList()"\n (ionClear)="clickClear()"\n (ionFocus)="onFocus($event)"\n (ionBlur)="onBlur($event)"></ion-searchbar>\n\n<ng-template #defaultTemplate\n let-attrs="attrs">\n <span [innerHTML]=\'attrs.label | boldprefix:attrs.keyword\'></span>\n</ng-template>\n\n<ng-template #defaultEmptyTemplate\n let-attrs="attrs"\n class="ion-text-center">\n {{ autocompleteOptions.noItems }}\n</ng-template>\n\n<ng-template [ngTemplateOutlet]="listTemplate || defaultList"\n [ngTemplateOutletContext]="{\n attrs: {\n data: suggestions,\n keyword: keyword,\n maxResults: maxResults,\n maxSelected: maxSelected,\n selected: selected,\n showSuggestions: showSuggestions\n }\n }"></ng-template>\n\n<ng-template #defaultList\n let-attrs="attrs">\n <ul *ngIf="!(disabled || (attrs.maxSelected !== null && attrs.selected.length >= attrs.maxSelected)) && attrs.data.length > 0 && attrs.showSuggestions"\n [ngStyle]="listStyles()">\n <li *ngFor="let suggestion of attrs.data| slice:0:attrs.maxResults; let index = index"\n [ngClass]="{ \'focus\': focusedOption === index }"\n [ngStyle]="styles.listItem"\n (mouseenter)="focusedOption = index"\n (click)="handleSelectTap($event, suggestion)"\n (tap)="handleSelectTap($event, suggestion)">\n <ng-template [ngTemplateOutlet]="template || defaultTemplate"\n [ngTemplateOutletContext]="{\n attrs:{\n data: suggestion,\n label: getLabel(suggestion),\n keyword: keyword,\n formValue: getFormValue(suggestion),\n labelAttribute: getLabel(suggestion),\n formValueAttribute: getFormValue(suggestion)\n }\n }"></ng-template>\n </li>\n </ul>\n\n <ul *ngIf="suggestions.length === 0 && showSuggestions"\n [ngStyle]="listStyles()">\n <li [ngStyle]="styles.listItem">\n <ng-template [ngTemplateOutlet]="emptyTemplate || defaultEmptyTemplate"\n [ngTemplateOutletContext]="{\n attrs:{\n keyword: keyword\n }\n }"></ng-template>\n </li>\n </ul>\n</ng-template>\n',styles:["ion-auto-complete{overflow:hidden!important;width:90vw;display:inline-block}ion-auto-complete ion-searchbar{padding:1px!important}ion-auto-complete .disabled input.searchbar-input{pointer-events:none;cursor:default}ion-auto-complete ul{position:absolute;width:90vw;margin-top:0;background:#fff;list-style-type:none;padding:0;left:16px;z-index:999;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}ion-auto-complete ul li{padding:15px;border-bottom:1px solid #c1c1c1}ion-auto-complete ul ion-auto-complete-item{height:40px;width:100%}ion-auto-complete ul li:last-child{border:none}ion-auto-complete ul li.focus,ion-auto-complete ul li:focus{cursor:pointer;background:#f1f1f1}ion-auto-complete .hidden{display:none}ion-auto-complete .loading input.searchbar-input{background:#fff url(/assets/loading.gif) no-repeat right 4px center;background-size:25px 25px}ion-auto-complete .searchbar-clear-button.sc-ion-searchbar-md{right:34px}ion-auto-complete .selected-items{float:left}"]}]}],r.ctorParameters=function(){return[]},r.propDecorators={alwaysShowList:[{type:e.Input}],autocomplete:[{type:e.Input}],autoFocusSuggestion:[{type:e.Input}],clearInvalidInput:[{type:e.Input}],disabled:[{type:e.Input}],emptyTemplate:[{type:e.Input}],exclude:[{type:e.Input}],frontIcon:[{type:e.Input}],hideListOnSelection:[{type:e.Input}],keyword:[{type:e.Input}],label:[{type:e.Input}],labelPosition:[{type:e.Input}],listTemplate:[{type:e.Input}],location:[{type:e.Input}],maxResults:[{type:e.Input}],maxSelected:[{type:e.Input}],multi:[{type:e.Input}],name:[{type:e.Input}],provider:[{type:e.Input}],removeButtonClasses:[{type:e.Input}],removeButtonColor:[{type:e.Input}],removeButtonIcon:[{type:e.Input}],removeButtonSlot:[{type:e.Input}],removeDuplicateSuggestions:[{type:e.Input}],selectionTemplate:[{type:e.Input}],selectOnTabOut:[{type:e.Input}],showResultsFirst:[{type:e.Input}],styles:[{type:e.Input}],template:[{type:e.Input}],useIonInput:[{type:e.Input}],autoFocus:[{type:e.Output}],autoBlur:[{type:e.Output}],blur:[{type:e.Output}],focus:[{type:e.Output}],ionAutoInput:[{type:e.Output}],itemsChange:[{type:e.Output}],itemsCleared:[{type:e.Output}],itemsHidden:[{type:e.Output}],itemRemoved:[{type:e.Output}],itemSelected:[{type:e.Output}],itemsShown:[{type:e.Output}],modelChange:[{type:e.Output}],searchbarElem:[{type:e.ViewChild,args:["searchbarElem",{read:e.ElementRef}]}],inputElem:[{type:e.ViewChild,args:["inputElem",{read:e.ElementRef}]}],dataProvider:[{type:e.Input}],eager:[{type:e.Input}],options:[{type:e.Input}],model:[{type:e.Input}],showList:[{type:e.Input}],documentClickHandler:[{type:e.HostListener,args:["document:click",["$event"]]}]};var p=function(){function t(){}return t.prototype.transform=function(t,e){if(!e)return t;var n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(n,"gi"),(function(t){return t.bold()}))},t}();p.decorators=[{type:e.Pipe,args:[{name:"boldprefix"}]},{type:e.Injectable}];var c=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();c.decorators=[{type:e.NgModule,args:[{declarations:[r,p],exports:[r,p],imports:[n.CommonModule,o.FormsModule,i.IonicModule]}]}],t.AutoCompleteComponent=r,t.AutoCompleteModule=c,t.AutoCompleteOptions=a,t.AutoCompleteStyles=u,t.BoldPrefix=p,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=ionic4-auto-complete.umd.min.js.map

@@ -23,2 +23,2 @@ export class AutoCompleteOptions {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS1vcHRpb25zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3NyYy8iLCJzb3VyY2VzIjpbImF1dG8tY29tcGxldGUtb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sbUJBQW1CO0lBb0I5QjtRQW5CTyxhQUFRLEdBQVcsS0FBSyxDQUFDO1FBQ3pCLFVBQUssR0FBZSxJQUFJLENBQUM7UUFDekIsaUJBQVksR0FBYyxLQUFLLENBQUM7UUFDaEMsZ0JBQVcsR0FBYyxLQUFLLENBQUM7UUFDL0IscUJBQWdCLEdBQVUsa0JBQWtCLENBQUM7UUFDN0MscUJBQWdCLEdBQVUsUUFBUSxDQUFDO1FBQ25DLGNBQVMsR0FBVSxjQUFjLENBQUM7UUFDbEMsZUFBVSxHQUFXLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFXLEtBQUssQ0FBQztRQUM1QixhQUFRLEdBQVUsR0FBRyxDQUFDO1FBQ3RCLFNBQUksR0FBYyxJQUFJLENBQUM7UUFDdkIsWUFBTyxHQUFVLGlCQUFpQixDQUFDO1FBQ25DLGdCQUFXLEdBQVUsUUFBUSxDQUFDO1FBQzlCLGVBQVUsR0FBVSxRQUFRLENBQUM7UUFDN0IscUJBQWdCLEdBQVcsS0FBSyxDQUFDO1FBQ2pDLGVBQVUsR0FBYyxLQUFLLENBQUM7UUFDOUIsU0FBSSxHQUFVLFFBQVEsQ0FBQztRQUN2QixVQUFLLEdBQVUsRUFBRSxDQUFDO0lBSXpCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVPcHRpb25zIHtcbiAgcHVibGljIGFuaW1hdGVkOmJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNvbG9yOnN0cmluZ3xudWxsID0gbnVsbDtcbiAgcHVibGljIGF1dG9jb21wbGV0ZTonb24nfCdvZmYnID0gJ29mZic7XG4gIHB1YmxpYyBhdXRvY29ycmVjdDonb24nfCdvZmYnID0gJ29mZic7XG4gIHB1YmxpYyBjYW5jZWxCdXR0b25JY29uOnN0cmluZyA9ICdhcnJvdy1yb3VuZC1iYWNrJztcbiAgcHVibGljIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nID0gJ0NhbmNlbCc7XG4gIHB1YmxpYyBjbGVhckljb246c3RyaW5nID0gJ2Nsb3NlLWNpcmNsZSc7XG4gIHB1YmxpYyBjbGVhcklucHV0OmJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNsZWFyT25FZGl0OmJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGRlYm91bmNlOm51bWJlciA9IDI1MDtcbiAgcHVibGljIG1vZGU6J2lvcyd8J21kJyA9ICdtZCc7XG4gIHB1YmxpYyBub0l0ZW1zOnN0cmluZyA9ICdObyBpdGVtcyBmb3VuZC4nO1xuICBwdWJsaWMgcGxhY2Vob2xkZXI6c3RyaW5nID0gJ1NlYXJjaCc7XG4gIHB1YmxpYyBzZWFyY2hJY29uOnN0cmluZyA9ICdzZWFyY2gnO1xuICBwdWJsaWMgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzcGVsbGNoZWNrOidvbid8J29mZicgPSAnb2ZmJztcbiAgcHVibGljIHR5cGU6c3RyaW5nID0gJ3NlYXJjaCc7XG4gIHB1YmxpYyB2YWx1ZTpzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHtcblxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS1vcHRpb25zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dG8tY29tcGxldGUtb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sbUJBQW1CO0lBb0I5QjtRQW5CTyxhQUFRLEdBQVcsS0FBSyxDQUFDO1FBQ3pCLFVBQUssR0FBZSxJQUFJLENBQUM7UUFDekIsaUJBQVksR0FBYyxLQUFLLENBQUM7UUFDaEMsZ0JBQVcsR0FBYyxLQUFLLENBQUM7UUFDL0IscUJBQWdCLEdBQVUsa0JBQWtCLENBQUM7UUFDN0MscUJBQWdCLEdBQVUsUUFBUSxDQUFDO1FBQ25DLGNBQVMsR0FBVSxjQUFjLENBQUM7UUFDbEMsZUFBVSxHQUFXLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFXLEtBQUssQ0FBQztRQUM1QixhQUFRLEdBQVUsR0FBRyxDQUFDO1FBQ3RCLFNBQUksR0FBYyxJQUFJLENBQUM7UUFDdkIsWUFBTyxHQUFVLGlCQUFpQixDQUFDO1FBQ25DLGdCQUFXLEdBQVUsUUFBUSxDQUFDO1FBQzlCLGVBQVUsR0FBVSxRQUFRLENBQUM7UUFDN0IscUJBQWdCLEdBQVcsS0FBSyxDQUFDO1FBQ2pDLGVBQVUsR0FBYyxLQUFLLENBQUM7UUFDOUIsU0FBSSxHQUFVLFFBQVEsQ0FBQztRQUN2QixVQUFLLEdBQVUsRUFBRSxDQUFDO0lBSXpCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVPcHRpb25zIHtcbiAgcHVibGljIGFuaW1hdGVkOmJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNvbG9yOnN0cmluZ3xudWxsID0gbnVsbDtcbiAgcHVibGljIGF1dG9jb21wbGV0ZTonb24nfCdvZmYnID0gJ29mZic7XG4gIHB1YmxpYyBhdXRvY29ycmVjdDonb24nfCdvZmYnID0gJ29mZic7XG4gIHB1YmxpYyBjYW5jZWxCdXR0b25JY29uOnN0cmluZyA9ICdhcnJvdy1yb3VuZC1iYWNrJztcbiAgcHVibGljIGNhbmNlbEJ1dHRvblRleHQ6c3RyaW5nID0gJ0NhbmNlbCc7XG4gIHB1YmxpYyBjbGVhckljb246c3RyaW5nID0gJ2Nsb3NlLWNpcmNsZSc7XG4gIHB1YmxpYyBjbGVhcklucHV0OmJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNsZWFyT25FZGl0OmJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGRlYm91bmNlOm51bWJlciA9IDI1MDtcbiAgcHVibGljIG1vZGU6J2lvcyd8J21kJyA9ICdtZCc7XG4gIHB1YmxpYyBub0l0ZW1zOnN0cmluZyA9ICdObyBpdGVtcyBmb3VuZC4nO1xuICBwdWJsaWMgcGxhY2Vob2xkZXI6c3RyaW5nID0gJ1NlYXJjaCc7XG4gIHB1YmxpYyBzZWFyY2hJY29uOnN0cmluZyA9ICdzZWFyY2gnO1xuICBwdWJsaWMgc2hvd0NhbmNlbEJ1dHRvbjpib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzcGVsbGNoZWNrOidvbid8J29mZicgPSAnb2ZmJztcbiAgcHVibGljIHR5cGU6c3RyaW5nID0gJ3NlYXJjaCc7XG4gIHB1YmxpYyB2YWx1ZTpzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHtcblxuICB9XG59XG4iXX0=

@@ -8,2 +8,2 @@ export class AutoCompleteStyles {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS1zdHlsZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vc3JjLyIsInNvdXJjZXMiOlsiYXV0by1jb21wbGV0ZS1zdHlsZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUNTLFNBQUksR0FBSSxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUksRUFBRSxDQUFDO1FBQ2YsY0FBUyxHQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlU3R5bGVzIHtcbiAgcHVibGljIGxpc3Q/ID0ge307XG4gIHB1YmxpYyBsaXN0SXRlbT8gPSB7fTtcbiAgcHVibGljIHNlYXJjaGJhcj8gPSB7fTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS1zdHlsZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0by1jb21wbGV0ZS1zdHlsZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUNTLFNBQUksR0FBSSxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUksRUFBRSxDQUFDO1FBQ2YsY0FBUyxHQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlU3R5bGVzIHtcbiAgcHVibGljIGxpc3Q/ID0ge307XG4gIHB1YmxpYyBsaXN0SXRlbT8gPSB7fTtcbiAgcHVibGljIHNlYXJjaGJhcj8gPSB7fTtcbn1cbiJdfQ==
export {};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3NyYy8iLCJzb3VyY2VzIjpbImF1dG8tY29tcGxldGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXRvQ29tcGxldGVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIHRoZSBsaXRlcmFsIG5hbWUgb2YgdGhlIHRpdGxlIGF0dHJpYnV0ZVxuICAgKi9cbiAgbGFiZWxBdHRyaWJ1dGU/OnN0cmluZztcblxuICAvKipcbiAgICogdGhlIHZhbHVlIG9mIHRoZSBmaWVsZCB3aGVuIHVzZWQgaW4gYSBmb3JtR3JvdXAuIElmIG51bGwsIGxhYmVsQXR0cmlidXRlIGlzIHVzZWRcbiAgICovXG4gIGZvcm1WYWx1ZUF0dHJpYnV0ZT86YW55O1xuXG4gIC8qKlxuICAgKiB0aGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIG9iamVjdHMgKHJlc3VsdHMpXG4gICAqIEBwYXJhbSB0ZXJtXG4gICAqL1xuICBnZXRSZXN1bHRzKHRlcm06YW55KTphbnk7XG5cbiAgLyoqXG4gICAqIHRoaXMgbWV0aG9kIHBhcnNlcyBlYWNoIGl0ZW0gb2YgdGhlIHJlc3VsdHMgZnJvbSBkYXRhIHNlcnZpY2UuXG4gICAqIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyB0aGUgZGlzcGxheWVkIGZvcm0gb2YgdGhlIHJlc3VsdFxuICAgKiBAcGFyYW0gaXRlbVxuICAgKi9cbiAgZ2V0SXRlbUxhYmVsPyhpdGVtOmFueSk6YW55O1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dG8tY29tcGxldGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXRvQ29tcGxldGVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIHRoZSBsaXRlcmFsIG5hbWUgb2YgdGhlIHRpdGxlIGF0dHJpYnV0ZVxuICAgKi9cbiAgbGFiZWxBdHRyaWJ1dGU/OnN0cmluZztcblxuICAvKipcbiAgICogdGhlIHZhbHVlIG9mIHRoZSBmaWVsZCB3aGVuIHVzZWQgaW4gYSBmb3JtR3JvdXAuIElmIG51bGwsIGxhYmVsQXR0cmlidXRlIGlzIHVzZWRcbiAgICovXG4gIGZvcm1WYWx1ZUF0dHJpYnV0ZT86YW55O1xuXG4gIC8qKlxuICAgKiB0aGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIG9iamVjdHMgKHJlc3VsdHMpXG4gICAqIEBwYXJhbSB0ZXJtXG4gICAqL1xuICBnZXRSZXN1bHRzKHRlcm06YW55KTphbnk7XG5cbiAgLyoqXG4gICAqIHRoaXMgbWV0aG9kIHBhcnNlcyBlYWNoIGl0ZW0gb2YgdGhlIHJlc3VsdHMgZnJvbSBkYXRhIHNlcnZpY2UuXG4gICAqIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyB0aGUgZGlzcGxheWVkIGZvcm0gb2YgdGhlIHJlc3VsdFxuICAgKiBAcGFyYW0gaXRlbVxuICAgKi9cbiAgZ2V0SXRlbUxhYmVsPyhpdGVtOmFueSk6YW55O1xufVxuIl19

@@ -22,2 +22,2 @@ import { Injectable, Pipe } from '@angular/core';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9sZC1wcmVmaXgucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9zcmMvIiwic291cmNlcyI6WyJib2xkLXByZWZpeC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQWlCLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU5RDs7R0FFRztBQUtILE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsT0FBYztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQ25DLHFCQUFxQixFQUNyQixNQUFNLENBQ1AsQ0FBQztRQUVGLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FDbEIsSUFBSSxNQUFNLENBQ1IsZUFBZSxFQUNmLElBQUksQ0FDTCxFQUNELFVBQVMsR0FBRztZQUNWLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBeEJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsWUFBWTthQUNuQjtZQUNBLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFBpcGVUcmFuc2Zvcm0sIFBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJvbGRzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1hdGNoaW5nIHN0cmluZyBpbiB0aGUgaXRlbVxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdib2xkcHJlZml4J1xufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCb2xkUHJlZml4IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTpzdHJpbmcsIGtleXdvcmQ6c3RyaW5nKTphbnkge1xuICAgIGlmICgha2V5d29yZCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBcbiAgICBsZXQgZXNjYXBlZF9rZXl3b3JkID0ga2V5d29yZC5yZXBsYWNlKFxuICAgICAgL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcbiAgICAgICdcXFxcJCYnXG4gICAgKTtcbiAgICBcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShcbiAgICAgIG5ldyBSZWdFeHAoXG4gICAgICAgIGVzY2FwZWRfa2V5d29yZCwgXG4gICAgICAgICdnaSdcbiAgICAgICksIFxuICAgICAgZnVuY3Rpb24oc3RyKSB7IFxuICAgICAgICByZXR1cm4gc3RyLmJvbGQoKTsgXG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9sZC1wcmVmaXgucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib2xkLXByZWZpeC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQWlCLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU5RDs7R0FFRztBQUtILE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsT0FBYztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQ25DLHFCQUFxQixFQUNyQixNQUFNLENBQ1AsQ0FBQztRQUVGLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FDbEIsSUFBSSxNQUFNLENBQ1IsZUFBZSxFQUNmLElBQUksQ0FDTCxFQUNELFVBQVMsR0FBRztZQUNWLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBeEJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsWUFBWTthQUNuQjtZQUNBLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFBpcGVUcmFuc2Zvcm0sIFBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJvbGRzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1hdGNoaW5nIHN0cmluZyBpbiB0aGUgaXRlbVxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdib2xkcHJlZml4J1xufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCb2xkUHJlZml4IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTpzdHJpbmcsIGtleXdvcmQ6c3RyaW5nKTphbnkge1xuICAgIGlmICgha2V5d29yZCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBcbiAgICBsZXQgZXNjYXBlZF9rZXl3b3JkID0ga2V5d29yZC5yZXBsYWNlKFxuICAgICAgL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcbiAgICAgICdcXFxcJCYnXG4gICAgKTtcbiAgICBcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShcbiAgICAgIG5ldyBSZWdFeHAoXG4gICAgICAgIGVzY2FwZWRfa2V5d29yZCwgXG4gICAgICAgICdnaSdcbiAgICAgICksIFxuICAgICAgZnVuY3Rpb24oc3RyKSB7IFxuICAgICAgICByZXR1cm4gc3RyLmJvbGQoKTsgXG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIl19

@@ -5,2 +5,2 @@ /**

export * from './main';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWM0LWF1dG8tY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vc3JjLyIsInNvdXJjZXMiOlsiaW9uaWM0LWF1dG8tY29tcGxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tYWluJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWM0LWF1dG8tY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW9uaWM0LWF1dG8tY29tcGxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tYWluJztcbiJdfQ==

@@ -37,2 +37,2 @@ import { NgModule } from '@angular/core';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9zcmMvIiwic291cmNlcyI6WyJtYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsb0JBQW9CLENBQUM7QUFpQm5DLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDOzs7WUFyQkYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixxQkFBcUI7b0JBQ3JCLFVBQVU7aUJBQ1g7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtvQkFDckIsVUFBVTtpQkFDWDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLFdBQVc7aUJBQ1o7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7SW9uaWNNb2R1bGV9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuaW1wb3J0IHtBdXRvQ29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0JvbGRQcmVmaXh9IGZyb20gJy4vYm9sZC1wcmVmaXgucGlwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXV0by1jb21wbGV0ZS1vcHRpb25zLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0by1jb21wbGV0ZS1zdHlsZXMubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dG8tY29tcGxldGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2JvbGQtcHJlZml4LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdXRvQ29tcGxldGVDb21wb25lbnQsXG4gICAgQm9sZFByZWZpeFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEJvbGRQcmVmaXhcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJb25pY01vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Db21wbGV0ZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6TW9kdWxlV2l0aFByb3ZpZGVyczxBdXRvQ29tcGxldGVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsb0JBQW9CLENBQUM7QUFpQm5DLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDOzs7WUFyQkYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixxQkFBcUI7b0JBQ3JCLFVBQVU7aUJBQ1g7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtvQkFDckIsVUFBVTtpQkFDWDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLFdBQVc7aUJBQ1o7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7SW9uaWNNb2R1bGV9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuaW1wb3J0IHtBdXRvQ29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0JvbGRQcmVmaXh9IGZyb20gJy4vYm9sZC1wcmVmaXgucGlwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXV0by1jb21wbGV0ZS1vcHRpb25zLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0by1jb21wbGV0ZS1zdHlsZXMubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dG8tY29tcGxldGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2JvbGQtcHJlZml4LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdXRvQ29tcGxldGVDb21wb25lbnQsXG4gICAgQm9sZFByZWZpeFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEJvbGRQcmVmaXhcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJb25pY01vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Db21wbGV0ZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6TW9kdWxlV2l0aFByb3ZpZGVyczxBdXRvQ29tcGxldGVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG59XG4iXX0=

@@ -158,6 +158,12 @@ import { EventEmitter, Component, Input, Output, ViewChild, ElementRef, HostListener, Pipe, Injectable, NgModule } from '@angular/core';

set model(selected) {
if (typeof selected !== 'undefined' && selected !== null) {
this.selected = selected;
this.keyword = this.getLabel(selected);
if (typeof selected === 'undefined') {
if (this.multi) {
selected = [];
}
else {
selected = null;
}
}
this.selected = selected;
this.keyword = this.getLabel(selected);
}

@@ -687,3 +693,3 @@ get showList() {

template: "<ng-template #defaultSelection\n let-attrs=\"attrs\">\n <ion-chip class=\"{{ attrs.removeButtonClasses }}\"\n [color]=\"attrs.removeButtonColor\"\n [outline]=\"true\">\n <ion-icon *ngIf=\"frontIcon\"\n [name]=\"frontIcon\"\n [slot]=\"'start'\"\n color=\"primary\"></ion-icon>\n\n <ion-label>{{ attrs.label }}</ion-label>\n\n <ion-icon *ngIf=\"attrs.removeButtonIcon\"\n [name]=\"attrs.removeButtonIcon\"\n [slot]=\"attrs.removeButtonSlot\"></ion-icon>\n </ion-chip>\n</ng-template>\n\n<div *ngIf=\"multi\">\n <div *ngFor=\"let item of selected\"\n class=\"selected-items\"\n (click)=\"removeItem(item)\">\n <ng-template [ngTemplateOutlet]=\"selectionTemplate || defaultSelection\"\n [ngTemplateOutletContext]=\"{\n attrs: {\n data: item,\n label: getLabel(item),\n removeButtonClasses: removeButtonClasses,\n removeButtonColor: removeButtonColor,\n removeButtonIcon: removeButtonIcon,\n removeButtonSlot: removeButtonSlot\n }\n }\"></ng-template>\n </div>\n</div>\n\n<ion-label *ngIf=\"label.length !== 0\"\n [position]=\"labelPosition\">{{ label }}</ion-label>\n\n<ion-input #inputElem\n [autocomplete]=\"autocomplete\"\n [name]=\"name\"\n (ionInput)=\"getItems($event)\"\n (tap)=\"handleTap($event)\"\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"updateModel($event)\"\n [placeholder]=\"autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder\"\n [type]=\"autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type\"\n [clearOnEdit]=\"autocompleteOptions.clearOnEdit == null ? defaultOpts.clearOnEdit : autocompleteOptions.clearOnEdit\"\n [clearInput]=\"autocompleteOptions.clearInput == null ? defaultOpts.clearInput : autocompleteOptions.clearInput\"\n [color]=\"autocompleteOptions.color == null ? null : autocompleteOptions.color\"\n [mode]=\"autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode\"\n [disabled]=\"disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected)\"\n [ngClass]=\"{ 'hidden': !useIonInput, 'loading': isLoading }\"\n [ngStyle]=\"styles.searchbar\"\n (keydown.tab)=\"handleTabOut($event)\"\n (keydown.shift.tab)=\"hideItemList()\"\n (keyup.arrowDown)=\"highlightItem(-1)\"\n (keyup.arrowUp)=\"highlightItem(1)\"\n (keyup.enter)=\"handleSelectTap($event, suggestions[focusedOption])\"\n (keyup.escape)=\"hideItemList()\"\n (ionFocus)=\"onFocus($event)\"\n (ionBlur)=\"onBlur($event)\"></ion-input>\n\n<ion-searchbar #searchbarElem\n [autocomplete]=\"autocomplete\"\n [name]=\"name\"\n [animated]=\"autocompleteOptions.animated == null ? defaultOpts.animated : autocompleteOptions.animated\"\n (ionInput)=\"getItems($event)\"\n (tap)=\"handleTap($event)\"\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"updateModel($event)\"\n [cancelButtonIcon]=\"autocompleteOptions.cancelButtonIcon == null ? defaultOpts.cancelButtonIcon : autocompleteOptions.cancelButtonIcon\"\n [cancelButtonText]=\"autocompleteOptions.cancelButtonText == null ? defaultOpts.cancelButtonText : autocompleteOptions.cancelButtonText\"\n [clearIcon]=\"autocompleteOptions.clearIcon == null ? defaultOpts.clearIcon : autocompleteOptions.clearIcon\"\n [color]=\"autocompleteOptions.color == null ? null : autocompleteOptions.color\"\n [showCancelButton]=\"autocompleteOptions.showCancelButton == null ?\n (defaultOpts.showCancelButton ? 'always' : 'never') :\n (autocompleteOptions.showCancelButton ? 'always' : 'never')\"\n [debounce]=\"autocompleteOptions.debounce == null ? defaultOpts.debounce : autocompleteOptions.debounce\"\n [placeholder]=\"autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder\"\n [autocorrect]=\"autocompleteOptions.autocorrect == null ? defaultOpts.autocorrect : autocompleteOptions.autocorrect\"\n [mode]=\"autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode\"\n [searchIcon]=\"autocompleteOptions.searchIcon == null ? defaultOpts.searchIcon : autocompleteOptions.searchIcon\"\n [spellcheck]=\"autocompleteOptions.spellcheck == null ? defaultOpts.spellcheck : autocompleteOptions.spellcheck\"\n [type]=\"autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type\"\n [ngClass]=\"{ 'hidden': useIonInput, 'loading': isLoading, 'disabled': disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected) }\"\n [ngStyle]=\"styles.searchbar\"\n (keydown.tab)=\"handleTabOut($event)\"\n (keydown.shift.tab)=\"hideItemList()\"\n (keyup.arrowDown)=\"highlightItem(-1)\"\n (keyup.arrowUp)=\"highlightItem(1)\"\n (keyup.enter)=\"handleSelectTap($event, suggestions[focusedOption])\"\n (keyup.escape)=\"hideItemList()\"\n (ionClear)=\"clickClear()\"\n (ionFocus)=\"onFocus($event)\"\n (ionBlur)=\"onBlur($event)\"></ion-searchbar>\n\n<ng-template #defaultTemplate\n let-attrs=\"attrs\">\n <span [innerHTML]='attrs.label | boldprefix:attrs.keyword'></span>\n</ng-template>\n\n<ng-template #defaultEmptyTemplate\n let-attrs=\"attrs\"\n class=\"ion-text-center\">\n {{ autocompleteOptions.noItems }}\n</ng-template>\n\n<ng-template [ngTemplateOutlet]=\"listTemplate || defaultList\"\n [ngTemplateOutletContext]=\"{\n attrs: {\n data: suggestions,\n keyword: keyword,\n maxResults: maxResults,\n maxSelected: maxSelected,\n selected: selected,\n showSuggestions: showSuggestions\n }\n }\"></ng-template>\n\n<ng-template #defaultList\n let-attrs=\"attrs\">\n <ul *ngIf=\"!(disabled || (attrs.maxSelected !== null && attrs.selected.length >= attrs.maxSelected)) && attrs.data.length > 0 && attrs.showSuggestions\"\n [ngStyle]=\"listStyles()\">\n <li *ngFor=\"let suggestion of attrs.data| slice:0:attrs.maxResults; let index = index\"\n [ngClass]=\"{ 'focus': focusedOption === index }\"\n [ngStyle]=\"styles.listItem\"\n (mouseenter)=\"focusedOption = index\"\n (click)=\"handleSelectTap($event, suggestion)\"\n (tap)=\"handleSelectTap($event, suggestion)\">\n <ng-template [ngTemplateOutlet]=\"template || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n attrs:{\n data: suggestion,\n label: getLabel(suggestion),\n keyword: keyword,\n formValue: getFormValue(suggestion),\n labelAttribute: getLabel(suggestion),\n formValueAttribute: getFormValue(suggestion)\n }\n }\"></ng-template>\n </li>\n </ul>\n\n <ul *ngIf=\"suggestions.length === 0 && showSuggestions\"\n [ngStyle]=\"listStyles()\">\n <li [ngStyle]=\"styles.listItem\">\n <ng-template [ngTemplateOutlet]=\"emptyTemplate || defaultEmptyTemplate\"\n [ngTemplateOutletContext]=\"{\n attrs:{\n keyword: keyword\n }\n }\"></ng-template>\n </li>\n </ul>\n</ng-template>\n",
styles: ["ion-auto-complete{display:inline-block;overflow:hidden!important;width:90vw}ion-auto-complete ion-searchbar{padding:1px!important}ion-auto-complete .disabled input.searchbar-input{cursor:default;pointer-events:none}ion-auto-complete ul{background:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);left:16px;list-style-type:none;margin-top:0;padding:0;position:absolute;width:90vw;z-index:999}ion-auto-complete ul li{border-bottom:1px solid #c1c1c1;padding:15px}ion-auto-complete ul ion-auto-complete-item{height:40px;width:100%}ion-auto-complete ul li:last-child{border:none}ion-auto-complete ul li.focus,ion-auto-complete ul li:focus{background:#f1f1f1;cursor:pointer}ion-auto-complete .hidden{display:none}ion-auto-complete .loading input.searchbar-input{background:#fff url(/assets/loading.gif) no-repeat right 4px center;background-size:25px 25px}ion-auto-complete .searchbar-clear-button.sc-ion-searchbar-md{right:34px}ion-auto-complete .selected-items{float:left}"]
styles: ["ion-auto-complete{overflow:hidden!important;width:90vw;display:inline-block}ion-auto-complete ion-searchbar{padding:1px!important}ion-auto-complete .disabled input.searchbar-input{pointer-events:none;cursor:default}ion-auto-complete ul{position:absolute;width:90vw;margin-top:0;background:#fff;list-style-type:none;padding:0;left:16px;z-index:999;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}ion-auto-complete ul li{padding:15px;border-bottom:1px solid #c1c1c1}ion-auto-complete ul ion-auto-complete-item{height:40px;width:100%}ion-auto-complete ul li:last-child{border:none}ion-auto-complete ul li.focus,ion-auto-complete ul li:focus{cursor:pointer;background:#f1f1f1}ion-auto-complete .hidden{display:none}ion-auto-complete .loading input.searchbar-input{background:#fff url(/assets/loading.gif) no-repeat right 4px center;background-size:25px 25px}ion-auto-complete .searchbar-clear-button.sc-ion-searchbar-md{right:34px}ion-auto-complete .selected-items{float:left}"]
},] }

@@ -690,0 +696,0 @@ ];

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"AutoCompleteModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"AutoCompleteComponent"},{"__symbolic":"reference","name":"BoldPrefix"}],"exports":[{"__symbolic":"reference","name":"AutoCompleteComponent"},{"__symbolic":"reference","name":"BoldPrefix"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":28,"character":4},{"__symbolic":"reference","module":"@ionic/angular","name":"IonicModule","line":29,"character":4}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"AutoCompleteModule"},"providers":[]}}}},"AutoCompleteOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"AutoCompleteStyles":{"__symbolic":"class","members":{}},"AutoCompleteService":{"__symbolic":"interface"},"AutoCompleteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":24,"character":15},"useExisting":{"__symbolic":"reference","name":"AutoCompleteComponent"},"multi":true}],"selector":"ion-auto-complete","template":"<ng-template #defaultSelection\n let-attrs=\"attrs\">\n <ion-chip class=\"{{ attrs.removeButtonClasses }}\"\n [color]=\"attrs.removeButtonColor\"\n [outline]=\"true\">\n <ion-icon *ngIf=\"frontIcon\"\n [name]=\"frontIcon\"\n [slot]=\"'start'\"\n color=\"primary\"></ion-icon>\n\n <ion-label>{{ attrs.label }}</ion-label>\n\n <ion-icon *ngIf=\"attrs.removeButtonIcon\"\n [name]=\"attrs.removeButtonIcon\"\n [slot]=\"attrs.removeButtonSlot\"></ion-icon>\n </ion-chip>\n</ng-template>\n\n<div *ngIf=\"multi\">\n <div *ngFor=\"let item of selected\"\n class=\"selected-items\"\n (click)=\"removeItem(item)\">\n <ng-template [ngTemplateOutlet]=\"selectionTemplate || defaultSelection\"\n [ngTemplateOutletContext]=\"{\n attrs: {\n data: item,\n label: getLabel(item),\n removeButtonClasses: removeButtonClasses,\n removeButtonColor: removeButtonColor,\n removeButtonIcon: removeButtonIcon,\n removeButtonSlot: removeButtonSlot\n }\n }\"></ng-template>\n </div>\n</div>\n\n<ion-label *ngIf=\"label.length !== 0\"\n [position]=\"labelPosition\">{{ label }}</ion-label>\n\n<ion-input #inputElem\n [autocomplete]=\"autocomplete\"\n [name]=\"name\"\n (ionInput)=\"getItems($event)\"\n (tap)=\"handleTap($event)\"\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"updateModel($event)\"\n [placeholder]=\"autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder\"\n [type]=\"autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type\"\n [clearOnEdit]=\"autocompleteOptions.clearOnEdit == null ? defaultOpts.clearOnEdit : autocompleteOptions.clearOnEdit\"\n [clearInput]=\"autocompleteOptions.clearInput == null ? defaultOpts.clearInput : autocompleteOptions.clearInput\"\n [color]=\"autocompleteOptions.color == null ? null : autocompleteOptions.color\"\n [mode]=\"autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode\"\n [disabled]=\"disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected)\"\n [ngClass]=\"{ 'hidden': !useIonInput, 'loading': isLoading }\"\n [ngStyle]=\"styles.searchbar\"\n (keydown.tab)=\"handleTabOut($event)\"\n (keydown.shift.tab)=\"hideItemList()\"\n (keyup.arrowDown)=\"highlightItem(-1)\"\n (keyup.arrowUp)=\"highlightItem(1)\"\n (keyup.enter)=\"handleSelectTap($event, suggestions[focusedOption])\"\n (keyup.escape)=\"hideItemList()\"\n (ionFocus)=\"onFocus($event)\"\n (ionBlur)=\"onBlur($event)\"></ion-input>\n\n<ion-searchbar #searchbarElem\n [autocomplete]=\"autocomplete\"\n [name]=\"name\"\n [animated]=\"autocompleteOptions.animated == null ? defaultOpts.animated : autocompleteOptions.animated\"\n (ionInput)=\"getItems($event)\"\n (tap)=\"handleTap($event)\"\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"updateModel($event)\"\n [cancelButtonIcon]=\"autocompleteOptions.cancelButtonIcon == null ? defaultOpts.cancelButtonIcon : autocompleteOptions.cancelButtonIcon\"\n [cancelButtonText]=\"autocompleteOptions.cancelButtonText == null ? defaultOpts.cancelButtonText : autocompleteOptions.cancelButtonText\"\n [clearIcon]=\"autocompleteOptions.clearIcon == null ? defaultOpts.clearIcon : autocompleteOptions.clearIcon\"\n [color]=\"autocompleteOptions.color == null ? null : autocompleteOptions.color\"\n [showCancelButton]=\"autocompleteOptions.showCancelButton == null ?\n (defaultOpts.showCancelButton ? 'always' : 'never') :\n (autocompleteOptions.showCancelButton ? 'always' : 'never')\"\n [debounce]=\"autocompleteOptions.debounce == null ? defaultOpts.debounce : autocompleteOptions.debounce\"\n [placeholder]=\"autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder\"\n [autocorrect]=\"autocompleteOptions.autocorrect == null ? defaultOpts.autocorrect : autocompleteOptions.autocorrect\"\n [mode]=\"autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode\"\n [searchIcon]=\"autocompleteOptions.searchIcon == null ? defaultOpts.searchIcon : autocompleteOptions.searchIcon\"\n [spellcheck]=\"autocompleteOptions.spellcheck == null ? defaultOpts.spellcheck : autocompleteOptions.spellcheck\"\n [type]=\"autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type\"\n [ngClass]=\"{ 'hidden': useIonInput, 'loading': isLoading, 'disabled': disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected) }\"\n [ngStyle]=\"styles.searchbar\"\n (keydown.tab)=\"handleTabOut($event)\"\n (keydown.shift.tab)=\"hideItemList()\"\n (keyup.arrowDown)=\"highlightItem(-1)\"\n (keyup.arrowUp)=\"highlightItem(1)\"\n (keyup.enter)=\"handleSelectTap($event, suggestions[focusedOption])\"\n (keyup.escape)=\"hideItemList()\"\n (ionClear)=\"clickClear()\"\n (ionFocus)=\"onFocus($event)\"\n (ionBlur)=\"onBlur($event)\"></ion-searchbar>\n\n<ng-template #defaultTemplate\n let-attrs=\"attrs\">\n <span [innerHTML]='attrs.label | boldprefix:attrs.keyword'></span>\n</ng-template>\n\n<ng-template #defaultEmptyTemplate\n let-attrs=\"attrs\"\n class=\"ion-text-center\">\n {{ autocompleteOptions.noItems }}\n</ng-template>\n\n<ng-template [ngTemplateOutlet]=\"listTemplate || defaultList\"\n [ngTemplateOutletContext]=\"{\n attrs: {\n data: suggestions,\n keyword: keyword,\n maxResults: maxResults,\n maxSelected: maxSelected,\n selected: selected,\n showSuggestions: showSuggestions\n }\n }\"></ng-template>\n\n<ng-template #defaultList\n let-attrs=\"attrs\">\n <ul *ngIf=\"!(disabled || (attrs.maxSelected !== null && attrs.selected.length >= attrs.maxSelected)) && attrs.data.length > 0 && attrs.showSuggestions\"\n [ngStyle]=\"listStyles()\">\n <li *ngFor=\"let suggestion of attrs.data| slice:0:attrs.maxResults; let index = index\"\n [ngClass]=\"{ 'focus': focusedOption === index }\"\n [ngStyle]=\"styles.listItem\"\n (mouseenter)=\"focusedOption = index\"\n (click)=\"handleSelectTap($event, suggestion)\"\n (tap)=\"handleSelectTap($event, suggestion)\">\n <ng-template [ngTemplateOutlet]=\"template || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n attrs:{\n data: suggestion,\n label: getLabel(suggestion),\n keyword: keyword,\n formValue: getFormValue(suggestion),\n labelAttribute: getLabel(suggestion),\n formValueAttribute: getFormValue(suggestion)\n }\n }\"></ng-template>\n </li>\n </ul>\n\n <ul *ngIf=\"suggestions.length === 0 && showSuggestions\"\n [ngStyle]=\"listStyles()\">\n <li [ngStyle]=\"styles.listItem\">\n <ng-template [ngTemplateOutlet]=\"emptyTemplate || defaultEmptyTemplate\"\n [ngTemplateOutletContext]=\"{\n attrs:{\n keyword: keyword\n }\n }\"></ng-template>\n </li>\n </ul>\n</ng-template>\n","styles":["ion-auto-complete{display:inline-block;overflow:hidden!important;width:90vw}ion-auto-complete ion-searchbar{padding:1px!important}ion-auto-complete .disabled input.searchbar-input{cursor:default;pointer-events:none}ion-auto-complete ul{background:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);left:16px;list-style-type:none;margin-top:0;padding:0;position:absolute;width:90vw;z-index:999}ion-auto-complete ul li{border-bottom:1px solid #c1c1c1;padding:15px}ion-auto-complete ul ion-auto-complete-item{height:40px;width:100%}ion-auto-complete ul li:last-child{border:none}ion-auto-complete ul li.focus,ion-auto-complete ul li:focus{background:#f1f1f1;cursor:pointer}ion-auto-complete .hidden{display:none}ion-auto-complete .loading input.searchbar-input{background:#fff url(/assets/loading.gif) no-repeat right 4px center;background-size:25px 25px}ion-auto-complete .searchbar-clear-button.sc-ion-searchbar-md{right:34px}ion-auto-complete .selected-items{float:left}"]}]}],"members":{"alwaysShowList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"autocomplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"autoFocusSuggestion":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"clearInvalidInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"emptyTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"exclude":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"frontIcon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"hideListOnSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"keyword":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"labelPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"listTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"location":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"maxResults":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"maxSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"multi":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"provider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"removeButtonClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"removeButtonColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"removeButtonIcon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"removeButtonSlot":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"removeDuplicateSuggestions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"selectionTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"selectOnTabOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"showResultsFirst":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"styles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}}]}],"useIonInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":3}}]}],"autoFocus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":3}}]}],"autoBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":84,"character":3}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":85,"character":3}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":86,"character":3}}]}],"ionAutoInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":87,"character":3}}]}],"itemsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":88,"character":3}}]}],"itemsCleared":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":89,"character":3}}]}],"itemsHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":90,"character":3}}]}],"itemRemoved":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":91,"character":3}}]}],"itemSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":92,"character":3}}]}],"itemsShown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":93,"character":3}}]}],"modelChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":94,"character":3}}]}],"searchbarElem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":96,"character":3},"arguments":["searchbarElem",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":99,"character":10}}]}]}],"inputElem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":104,"character":3},"arguments":["inputElem",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":107,"character":12}}]}]}],"dataProvider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":143,"character":3}}]}],"eager":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":154,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":3}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":177,"character":3}}]}],"showList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":199,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"documentClickHandler":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":293,"character":3},"arguments":["document:click",["$event"]]}]}],"getFormValue":[{"__symbolic":"method"}],"clickClear":[{"__symbolic":"method"}],"clearValue":[{"__symbolic":"method"}],"getItems":[{"__symbolic":"method"}],"getLabel":[{"__symbolic":"method"}],"listStyles":[{"__symbolic":"method"}],"listLocationStyles":[{"__symbolic":"method"}],"handleTabOut":[{"__symbolic":"method"}],"handleTap":[{"__symbolic":"method"}],"handleSelectTap":[{"__symbolic":"method"}],"hideItemList":[{"__symbolic":"method"}],"highlightItem":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"_reflectName":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"removeDuplicates":[{"__symbolic":"method"}],"removeExcluded":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"selectItem":[{"__symbolic":"method"}],"setFocus":[{"__symbolic":"method"}],"setSuggestions":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"showItemList":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}]}},"BoldPrefix":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":5,"character":1},"arguments":[{"name":"boldprefix"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"AutoCompleteModule":"./main","AutoCompleteOptions":"./auto-complete-options.model","AutoCompleteStyles":"./auto-complete-styles.model","AutoCompleteService":"./auto-complete.service","AutoCompleteComponent":"./auto-complete/auto-complete.component","BoldPrefix":"./bold-prefix.pipe"},"importAs":"ionic4-auto-complete"}
{"__symbolic":"module","version":4,"metadata":{"AutoCompleteModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"AutoCompleteComponent"},{"__symbolic":"reference","name":"BoldPrefix"}],"exports":[{"__symbolic":"reference","name":"AutoCompleteComponent"},{"__symbolic":"reference","name":"BoldPrefix"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":28,"character":4},{"__symbolic":"reference","module":"@ionic/angular","name":"IonicModule","line":29,"character":4}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"AutoCompleteModule"},"providers":[]}}}},"AutoCompleteOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"AutoCompleteStyles":{"__symbolic":"class","members":{}},"AutoCompleteService":{"__symbolic":"interface"},"AutoCompleteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":24,"character":15},"useExisting":{"__symbolic":"reference","name":"AutoCompleteComponent"},"multi":true}],"selector":"ion-auto-complete","template":"<ng-template #defaultSelection\n let-attrs=\"attrs\">\n <ion-chip class=\"{{ attrs.removeButtonClasses }}\"\n [color]=\"attrs.removeButtonColor\"\n [outline]=\"true\">\n <ion-icon *ngIf=\"frontIcon\"\n [name]=\"frontIcon\"\n [slot]=\"'start'\"\n color=\"primary\"></ion-icon>\n\n <ion-label>{{ attrs.label }}</ion-label>\n\n <ion-icon *ngIf=\"attrs.removeButtonIcon\"\n [name]=\"attrs.removeButtonIcon\"\n [slot]=\"attrs.removeButtonSlot\"></ion-icon>\n </ion-chip>\n</ng-template>\n\n<div *ngIf=\"multi\">\n <div *ngFor=\"let item of selected\"\n class=\"selected-items\"\n (click)=\"removeItem(item)\">\n <ng-template [ngTemplateOutlet]=\"selectionTemplate || defaultSelection\"\n [ngTemplateOutletContext]=\"{\n attrs: {\n data: item,\n label: getLabel(item),\n removeButtonClasses: removeButtonClasses,\n removeButtonColor: removeButtonColor,\n removeButtonIcon: removeButtonIcon,\n removeButtonSlot: removeButtonSlot\n }\n }\"></ng-template>\n </div>\n</div>\n\n<ion-label *ngIf=\"label.length !== 0\"\n [position]=\"labelPosition\">{{ label }}</ion-label>\n\n<ion-input #inputElem\n [autocomplete]=\"autocomplete\"\n [name]=\"name\"\n (ionInput)=\"getItems($event)\"\n (tap)=\"handleTap($event)\"\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"updateModel($event)\"\n [placeholder]=\"autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder\"\n [type]=\"autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type\"\n [clearOnEdit]=\"autocompleteOptions.clearOnEdit == null ? defaultOpts.clearOnEdit : autocompleteOptions.clearOnEdit\"\n [clearInput]=\"autocompleteOptions.clearInput == null ? defaultOpts.clearInput : autocompleteOptions.clearInput\"\n [color]=\"autocompleteOptions.color == null ? null : autocompleteOptions.color\"\n [mode]=\"autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode\"\n [disabled]=\"disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected)\"\n [ngClass]=\"{ 'hidden': !useIonInput, 'loading': isLoading }\"\n [ngStyle]=\"styles.searchbar\"\n (keydown.tab)=\"handleTabOut($event)\"\n (keydown.shift.tab)=\"hideItemList()\"\n (keyup.arrowDown)=\"highlightItem(-1)\"\n (keyup.arrowUp)=\"highlightItem(1)\"\n (keyup.enter)=\"handleSelectTap($event, suggestions[focusedOption])\"\n (keyup.escape)=\"hideItemList()\"\n (ionFocus)=\"onFocus($event)\"\n (ionBlur)=\"onBlur($event)\"></ion-input>\n\n<ion-searchbar #searchbarElem\n [autocomplete]=\"autocomplete\"\n [name]=\"name\"\n [animated]=\"autocompleteOptions.animated == null ? defaultOpts.animated : autocompleteOptions.animated\"\n (ionInput)=\"getItems($event)\"\n (tap)=\"handleTap($event)\"\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"updateModel($event)\"\n [cancelButtonIcon]=\"autocompleteOptions.cancelButtonIcon == null ? defaultOpts.cancelButtonIcon : autocompleteOptions.cancelButtonIcon\"\n [cancelButtonText]=\"autocompleteOptions.cancelButtonText == null ? defaultOpts.cancelButtonText : autocompleteOptions.cancelButtonText\"\n [clearIcon]=\"autocompleteOptions.clearIcon == null ? defaultOpts.clearIcon : autocompleteOptions.clearIcon\"\n [color]=\"autocompleteOptions.color == null ? null : autocompleteOptions.color\"\n [showCancelButton]=\"autocompleteOptions.showCancelButton == null ?\n (defaultOpts.showCancelButton ? 'always' : 'never') :\n (autocompleteOptions.showCancelButton ? 'always' : 'never')\"\n [debounce]=\"autocompleteOptions.debounce == null ? defaultOpts.debounce : autocompleteOptions.debounce\"\n [placeholder]=\"autocompleteOptions.placeholder == null ? defaultOpts.placeholder : autocompleteOptions.placeholder\"\n [autocorrect]=\"autocompleteOptions.autocorrect == null ? defaultOpts.autocorrect : autocompleteOptions.autocorrect\"\n [mode]=\"autocompleteOptions.mode == null ? defaultOpts.mode : autocompleteOptions.mode\"\n [searchIcon]=\"autocompleteOptions.searchIcon == null ? defaultOpts.searchIcon : autocompleteOptions.searchIcon\"\n [spellcheck]=\"autocompleteOptions.spellcheck == null ? defaultOpts.spellcheck : autocompleteOptions.spellcheck\"\n [type]=\"autocompleteOptions.type == null ? defaultOpts.type : autocompleteOptions.type\"\n [ngClass]=\"{ 'hidden': useIonInput, 'loading': isLoading, 'disabled': disabled || (this.maxSelected !== null && this.selected.length >= this.maxSelected) }\"\n [ngStyle]=\"styles.searchbar\"\n (keydown.tab)=\"handleTabOut($event)\"\n (keydown.shift.tab)=\"hideItemList()\"\n (keyup.arrowDown)=\"highlightItem(-1)\"\n (keyup.arrowUp)=\"highlightItem(1)\"\n (keyup.enter)=\"handleSelectTap($event, suggestions[focusedOption])\"\n (keyup.escape)=\"hideItemList()\"\n (ionClear)=\"clickClear()\"\n (ionFocus)=\"onFocus($event)\"\n (ionBlur)=\"onBlur($event)\"></ion-searchbar>\n\n<ng-template #defaultTemplate\n let-attrs=\"attrs\">\n <span [innerHTML]='attrs.label | boldprefix:attrs.keyword'></span>\n</ng-template>\n\n<ng-template #defaultEmptyTemplate\n let-attrs=\"attrs\"\n class=\"ion-text-center\">\n {{ autocompleteOptions.noItems }}\n</ng-template>\n\n<ng-template [ngTemplateOutlet]=\"listTemplate || defaultList\"\n [ngTemplateOutletContext]=\"{\n attrs: {\n data: suggestions,\n keyword: keyword,\n maxResults: maxResults,\n maxSelected: maxSelected,\n selected: selected,\n showSuggestions: showSuggestions\n }\n }\"></ng-template>\n\n<ng-template #defaultList\n let-attrs=\"attrs\">\n <ul *ngIf=\"!(disabled || (attrs.maxSelected !== null && attrs.selected.length >= attrs.maxSelected)) && attrs.data.length > 0 && attrs.showSuggestions\"\n [ngStyle]=\"listStyles()\">\n <li *ngFor=\"let suggestion of attrs.data| slice:0:attrs.maxResults; let index = index\"\n [ngClass]=\"{ 'focus': focusedOption === index }\"\n [ngStyle]=\"styles.listItem\"\n (mouseenter)=\"focusedOption = index\"\n (click)=\"handleSelectTap($event, suggestion)\"\n (tap)=\"handleSelectTap($event, suggestion)\">\n <ng-template [ngTemplateOutlet]=\"template || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n attrs:{\n data: suggestion,\n label: getLabel(suggestion),\n keyword: keyword,\n formValue: getFormValue(suggestion),\n labelAttribute: getLabel(suggestion),\n formValueAttribute: getFormValue(suggestion)\n }\n }\"></ng-template>\n </li>\n </ul>\n\n <ul *ngIf=\"suggestions.length === 0 && showSuggestions\"\n [ngStyle]=\"listStyles()\">\n <li [ngStyle]=\"styles.listItem\">\n <ng-template [ngTemplateOutlet]=\"emptyTemplate || defaultEmptyTemplate\"\n [ngTemplateOutletContext]=\"{\n attrs:{\n keyword: keyword\n }\n }\"></ng-template>\n </li>\n </ul>\n</ng-template>\n","styles":["ion-auto-complete{overflow:hidden!important;width:90vw;display:inline-block}ion-auto-complete ion-searchbar{padding:1px!important}ion-auto-complete .disabled input.searchbar-input{pointer-events:none;cursor:default}ion-auto-complete ul{position:absolute;width:90vw;margin-top:0;background:#fff;list-style-type:none;padding:0;left:16px;z-index:999;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}ion-auto-complete ul li{padding:15px;border-bottom:1px solid #c1c1c1}ion-auto-complete ul ion-auto-complete-item{height:40px;width:100%}ion-auto-complete ul li:last-child{border:none}ion-auto-complete ul li.focus,ion-auto-complete ul li:focus{cursor:pointer;background:#f1f1f1}ion-auto-complete .hidden{display:none}ion-auto-complete .loading input.searchbar-input{background:#fff url(/assets/loading.gif) no-repeat right 4px center;background-size:25px 25px}ion-auto-complete .searchbar-clear-button.sc-ion-searchbar-md{right:34px}ion-auto-complete .selected-items{float:left}"]}]}],"members":{"alwaysShowList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"autocomplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"autoFocusSuggestion":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"clearInvalidInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"emptyTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"exclude":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"frontIcon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"hideListOnSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"keyword":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"labelPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"listTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"location":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"maxResults":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"maxSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"multi":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"provider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"removeButtonClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"removeButtonColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"removeButtonIcon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"removeButtonSlot":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"removeDuplicateSuggestions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"selectionTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"selectOnTabOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"showResultsFirst":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"styles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}}]}],"useIonInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":3}}]}],"autoFocus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":3}}]}],"autoBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":84,"character":3}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":85,"character":3}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":86,"character":3}}]}],"ionAutoInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":87,"character":3}}]}],"itemsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":88,"character":3}}]}],"itemsCleared":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":89,"character":3}}]}],"itemsHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":90,"character":3}}]}],"itemRemoved":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":91,"character":3}}]}],"itemSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":92,"character":3}}]}],"itemsShown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":93,"character":3}}]}],"modelChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":94,"character":3}}]}],"searchbarElem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":96,"character":3},"arguments":["searchbarElem",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":99,"character":10}}]}]}],"inputElem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":104,"character":3},"arguments":["inputElem",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":107,"character":12}}]}]}],"dataProvider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":143,"character":3}}]}],"eager":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":154,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":3}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":177,"character":3}}]}],"showList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":205,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"documentClickHandler":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":299,"character":3},"arguments":["document:click",["$event"]]}]}],"getFormValue":[{"__symbolic":"method"}],"clickClear":[{"__symbolic":"method"}],"clearValue":[{"__symbolic":"method"}],"getItems":[{"__symbolic":"method"}],"getLabel":[{"__symbolic":"method"}],"listStyles":[{"__symbolic":"method"}],"listLocationStyles":[{"__symbolic":"method"}],"handleTabOut":[{"__symbolic":"method"}],"handleTap":[{"__symbolic":"method"}],"handleSelectTap":[{"__symbolic":"method"}],"hideItemList":[{"__symbolic":"method"}],"highlightItem":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"_reflectName":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"removeDuplicates":[{"__symbolic":"method"}],"removeExcluded":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"selectItem":[{"__symbolic":"method"}],"setFocus":[{"__symbolic":"method"}],"setSuggestions":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"showItemList":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}]}},"BoldPrefix":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":5,"character":1},"arguments":[{"name":"boldprefix"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"AutoCompleteModule":"./main","AutoCompleteOptions":"./auto-complete-options.model","AutoCompleteStyles":"./auto-complete-styles.model","AutoCompleteService":"./auto-complete.service","AutoCompleteComponent":"./auto-complete/auto-complete.component","BoldPrefix":"./bold-prefix.pipe"},"importAs":"ionic4-auto-complete"}
{
"name": "ionic4-auto-complete",
"version": "2.9.4",
"version": "2.9.5",
"readme": "README.md",

@@ -41,2 +41,2 @@ "homepage": "https://ionic4-auto-complete.jrquick.com",

}
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc