primeng
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primeng) [{"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/animations"),require("@angular/common"),require("primeng/dom"),require("primeng/utils"),require("primeng/api"),require("@angular/forms"),require("@angular/cdk/scrolling"),require("primeng/tooltip")):"function"==typeof define&&define.amd?define("primeng/multiselect",["exports","@angular/core","@angular/animations","@angular/common","primeng/dom","primeng/utils","primeng/api","@angular/forms","@angular/cdk/scrolling","primeng/tooltip"],t):t(((e=e||self).primeng=e.primeng||{},e.primeng.multiselect={}),e.ng.core,e.ng.animations,e.ng.common,e.primeng.dom,e.primeng.utils,e.primeng.api,e.ng.forms,e.ng.cdk.scrolling,e.primeng.tooltip)}(this,(function(e,t,i,n,o,l,s,r,a,p){"use strict";var u=this&&this.__decorate||function(e,t,i,n){var o,l=arguments.length,s=l<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var r=e.length-1;r>=0;r--)(o=e[r])&&(s=(l<3?o(s):l>3?o(t,i,s):o(t,i))||s);return l>3&&s&&Object.defineProperty(t,i,s),s},d=this&&this.__read||function(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,o,l=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=l.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(i=l.return)&&i.call(l)}finally{if(o)throw o.error}}return s},c=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(d(arguments[t]));return e},h=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},v={provide:r.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return y})),multi:!0},m=function(){function e(){this.onClick=new t.EventEmitter,this.onKeydown=new t.EventEmitter}return e.prototype.onOptionClick=function(e){this.onClick.emit({originalEvent:e,option:this.option})},e.prototype.onOptionKeydown=function(e){this.onKeydown.emit({originalEvent:e,option:this.option})},u([t.Input()],e.prototype,"option",void 0),u([t.Input()],e.prototype,"selected",void 0),u([t.Input()],e.prototype,"disabled",void 0),u([t.Input()],e.prototype,"visible",void 0),u([t.Input()],e.prototype,"itemSize",void 0),u([t.Input()],e.prototype,"template",void 0),u([t.Input()],e.prototype,"maxSelectionLimitReached",void 0),u([t.Output()],e.prototype,"onClick",void 0),u([t.Output()],e.prototype,"onKeydown",void 0),e=u([t.Component({selector:"p-multiSelectItem",template:'\n <li class="ui-multiselect-item ui-corner-all" (click)="onOptionClick($event)" (keydown)="onOptionKeydown($event)" [attr.aria-label]="option.label"\n [style.display]="visible ? \'block\' : \'none\'" [attr.tabindex]="option.disabled ? null : \'0\'" [ngStyle]="{\'height\': itemSize + \'px\'}"\n [ngClass]="{\'ui-state-highlight\': selected, \'ui-state-disabled\': (option.disabled || (maxSelectionLimitReached && !selected))}">\n <div class="ui-chkbox ui-widget">\n <div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default"\n [ngClass]="{\'ui-state-active\': selected}">\n <span class="ui-chkbox-icon ui-clickable" [ngClass]="{\'pi pi-check\': selected}"></span>\n </div>\n </div>\n <span *ngIf="!template">{{option.label}}</span>\n <ng-container *ngTemplateOutlet="template; context: {$implicit: option}"></ng-container>\n </li>\n '})],e)}(),y=function(){function e(e,i,n){this.el=e,this.renderer=i,this.cd=n,this.scrollHeight="200px",this._defaultLabel="Choose",this.filter=!0,this.displaySelectedLabel=!0,this.maxSelectedLabels=3,this.selectedItemsLabel="{0} items selected",this.showToggleAll=!0,this.emptyFilterMessage="No results found",this.resetFilterOnHide=!1,this.dropdownIcon="pi pi-chevron-down",this.showHeader=!0,this.autoZIndex=!0,this.baseZIndex=0,this.filterBy="label",this.showTransitionOptions="225ms ease-out",this.hideTransitionOptions="195ms ease-in",this.filterMatchMode="contains",this.tooltip="",this.tooltipPosition="right",this.tooltipPositionStyle="absolute",this.autofocusFilter=!0,this.onChange=new t.EventEmitter,this.onFocus=new t.EventEmitter,this.onBlur=new t.EventEmitter,this.onClick=new t.EventEmitter,this.onPanelShow=new t.EventEmitter,this.onPanelHide=new t.EventEmitter,this.onModelChange=function(){},this.onModelTouched=function(){},this.disabledSelectedOptions=[]}return Object.defineProperty(e.prototype,"defaultLabel",{get:function(){return this._defaultLabel},set:function(e){this._defaultLabel=e,this.updateLabel()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"options",{get:function(){return this._options},set:function(e){var t=this.optionLabel?l.ObjectUtils.generateSelectItems(e,this.optionLabel):e;this.visibleOptions=t,this._options=t,this.updateLabel(),this.filterValue&&this.filterValue.length&&this.activateFilter()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.updateLabel()},e.prototype.ngAfterContentInit=function(){var e=this;this.templates.forEach((function(t){switch(t.getType()){case"item":e.itemTemplate=t.template;break;case"selectedItems":e.selectedItemsTemplate=t.template;break;default:e.itemTemplate=t.template}}))},e.prototype.ngAfterViewInit=function(){this.overlayVisible&&this.show()},e.prototype.ngAfterViewChecked=function(){this.filtered&&(this.alignOverlay(),this.filtered=!1)},e.prototype.writeValue=function(e){this.value=e,this.updateLabel(),this.updateFilledState(),this.setDisabledSelectedOptions(),this.checkSelectionLimit(),this.cd.markForCheck()},e.prototype.checkSelectionLimit=function(){this.selectionLimit&&this.value&&this.value.length===this.selectionLimit&&(this.maxSelectionLimitReached=!0)},e.prototype.updateFilledState=function(){this.filled=this.value&&this.value.length>0},e.prototype.registerOnChange=function(e){this.onModelChange=e},e.prototype.registerOnTouched=function(e){this.onModelTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype.onOptionClick=function(e){var t=e.option;if(!t.disabled){var i=t.value,n=this.findSelectionIndex(i);-1!=n?(this.value=this.value.filter((function(e,t){return t!=n})),this.selectionLimit&&(this.maxSelectionLimitReached=!1)):((!this.selectionLimit||!this.value||this.value.length<this.selectionLimit)&&(this.value=c(this.value||[],[i])),this.checkSelectionLimit()),this.onModelChange(this.value),this.onChange.emit({originalEvent:e.originalEvent,value:this.value,itemValue:i}),this.updateLabel(),this.updateFilledState()}},e.prototype.isSelected=function(e){return-1!=this.findSelectionIndex(e)},e.prototype.findSelectionIndex=function(e){var t=-1;if(this.value)for(var i=0;i<this.value.length;i++)if(l.ObjectUtils.equals(this.value[i],e,this.dataKey)){t=i;break}return t},e.prototype.toggleAll=function(e){if(this.isAllChecked())if(this.disabledSelectedOptions&&this.disabledSelectedOptions.length>0){var t=[];t=c(this.disabledSelectedOptions),this.value=t}else this.value=[];else{var i=this.getVisibleOptions();if(i){t=[];this.disabledSelectedOptions&&this.disabledSelectedOptions.length>0&&(t=c(this.disabledSelectedOptions));for(var n=0;n<i.length;n++){i[n].disabled||t.push(i[n].value)}this.value=t}}this.onModelChange(this.value),this.onChange.emit({originalEvent:e,value:this.value}),this.updateFilledState(),this.updateLabel()},e.prototype.isAllChecked=function(){if(this.filterValue&&this.filterValue.trim().length)return this.value&&this.visibleOptions&&this.visibleOptions.length&&this.isAllVisibleOptionsChecked();var e=this.getEnabledOptionCount(),t=this.disabledSelectedOptions.length;return this.value&&this.options&&this.value.length>0&&this.value.length==e+t},e.prototype.isAllVisibleOptionsChecked=function(){var e,t;if(this.visibleOptions&&0!==this.visibleOptions.length){try{for(var i=h(this.visibleOptions),n=i.next();!n.done;n=i.next()){var o=n.value;if(!this.isSelected(o.value))return!1}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return!0}return!1},e.prototype.getEnabledOptionCount=function(){var e,t;if(this.options){var i=0;try{for(var n=h(this.options),o=n.next();!o.done;o=n.next()){o.value.disabled||i++}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return i}return 0},e.prototype.setDisabledSelectedOptions=function(){var e,t;if(this.options&&(this.disabledSelectedOptions=[],this.value))try{for(var i=h(this.options),n=i.next();!n.done;n=i.next()){var o=n.value;o.disabled&&this.isSelected(o.value)&&this.disabledSelectedOptions.push(o.value)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}},e.prototype.show=function(){this.overlayVisible||(this.overlayVisible=!0)},e.prototype.onOverlayAnimationStart=function(e){switch(e.toState){case"visible":this.overlay=e.element,this.appendOverlay(),this.autoZIndex&&(this.overlay.style.zIndex=String(this.baseZIndex+ ++o.DomHandler.zindex)),this.alignOverlay(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.filterInputChild&&this.filterInputChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&this.filterInputChild.nativeElement.focus()),this.onPanelShow.emit();break;case"void":this.onOverlayHide()}},e.prototype.appendOverlay=function(){this.appendTo&&("body"===this.appendTo?document.body.appendChild(this.overlay):o.DomHandler.appendChild(this.overlay,this.appendTo),this.overlay.style.minWidth=o.DomHandler.getWidth(this.containerViewChild.nativeElement)+"px")},e.prototype.restoreOverlayAppend=function(){this.overlay&&this.appendTo&&this.el.nativeElement.appendChild(this.overlay)},e.prototype.alignOverlay=function(){this.overlay&&(this.appendTo?o.DomHandler.absolutePosition(this.overlay,this.containerViewChild.nativeElement):o.DomHandler.relativePosition(this.overlay,this.containerViewChild.nativeElement))},e.prototype.hide=function(){this.overlayVisible=!1,this.unbindDocumentClickListener(),this.resetFilterOnHide&&(this.filterInputChild.nativeElement.value="",this.onFilter()),this.onPanelHide.emit()},e.prototype.close=function(e){this.hide(),e.preventDefault(),e.stopPropagation()},e.prototype.onMouseclick=function(e,t){this.disabled||this.readonly||(this.onClick.emit(e),this.panelClick||(this.overlayVisible?this.hide():(t.focus(),this.show())),this.selfClick=!0)},e.prototype.onInputFocus=function(e){this.focus=!0,this.onFocus.emit({originalEvent:e})},e.prototype.onInputBlur=function(e){this.focus=!1,this.onBlur.emit({originalEvent:e}),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1},e.prototype.onOptionKeydown=function(e){if(!this.readonly)switch(e.originalEvent.which){case 40:var t=this.findNextItem(e.originalEvent.target.parentElement);t&&t.focus(),e.originalEvent.preventDefault();break;case 38:var i=this.findPrevItem(e.originalEvent.target.parentElement);i&&i.focus(),e.originalEvent.preventDefault();break;case 13:this.onOptionClick(e),e.originalEvent.preventDefault()}},e.prototype.findNextItem=function(e){var t=e.nextElementSibling;return t?o.DomHandler.hasClass(t.children[0],"ui-state-disabled")||o.DomHandler.isHidden(t.children[0])?this.findNextItem(t):t.children[0]:null},e.prototype.findPrevItem=function(e){var t=e.previousElementSibling;return t?o.DomHandler.hasClass(t.children[0],"ui-state-disabled")||o.DomHandler.isHidden(t.children[0])?this.findPrevItem(t):t.children[0]:null},e.prototype.onKeydown=function(e){switch(e.which){case 40:!this.overlayVisible&&e.altKey&&(this.show(),e.preventDefault());break;case 32:this.overlayVisible||(this.show(),e.preventDefault());break;case 27:this.hide()}},e.prototype.updateLabel=function(){if(this.value&&this.options&&this.value.length&&this.displaySelectedLabel){for(var e="",t=0;t<this.value.length;t++){var i=this.findLabelByValue(this.value[t]);i&&(e.length>0&&(e+=", "),e+=i)}if(this.value.length<=this.maxSelectedLabels)this.valuesAsString=e;else{var n=/{(.*?)}/;n.test(this.selectedItemsLabel)?this.valuesAsString=this.selectedItemsLabel.replace(this.selectedItemsLabel.match(n)[0],this.value.length+""):this.valuesAsString=this.selectedItemsLabel}}else this.valuesAsString=this.defaultLabel},e.prototype.findLabelByValue=function(e){for(var t=null,i=0;i<this.options.length;i++){var n=this.options[i];if(null==e&&null==n.value||l.ObjectUtils.equals(e,n.value,this.dataKey)){t=n.label;break}}return t},e.prototype.onFilter=function(){var e=this.filterInputChild.nativeElement.value;e&&e.length?(this.filterValue=e,this.activateFilter()):(this.filterValue=null,this.visibleOptions=this.options,this.filtered=!1)},e.prototype.activateFilter=function(){if(this.options&&this.options.length){var e=this.filterBy.split(",");this.visibleOptions=l.FilterUtils.filter(this.options,e,this.filterValue,this.filterMatchMode),this.filtered=!0}},e.prototype.isItemVisible=function(e){if(!this.filterValue||!this.filterValue.trim().length)return!0;for(var t=0;t<this.visibleOptions.length;t++)if(this.visibleOptions[t].value==e.value)return!0},e.prototype.getVisibleOptions=function(){return this.visibleOptions||this.options},e.prototype.onHeaderCheckboxFocus=function(){this.headerCheckboxFocus=!0},e.prototype.onHeaderCheckboxBlur=function(){this.headerCheckboxFocus=!1},e.prototype.bindDocumentClickListener=function(){var e=this;this.documentClickListener||(this.documentClickListener=this.renderer.listen("document","click",(function(){e.selfClick||e.panelClick||!e.overlayVisible||e.hide(),e.selfClick=!1,e.panelClick=!1,e.cd.markForCheck()})))},e.prototype.unbindDocumentClickListener=function(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)},e.prototype.bindDocumentResizeListener=function(){this.documentResizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.documentResizeListener)},e.prototype.unbindDocumentResizeListener=function(){this.documentResizeListener&&(window.removeEventListener("resize",this.documentResizeListener),this.documentResizeListener=null)},e.prototype.onWindowResize=function(){o.DomHandler.isAndroid()||this.hide()},e.prototype.onOverlayHide=function(){this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.overlay=null,this.onModelTouched()},e.prototype.ngOnDestroy=function(){this.restoreOverlayAppend(),this.onOverlayHide()},e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:t.ChangeDetectorRef}]},u([t.Input()],e.prototype,"scrollHeight",void 0),u([t.Input()],e.prototype,"defaultLabel",null),u([t.Input()],e.prototype,"style",void 0),u([t.Input()],e.prototype,"styleClass",void 0),u([t.Input()],e.prototype,"panelStyle",void 0),u([t.Input()],e.prototype,"panelStyleClass",void 0),u([t.Input()],e.prototype,"inputId",void 0),u([t.Input()],e.prototype,"disabled",void 0),u([t.Input()],e.prototype,"readonly",void 0),u([t.Input()],e.prototype,"filter",void 0),u([t.Input()],e.prototype,"filterPlaceHolder",void 0),u([t.Input()],e.prototype,"overlayVisible",void 0),u([t.Input()],e.prototype,"tabindex",void 0),u([t.Input()],e.prototype,"appendTo",void 0),u([t.Input()],e.prototype,"dataKey",void 0),u([t.Input()],e.prototype,"name",void 0),u([t.Input()],e.prototype,"ariaLabelledBy",void 0),u([t.Input()],e.prototype,"displaySelectedLabel",void 0),u([t.Input()],e.prototype,"maxSelectedLabels",void 0),u([t.Input()],e.prototype,"selectionLimit",void 0),u([t.Input()],e.prototype,"selectedItemsLabel",void 0),u([t.Input()],e.prototype,"showToggleAll",void 0),u([t.Input()],e.prototype,"emptyFilterMessage",void 0),u([t.Input()],e.prototype,"resetFilterOnHide",void 0),u([t.Input()],e.prototype,"dropdownIcon",void 0),u([t.Input()],e.prototype,"optionLabel",void 0),u([t.Input()],e.prototype,"showHeader",void 0),u([t.Input()],e.prototype,"autoZIndex",void 0),u([t.Input()],e.prototype,"baseZIndex",void 0),u([t.Input()],e.prototype,"filterBy",void 0),u([t.Input()],e.prototype,"virtualScroll",void 0),u([t.Input()],e.prototype,"itemSize",void 0),u([t.Input()],e.prototype,"showTransitionOptions",void 0),u([t.Input()],e.prototype,"hideTransitionOptions",void 0),u([t.Input()],e.prototype,"ariaFilterLabel",void 0),u([t.Input()],e.prototype,"filterMatchMode",void 0),u([t.Input()],e.prototype,"tooltip",void 0),u([t.Input()],e.prototype,"tooltipPosition",void 0),u([t.Input()],e.prototype,"tooltipPositionStyle",void 0),u([t.Input()],e.prototype,"tooltipStyleClass",void 0),u([t.Input()],e.prototype,"autofocusFilter",void 0),u([t.ViewChild("container")],e.prototype,"containerViewChild",void 0),u([t.ViewChild("filterInput")],e.prototype,"filterInputChild",void 0),u([t.ContentChild(s.Footer)],e.prototype,"footerFacet",void 0),u([t.ContentChild(s.Header)],e.prototype,"headerFacet",void 0),u([t.ContentChildren(s.PrimeTemplate)],e.prototype,"templates",void 0),u([t.Output()],e.prototype,"onChange",void 0),u([t.Output()],e.prototype,"onFocus",void 0),u([t.Output()],e.prototype,"onBlur",void 0),u([t.Output()],e.prototype,"onClick",void 0),u([t.Output()],e.prototype,"onPanelShow",void 0),u([t.Output()],e.prototype,"onPanelHide",void 0),u([t.Input()],e.prototype,"options",null),e=u([t.Component({selector:"p-multiSelect",template:'\n <div #container [ngClass]="{\'ui-multiselect ui-widget ui-state-default ui-corner-all\':true,\'ui-multiselect-open\':overlayVisible,\'ui-state-focus\':focus,\'ui-state-disabled\': disabled}" [ngStyle]="style" [class]="styleClass"\n (click)="onMouseclick($event,in)">\n <div class="ui-helper-hidden-accessible">\n <input #in type="text" readonly="readonly" [attr.id]="inputId" [attr.name]="name" (focus)="onInputFocus($event)" (blur)="onInputBlur($event)"\n [disabled]="disabled" [attr.tabindex]="tabindex" (keydown)="onKeydown($event)" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible" \n [attr.aria-labelledby]="ariaLabelledBy" role="listbox">\n </div>\n <div class="ui-multiselect-label-container" [pTooltip]="tooltip" [tooltipPosition]="tooltipPosition" [positionStyle]="tooltipPositionStyle" [tooltipStyleClass]="tooltipStyleClass">\n <span class="ui-multiselect-label ui-corner-all">\n <ng-container *ngIf="!selectedItemsTemplate">{{valuesAsString}}</ng-container>\n <ng-container *ngTemplateOutlet="selectedItemsTemplate; context: {$implicit: value}"></ng-container>\n </span>\n </div>\n <div [ngClass]="{\'ui-multiselect-trigger ui-state-default ui-corner-right\':true}">\n <span class="ui-multiselect-trigger-icon ui-clickable" [ngClass]="dropdownIcon"></span>\n </div>\n <div *ngIf="overlayVisible" [ngClass]="[\'ui-multiselect-panel ui-widget ui-widget-content ui-corner-all ui-shadow\']" [@overlayAnimation]="{value: \'visible\', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)"\n [ngStyle]="panelStyle" [class]="panelStyleClass" (click)="panelClick=true" (keydown)="onKeydown($event)">\n <div class="ui-widget-header ui-corner-all ui-multiselect-header ui-helper-clearfix" [ngClass]="{\'ui-multiselect-header-no-toggleall\': !showToggleAll}" *ngIf="showHeader">\n <ng-content select="p-header"></ng-content> \n <div class="ui-chkbox ui-widget" *ngIf="showToggleAll && !selectionLimit">\n <div class="ui-helper-hidden-accessible">\n <input type="checkbox" readonly="readonly" [checked]="isAllChecked()" (focus)="onHeaderCheckboxFocus()" (blur)="onHeaderCheckboxBlur()" (keydown.space)="toggleAll($event)">\n </div>\n <div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default" role="checkbox" [attr.aria-checked]="isAllChecked()" [ngClass]="{\'ui-state-active\':isAllChecked(), \'ui-state-focus\': headerCheckboxFocus}" (click)="toggleAll($event)">\n <span class="ui-chkbox-icon ui-clickable" [ngClass]="{\'pi pi-check\':isAllChecked()}"></span>\n </div>\n </div>\n <div class="ui-multiselect-filter-container" *ngIf="filter">\n <input #filterInput type="text" role="textbox" [value]="filterValue||\'\'" (input)="onFilter()" class="ui-inputtext ui-widget ui-state-default ui-corner-all" [attr.placeholder]="filterPlaceHolder" [attr.aria-label]="ariaFilterLabel">\n <span class="ui-multiselect-filter-icon pi pi-search"></span>\n </div>\n <a class="ui-multiselect-close ui-corner-all" tabindex="0" (click)="close($event)" (keydown.enter)="close($event)">\n <span class="pi pi-times"></span>\n </a>\n </div>\n <div class="ui-multiselect-items-wrapper" [style.max-height]="virtualScroll ? \'auto\' : (scrollHeight||\'auto\')">\n <ul class="ui-multiselect-items ui-multiselect-list ui-widget-content ui-widget ui-corner-all ui-helper-reset" role="listbox" aria-multiselectable="true">\n <ng-container *ngIf="!virtualScroll; else virtualScrollList">\n <ng-template ngFor let-option let-i="index" [ngForOf]="options">\n <p-multiSelectItem [option]="option" [selected]="isSelected(option.value)" (onClick)="onOptionClick($event)" (onKeydown)="onOptionKeydown($event)" \n [maxSelectionLimitReached]="maxSelectionLimitReached" [visible]="isItemVisible(option)" [template]="itemTemplate"></p-multiSelectItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport #viewport [ngStyle]="{\'height\': scrollHeight}" [itemSize]="itemSize" *ngIf="virtualScroll && visibleOptions && visibleOptions.length">\n <ng-container *cdkVirtualFor="let option of visibleOptions; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd">\n <p-multiSelectItem [option]="option" [selected]="isSelected(option.value)" (onClick)="onOptionClick($event)" (onKeydown)="onOptionKeydown($event)" \n [maxSelectionLimitReached]="maxSelectionLimitReached" [visible]="isItemVisible(option)" [template]="itemTemplate" [itemSize]="itemSize"></p-multiSelectItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <li *ngIf="filter && visibleOptions && visibleOptions.length === 0" class="ui-multiselect-empty-message">{{emptyFilterMessage}}</li>\n </ul>\n </div>\n <div class="ui-multiselect-footer ui-widget-content" *ngIf="footerFacet">\n <ng-content select="p-footer"></ng-content>\n </div>\n </div>\n </div>\n ',animations:[i.trigger("overlayAnimation",[i.state("void",i.style({transform:"translateY(5%)",opacity:0})),i.state("visible",i.style({transform:"translateY(0)",opacity:1})),i.transition("void => visible",i.animate("{{showTransitionParams}}")),i.transition("visible => void",i.animate("{{hideTransitionParams}}"))])],host:{"[class.ui-inputwrapper-filled]":"filled","[class.ui-inputwrapper-focus]":"focus"},providers:[v],changeDetection:t.ChangeDetectionStrategy.Default})],e)}(),f=function(){function e(){}return e=u([t.NgModule({imports:[n.CommonModule,s.SharedModule,a.ScrollingModule,p.TooltipModule],exports:[y,s.SharedModule,a.ScrollingModule],declarations:[y,m]})],e)}();e.MULTISELECT_VALUE_ACCESSOR=v,e.MultiSelect=y,e.MultiSelectItem=m,e.MultiSelectModule=f,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=primeng-multiselect.umd.min.js.map