@ng-select/ng-select 2.20.5 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/bundles/ng-select-ng-select.umd.js +4525 -0
- package/bundles/ng-select-ng-select.umd.js.map +1 -0
- package/bundles/ng-select-ng-select.umd.min.js +2 -0
- package/bundles/ng-select-ng-select.umd.min.js.map +1 -0
- package/esm2015/lib/config.service.js +40 -0
- package/esm2015/lib/console.service.js +20 -0
- package/esm2015/lib/id.js +21 -0
- package/esm2015/lib/items-list.js +661 -0
- package/esm2015/lib/ng-dropdown-panel.component.js +661 -0
- package/esm2015/lib/ng-dropdown-panel.service.js +127 -0
- package/esm2015/lib/ng-option.component.js +74 -0
- package/esm2015/lib/ng-select.component.js +1384 -0
- package/esm2015/lib/ng-select.module.js +57 -0
- package/esm2015/lib/ng-select.types.js +48 -0
- package/esm2015/{ng-select → lib}/ng-templates.directive.js +2 -3
- package/esm2015/lib/search-helper.js +862 -0
- package/esm2015/lib/selection-model.js +166 -0
- package/esm2015/lib/value-utils.js +33 -0
- package/esm2015/ng-select-ng-select.js +15 -0
- package/esm2015/public-api.js +11 -0
- package/esm5/lib/config.service.js +42 -0
- package/esm5/lib/console.service.js +28 -0
- package/esm5/lib/id.js +21 -0
- package/esm5/lib/items-list.js +888 -0
- package/esm5/lib/ng-dropdown-panel.component.js +770 -0
- package/esm5/lib/ng-dropdown-panel.service.js +150 -0
- package/esm5/lib/ng-option.component.js +86 -0
- package/esm5/lib/ng-select.component.js +1637 -0
- package/esm5/lib/ng-select.module.js +61 -0
- package/esm5/lib/ng-select.types.js +48 -0
- package/esm5/{ng-select → lib}/ng-templates.directive.js +2 -3
- package/esm5/lib/search-helper.js +862 -0
- package/esm5/{ng-select → lib}/selection-model.js +69 -22
- package/esm5/lib/value-utils.js +33 -0
- package/esm5/ng-select-ng-select.js +15 -0
- package/esm5/public-api.js +11 -0
- package/fesm2015/ng-select-ng-select.js +3804 -0
- package/fesm2015/ng-select-ng-select.js.map +1 -0
- package/fesm5/ng-select-ng-select.js +4442 -0
- package/fesm5/ng-select-ng-select.js.map +1 -0
- package/{ng-select → lib}/config.service.d.ts +0 -0
- package/{ng-select → lib}/console.service.d.ts +0 -0
- package/{ng-select → lib}/id.d.ts +0 -0
- package/{ng-select → lib}/items-list.d.ts +1 -1
- package/{ng-select → lib}/ng-dropdown-panel.component.d.ts +0 -0
- package/{ng-select → lib}/ng-dropdown-panel.service.d.ts +0 -0
- package/{ng-select → lib}/ng-option.component.d.ts +0 -0
- package/{ng-select → lib}/ng-select.component.d.ts +9 -9
- package/{ng-select → lib}/ng-select.module.d.ts +0 -0
- package/{ng-select → lib}/ng-select.types.d.ts +0 -0
- package/{ng-select → lib}/ng-templates.directive.d.ts +0 -0
- package/{ng-select → lib}/search-helper.d.ts +0 -0
- package/{ng-select → lib}/selection-model.d.ts +0 -0
- package/{ng-select → lib}/value-utils.d.ts +0 -0
- package/ng-select-ng-select.d.ts +10 -0
- package/ng-select-ng-select.metadata.json +1 -0
- package/package.json +13 -14
- package/public-api.d.ts +5 -0
- package/scss/material.theme.scss +1 -1
- package/themes/material.theme.css +1 -1
- package/bundles/ng-select.umd.js +0 -4283
- package/bundles/ng-select.umd.js.map +0 -1
- package/bundles/ng-select.umd.min.js +0 -2
- package/bundles/ng-select.umd.min.js.map +0 -1
- package/esm2015/index.js +0 -9
- package/esm2015/ng-select/config.service.js +0 -41
- package/esm2015/ng-select/console.service.js +0 -21
- package/esm2015/ng-select/id.js +0 -17
- package/esm2015/ng-select/items-list.js +0 -545
- package/esm2015/ng-select/ng-dropdown-panel.component.js +0 -559
- package/esm2015/ng-select/ng-dropdown-panel.service.js +0 -121
- package/esm2015/ng-select/ng-option-highlight.directive.js +0 -98
- package/esm2015/ng-select/ng-option.component.js +0 -71
- package/esm2015/ng-select/ng-select.component.js +0 -1214
- package/esm2015/ng-select/ng-select.module.js +0 -61
- package/esm2015/ng-select/ng-select.types.js +0 -49
- package/esm2015/ng-select/search-helper.js +0 -859
- package/esm2015/ng-select/selection-model.js +0 -122
- package/esm2015/ng-select/value-utils.js +0 -34
- package/esm2015/ng-select.js +0 -17
- package/esm5/index.js +0 -9
- package/esm5/ng-select/config.service.js +0 -43
- package/esm5/ng-select/console.service.js +0 -29
- package/esm5/ng-select/id.js +0 -17
- package/esm5/ng-select/items-list.js +0 -764
- package/esm5/ng-select/ng-dropdown-panel.component.js +0 -651
- package/esm5/ng-select/ng-dropdown-panel.service.js +0 -144
- package/esm5/ng-select/ng-option-highlight.directive.js +0 -113
- package/esm5/ng-select/ng-option.component.js +0 -82
- package/esm5/ng-select/ng-select.component.js +0 -1430
- package/esm5/ng-select/ng-select.module.js +0 -65
- package/esm5/ng-select/ng-select.types.js +0 -49
- package/esm5/ng-select/search-helper.js +0 -859
- package/esm5/ng-select/value-utils.js +0 -34
- package/esm5/ng-select.js +0 -17
- package/fesm2015/ng-select.js +0 -3559
- package/fesm2015/ng-select.js.map +0 -1
- package/fesm5/ng-select.js +0 -4145
- package/fesm5/ng-select.js.map +0 -1
- package/index.d.ts +0 -5
- package/ng-select/ng-option-highlight.directive.d.ts +0 -14
- package/ng-select.d.ts +0 -11
- package/ng-select.metadata.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["node_modules/tslib/tslib.es6.js","ng://@ng-select/ng-select/ng-select/ng-templates.directive.ts","ng://@ng-select/ng-select/ng-select/console.service.ts","ng://@ng-select/ng-select/ng-select/value-utils.ts","ng://@ng-select/ng-select/ng-select/search-helper.ts","ng://@ng-select/ng-select/ng-select/id.ts","ng://@ng-select/ng-select/ng-select/items-list.ts","ng://@ng-select/ng-select/ng-select/ng-select.types.ts","ng://@ng-select/ng-select/ng-select/ng-dropdown-panel.service.ts","ng://@ng-select/ng-select/ng-select/ng-dropdown-panel.component.ts","ng://@ng-select/ng-select/ng-select/ng-option.component.ts","ng://@ng-select/ng-select/ng-select/config.service.ts","ng://@ng-select/ng-select/ng-select/ng-select.component.ts","ng://@ng-select/ng-select/ng-select/ng-option-highlight.directive.ts","ng://@ng-select/ng-select/ng-select/selection-model.ts","ng://@ng-select/ng-select/ng-select/ng-select.module.ts"],"names":["__values","o","m","Symbol","iterator","i","call","next","length","value","done","__read","n","r","e","ar","push","error","__spread","arguments","concat","NgOptionTemplateDirective","template","this","Directive","args","selector","TemplateRef","NgOptgroupTemplateDirective","NgLabelTemplateDirective","NgMultiLabelTemplateDirective","NgHeaderTemplateDirective","NgFooterTemplateDirective","NgNotFoundTemplateDirective","NgTypeToSearchTemplateDirective","NgLoadingTextTemplateDirective","NgTagTemplateDirective","NgLoadingSpinnerTemplateDirective","ConsoleService","prototype","warn","message","console","Injectable","providedIn","isDefined","undefined","isObject","isFunction","Function","diacritics","Ⓐ","A","À","Á","Â","Ầ","Ấ","Ẫ","Ẩ","Ã","Ā","Ă","Ằ","Ắ","Ẵ","Ẳ","Ȧ","Ǡ","Ä","Ǟ","Ả","Å","Ǻ","Ǎ","Ȁ","Ȃ","Ạ","Ậ","Ặ","Ḁ","Ą","Ⱥ","Ɐ","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ⓑ","B","Ḃ","Ḅ","Ḇ","Ƀ","Ƃ","Ɓ","Ⓒ","C","Ć","Ĉ","Ċ","Č","Ç","Ḉ","Ƈ","Ȼ","Ꜿ","Ⓓ","D","Ḋ","Ď","Ḍ","Ḑ","Ḓ","Ḏ","Đ","Ƌ","Ɗ","Ɖ","Ꝺ","DZ","DŽ","Dz","Dž","Ⓔ","E","È","É","Ê","Ề","Ế","Ễ","Ể","Ẽ","Ē","Ḕ","Ḗ","Ĕ","Ė","Ë","Ẻ","Ě","Ȅ","Ȇ","Ẹ","Ệ","Ȩ","Ḝ","Ę","Ḙ","Ḛ","Ɛ","Ǝ","Ⓕ","F","Ḟ","Ƒ","Ꝼ","Ⓖ","G","Ǵ","Ĝ","Ḡ","Ğ","Ġ","Ǧ","Ģ","Ǥ","Ɠ","Ꞡ","Ᵹ","Ꝿ","Ⓗ","H","Ĥ","Ḣ","Ḧ","Ȟ","Ḥ","Ḩ","Ḫ","Ħ","Ⱨ","Ⱶ","Ɥ","Ⓘ","I","Ì","Í","Î","Ĩ","Ī","Ĭ","İ","Ï","Ḯ","Ỉ","Ǐ","Ȉ","Ȋ","Ị","Į","Ḭ","Ɨ","Ⓙ","J","Ĵ","Ɉ","Ⓚ","K","Ḱ","Ǩ","Ḳ","Ķ","Ḵ","Ƙ","Ⱪ","Ꝁ","Ꝃ","Ꝅ","Ꞣ","Ⓛ","L","Ŀ","Ĺ","Ľ","Ḷ","Ḹ","Ļ","Ḽ","Ḻ","Ł","Ƚ","Ɫ","Ⱡ","Ꝉ","Ꝇ","Ꞁ","LJ","Lj","Ⓜ","M","Ḿ","Ṁ","Ṃ","Ɱ","Ɯ","Ⓝ","N","Ǹ","Ń","Ñ","Ṅ","Ň","Ṇ","Ņ","Ṋ","Ṉ","Ƞ","Ɲ","Ꞑ","Ꞥ","NJ","Nj","Ⓞ","O","Ò","Ó","Ô","Ồ","Ố","Ỗ","Ổ","Õ","Ṍ","Ȭ","Ṏ","Ō","Ṑ","Ṓ","Ŏ","Ȯ","Ȱ","Ö","Ȫ","Ỏ","Ő","Ǒ","Ȍ","Ȏ","Ơ","Ờ","Ớ","Ỡ","Ở","Ợ","Ọ","Ộ","Ǫ","Ǭ","Ø","Ǿ","Ɔ","Ɵ","Ꝋ","Ꝍ","Ƣ","Ꝏ","Ȣ","Ⓟ","P","Ṕ","Ṗ","Ƥ","Ᵽ","Ꝑ","Ꝓ","Ꝕ","Ⓠ","Q","Ꝗ","Ꝙ","Ɋ","Ⓡ","R","Ŕ","Ṙ","Ř","Ȑ","Ȓ","Ṛ","Ṝ","Ŗ","Ṟ","Ɍ","Ɽ","Ꝛ","Ꞧ","Ꞃ","Ⓢ","S","ẞ","Ś","Ṥ","Ŝ","Ṡ","Š","Ṧ","Ṣ","Ṩ","Ș","Ş","Ȿ","Ꞩ","Ꞅ","Ⓣ","T","Ṫ","Ť","Ṭ","Ț","Ţ","Ṱ","Ṯ","Ŧ","Ƭ","Ʈ","Ⱦ","Ꞇ","Ꜩ","Ⓤ","U","Ù","Ú","Û","Ũ","Ṹ","Ū","Ṻ","Ŭ","Ü","Ǜ","Ǘ","Ǖ","Ǚ","Ủ","Ů","Ű","Ǔ","Ȕ","Ȗ","Ư","Ừ","Ứ","Ữ","Ử","Ự","Ụ","Ṳ","Ų","Ṷ","Ṵ","Ʉ","Ⓥ","V","Ṽ","Ṿ","Ʋ","Ꝟ","Ʌ","Ꝡ","Ⓦ","W","Ẁ","Ẃ","Ŵ","Ẇ","Ẅ","Ẉ","Ⱳ","Ⓧ","X","Ẋ","Ẍ","Ⓨ","Y","Ỳ","Ý","Ŷ","Ỹ","Ȳ","Ẏ","Ÿ","Ỷ","Ỵ","Ƴ","Ɏ","Ỿ","Ⓩ","Z","Ź","Ẑ","Ż","Ž","Ẓ","Ẕ","Ƶ","Ȥ","Ɀ","Ⱬ","Ꝣ","ⓐ","a","ẚ","à","á","â","ầ","ấ","ẫ","ẩ","ã","ā","ă","ằ","ắ","ẵ","ẳ","ȧ","ǡ","ä","ǟ","ả","å","ǻ","ǎ","ȁ","ȃ","ạ","ậ","ặ","ḁ","ą","ⱥ","ɐ","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ⓑ","b","ḃ","ḅ","ḇ","ƀ","ƃ","ɓ","ⓒ","c","ć","ĉ","ċ","č","ç","ḉ","ƈ","ȼ","ꜿ","ↄ","ⓓ","d","ḋ","ď","ḍ","ḑ","ḓ","ḏ","đ","ƌ","ɖ","ɗ","ꝺ","dz","dž","ⓔ","e","è","é","ê","ề","ế","ễ","ể","ẽ","ē","ḕ","ḗ","ĕ","ė","ë","ẻ","ě","ȅ","ȇ","ẹ","ệ","ȩ","ḝ","ę","ḙ","ḛ","ɇ","ɛ","ǝ","ⓕ","f","ḟ","ƒ","ꝼ","ⓖ","g","ǵ","ĝ","ḡ","ğ","ġ","ǧ","ģ","ǥ","ɠ","ꞡ","ᵹ","ꝿ","ⓗ","h","ĥ","ḣ","ḧ","ȟ","ḥ","ḩ","ḫ","ẖ","ħ","ⱨ","ⱶ","ɥ","ƕ","ⓘ","i","ì","í","î","ĩ","ī","ĭ","ï","ḯ","ỉ","ǐ","ȉ","ȋ","ị","į","ḭ","ɨ","ı","ⓙ","j","ĵ","ǰ","ɉ","ⓚ","k","ḱ","ǩ","ḳ","ķ","ḵ","ƙ","ⱪ","ꝁ","ꝃ","ꝅ","ꞣ","ⓛ","l","ŀ","ĺ","ľ","ḷ","ḹ","ļ","ḽ","ḻ","ſ","ł","ƚ","ɫ","ⱡ","ꝉ","ꞁ","ꝇ","lj","ⓜ","m","ḿ","ṁ","ṃ","ɱ","ɯ","ⓝ","n","ǹ","ń","ñ","ṅ","ň","ṇ","ņ","ṋ","ṉ","ƞ","ɲ","ʼn","ꞑ","ꞥ","nj","ⓞ","o","ò","ó","ô","ồ","ố","ỗ","ổ","õ","ṍ","ȭ","ṏ","ō","ṑ","ṓ","ŏ","ȯ","ȱ","ö","ȫ","ỏ","ő","ǒ","ȍ","ȏ","ơ","ờ","ớ","ỡ","ở","ợ","ọ","ộ","ǫ","ǭ","ø","ǿ","ɔ","ꝋ","ꝍ","ɵ","ƣ","ȣ","ꝏ","ⓟ","p","ṕ","ṗ","ƥ","ᵽ","ꝑ","ꝓ","ꝕ","ⓠ","q","ɋ","ꝗ","ꝙ","ⓡ","r","ŕ","ṙ","ř","ȑ","ȓ","ṛ","ṝ","ŗ","ṟ","ɍ","ɽ","ꝛ","ꞧ","ꞃ","ⓢ","s","ß","ś","ṥ","ŝ","ṡ","š","ṧ","ṣ","ṩ","ș","ş","ȿ","ꞩ","ꞅ","ẛ","ⓣ","t","ṫ","ẗ","ť","ṭ","ț","ţ","ṱ","ṯ","ŧ","ƭ","ʈ","ⱦ","ꞇ","ꜩ","ⓤ","u","ù","ú","û","ũ","ṹ","ū","ṻ","ŭ","ü","ǜ","ǘ","ǖ","ǚ","ủ","ů","ű","ǔ","ȕ","ȗ","ư","ừ","ứ","ữ","ử","ự","ụ","ṳ","ų","ṷ","ṵ","ʉ","ⓥ","v","ṽ","ṿ","ʋ","ꝟ","ʌ","ꝡ","ⓦ","w","ẁ","ẃ","ŵ","ẇ","ẅ","ẘ","ẉ","ⱳ","ⓧ","x","ẋ","ẍ","ⓨ","y","ỳ","ý","ŷ","ỹ","ȳ","ẏ","ÿ","ỷ","ẙ","ỵ","ƴ","ɏ","ỿ","ⓩ","z","ź","ẑ","ż","ž","ẓ","ẕ","ƶ","ȥ","ɀ","ⱬ","ꝣ","Ά","Έ","Ή","Ί","Ϊ","Ό","Ύ","Ϋ","Ώ","ά","έ","ή","ί","ϊ","ΐ","ό","ύ","ϋ","ΰ","ω","ς","stripSpecialChars","text","replace","a","newId","_","Math","random","toString","ItemsList","_ngSelect","_selectionModel","Object","defineProperty","_items","_filteredItems","_markedIndex","hideSelected","selectedItems","multiple","maxSelectedItems","item","disabled","setItems","items","_this","map","index","mapItem","groupBy","_groups","_groupBy","_flatten","Map","set","select","selected","maxItemsSelected","clearSelected","selectableGroupAsModel","_hideSelected","unselect","_showSelected","findItem","findBy","compareWith","bindValue","children","resolveNested","label","bindLabel","find","addItem","option","keepDisabled","clear","forEach","marked","resetFilteredItems","findByLabel","term","searchHelper.stripSpecialChars","toLocaleLowerCase","filteredItems","substr","filter","searchFn","match","_defaultSearchFn","key","matchedItems","_c","tslib_1.__values","this_1","get","_d","parent","searchItem","last_1","slice","head","x","_b","apply","Array","from","keys","unmarkItem","markNextItem","_stepToItem","markPreviousItem","markItem","indexOf","markSelectedOrDefault","markDefault","lastMarkedIndex","_getLastMarkedIndex","excludeGroupsFromDefaultSelection","findIndex","split","len","$ngOptionLabel","$ngOptionValue","htmlId","dropdownId","mapSelectedItems","parent_1","child","sort","b","every","search","opt","_getNextItemIndex","steps","markedItem","selectedIndex","lastSelectedItem","max","markedIndex","prop","groups","isArray","items_1","items_1_1","isFnKey","items_2","items_2_1","group","isGroupByFn","withoutGroup","isObjectKey","parent_2","this_2","selectableGroup","groupKey","groupValue","_a","Tab","Enter","Esc","Space","ArrowUp","ArrowDown","Backspace","NgDropdownPanelService","itemHeight","panelHeight","itemsPerViewport","_dimensions","calculateItems","scrollPos","itemsLength","buffer","d","scrollHeight","indexByScrollTop","end","min","ceil","maxStartEnd","maxStart","start","floor","topPadding","isNaN","setDimensions","getScrollTo","itemTop","lastScroll","itemBottom","top","bottom","dimensions","TOP_CSS_CLASS","BOTTOM_CSS_CLASS","SCROLL_SCHEDULER","requestAnimationFrame","animationFrameScheduler","asapScheduler","NgDropdownPanelComponent","_renderer","_zone","_panelService","_elementRef","_document","EventEmitter","Subject","_dropdown","nativeElement","_currentPosition","_itemsLength","_onItemsLengthChanged","handleMousedown","$event","tagName","preventDefault","ngOnInit","_select","parentElement","_virtualPadding","paddingElementRef","_scrollablePanel","scrollElementRef","_contentPanel","contentElementRef","_handleScroll","_handleOutsideClick","_appendDropdown","ngOnChanges","changes","change","_onItemsChange","currentValue","firstChange","ngOnDestroy","_destroy$","complete","unsubscribe","appendTo","removeChild","parentNode","scrollTo","startFromOption","virtualScroll","_lastScrollPosition","querySelector","offsetTop","clientHeight","scrollTop","scrollToTag","panel","adjustPosition","_parent","getBoundingClientRect","_setOffset","_handleDropdownPosition","_calculateCurrentPosition","addClass","removeClass","_updatePosition","style","opacity","runOutsideAngular","fromEvent","pipe","takeUntil","auditTime","subscribe","_onContentScrolled","srcElement","merge","capture","_checkToClose","contains","target","path","composedPath","shadowRoot","outsideClick","emit","_scrollToEndFired","_updateItemsRange","_updateItems","update","Promise","resolve","then","_measureDimensions","_renderItemsRange","_startOffset","_fireScrollToEnd","_updateVirtualHeight","height","_updateScrollHeight","range","bufferAmount","transform","run","scroll","first","optionHeight","padding","scrollToEnd","dropdownEl","position","selectRect","document","documentElement","body","window","pageYOffset","Error","appendChild","offsetLeft","left","width","minWidth","delta","offsetBottom","Component","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","Renderer2","NgZone","ElementRef","Optional","type","Inject","DOCUMENT","Input","Output","ViewChild","read","HostListener","NgOptionComponent","elementRef","_disabled","_isDisabled","stateChange$","NgSelectConfig","SELECTION_MODEL_FACTORY","InjectionToken","NgSelectComponent","classes","tabIndex","autoFocus","config","newSelectionModel","_cd","_console","trackByFn","_mergeGlobalConfig","itemsList","element","_itemsAreUsed","_compareWith","fn","_clearSearchOnAdd","closeOnSelect","filterValue","searchable","dropdownPanel","currentPosition","_handleKeyPresses","_setItems","_manualOpen","ngAfterViewInit","_setItemsFromNgOptions","focus","handleKeyDown","KeyCode","which","_handleArrowDown","_handleArrowUp","_handleSpace","_handleEnter","_handleTab","close","_handleBackspace","_keyPress$","classList","handleClearClick","handleArrowClick","focused","open","toggle","isOpen","hasValue","_updateNgModel","_clearSearch","_isTypeahead","typeahead","clearEvent","_onSelectionChanged","clearModel","clearable","writeValue","_handleWriteValue","markForCheck","registerOnChange","_onChange","registerOnTouched","_onTouched","setDisabledState","isDisabled","addTag","noItemsToSelect","markFirst","openEvent","detectChanges","closeEvent","toggleItem","clearSearchOnAdd","addEvent","filterInput","removeEvent","selectTag","tag","_primitive","handleTag","isPromise","catch","showClear","toLowerCase","some","loading","showNoItemsFound","empty","showAddTag","showTypeToSearch","searchEvent","onInputFocus","add","focusEvent","onInputBlur","remove","blurEvent","onItemHover","destroyed","firstItem","_defaultLabel","ngOptions","startWith","options","changedOrDestroyed","innerHTML","_isValidWriteValue","validateBinding","JSON","stringify","ngModel","val","isValObject","isPrimitive","tap","letter","_pressedKeys","debounceTime","join","model","changeEvent","_scrollToMarked","_scrollToTag","selectOnTab","openOnEnter","_nextItemIsTag","nextStep","nextIndex","clearOnBackspace","observers","placeholder","notFoundText","typeToSearchText","addTagText","loadingText","clearAllText","disableVirtualScroll","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","host","role","class","[class.ng-select-single]","Attribute","ChangeDetectorRef","HostBinding","ContentChild","ContentChildren","descendants","NgOptionHighlightDirective","renderer","_canHighlight","_highlightLabel","indexOfTerm","_setInnerHtml","substring","html","setProperty","DefaultSelectionModelFactory","DefaultSelectionModel","_selected","groupAsModel","childrenCount","selectedCount","_setChildrenSelectedState","_removeChildren","_removeParent","ɵ0","NgModule","declarations","imports","CommonModule","exports","useValue"],"mappings":"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AU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,KACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACVC,IAAU,IACV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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[ng-option-tmp]' })\nexport class NgOptionTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-optgroup-tmp]' })\nexport class NgOptgroupTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-label-tmp]' })\nexport class NgLabelTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-multi-label-tmp]' })\nexport class NgMultiLabelTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-header-tmp]' })\nexport class NgHeaderTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-footer-tmp]' })\nexport class NgFooterTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-notfound-tmp]' })\nexport class NgNotFoundTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-typetosearch-tmp]' })\nexport class NgTypeToSearchTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-loadingtext-tmp]' })\nexport class NgLoadingTextTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-tag-tmp]' })\nexport class NgTagTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-loadingspinner-tmp]' })\nexport class NgLoadingSpinnerTemplateDirective {\n constructor(public template: TemplateRef<any>) { }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ConsoleService {\n warn(message: string) {\n console.warn(message)\n }\n}\n","export function isDefined(value: any) {\n return value !== undefined && value !== null;\n}\n\nexport function isObject(value: any) {\n return typeof value === 'object' && isDefined(value);\n}\n\nexport function isPromise(value: any) {\n return value instanceof Promise;\n}\n\nexport function isFunction(value: any) {\n return value instanceof Function;\n}\n","const diacritics = {\n '\\u24B6': 'A',\n '\\uFF21': 'A',\n '\\u00C0': 'A',\n '\\u00C1': 'A',\n '\\u00C2': 'A',\n '\\u1EA6': 'A',\n '\\u1EA4': 'A',\n '\\u1EAA': 'A',\n '\\u1EA8': 'A',\n '\\u00C3': 'A',\n '\\u0100': 'A',\n '\\u0102': 'A',\n '\\u1EB0': 'A',\n '\\u1EAE': 'A',\n '\\u1EB4': 'A',\n '\\u1EB2': 'A',\n '\\u0226': 'A',\n '\\u01E0': 'A',\n '\\u00C4': 'A',\n '\\u01DE': 'A',\n '\\u1EA2': 'A',\n '\\u00C5': 'A',\n '\\u01FA': 'A',\n '\\u01CD': 'A',\n '\\u0200': 'A',\n '\\u0202': 'A',\n '\\u1EA0': 'A',\n '\\u1EAC': 'A',\n '\\u1EB6': 'A',\n '\\u1E00': 'A',\n '\\u0104': 'A',\n '\\u023A': 'A',\n '\\u2C6F': 'A',\n '\\uA732': 'AA',\n '\\u00C6': 'AE',\n '\\u01FC': 'AE',\n '\\u01E2': 'AE',\n '\\uA734': 'AO',\n '\\uA736': 'AU',\n '\\uA738': 'AV',\n '\\uA73A': 'AV',\n '\\uA73C': 'AY',\n '\\u24B7': 'B',\n '\\uFF22': 'B',\n '\\u1E02': 'B',\n '\\u1E04': 'B',\n '\\u1E06': 'B',\n '\\u0243': 'B',\n '\\u0182': 'B',\n '\\u0181': 'B',\n '\\u24B8': 'C',\n '\\uFF23': 'C',\n '\\u0106': 'C',\n '\\u0108': 'C',\n '\\u010A': 'C',\n '\\u010C': 'C',\n '\\u00C7': 'C',\n '\\u1E08': 'C',\n '\\u0187': 'C',\n '\\u023B': 'C',\n '\\uA73E': 'C',\n '\\u24B9': 'D',\n '\\uFF24': 'D',\n '\\u1E0A': 'D',\n '\\u010E': 'D',\n '\\u1E0C': 'D',\n '\\u1E10': 'D',\n '\\u1E12': 'D',\n '\\u1E0E': 'D',\n '\\u0110': 'D',\n '\\u018B': 'D',\n '\\u018A': 'D',\n '\\u0189': 'D',\n '\\uA779': 'D',\n '\\u01F1': 'DZ',\n '\\u01C4': 'DZ',\n '\\u01F2': 'Dz',\n '\\u01C5': 'Dz',\n '\\u24BA': 'E',\n '\\uFF25': 'E',\n '\\u00C8': 'E',\n '\\u00C9': 'E',\n '\\u00CA': 'E',\n '\\u1EC0': 'E',\n '\\u1EBE': 'E',\n '\\u1EC4': 'E',\n '\\u1EC2': 'E',\n '\\u1EBC': 'E',\n '\\u0112': 'E',\n '\\u1E14': 'E',\n '\\u1E16': 'E',\n '\\u0114': 'E',\n '\\u0116': 'E',\n '\\u00CB': 'E',\n '\\u1EBA': 'E',\n '\\u011A': 'E',\n '\\u0204': 'E',\n '\\u0206': 'E',\n '\\u1EB8': 'E',\n '\\u1EC6': 'E',\n '\\u0228': 'E',\n '\\u1E1C': 'E',\n '\\u0118': 'E',\n '\\u1E18': 'E',\n '\\u1E1A': 'E',\n '\\u0190': 'E',\n '\\u018E': 'E',\n '\\u24BB': 'F',\n '\\uFF26': 'F',\n '\\u1E1E': 'F',\n '\\u0191': 'F',\n '\\uA77B': 'F',\n '\\u24BC': 'G',\n '\\uFF27': 'G',\n '\\u01F4': 'G',\n '\\u011C': 'G',\n '\\u1E20': 'G',\n '\\u011E': 'G',\n '\\u0120': 'G',\n '\\u01E6': 'G',\n '\\u0122': 'G',\n '\\u01E4': 'G',\n '\\u0193': 'G',\n '\\uA7A0': 'G',\n '\\uA77D': 'G',\n '\\uA77E': 'G',\n '\\u24BD': 'H',\n '\\uFF28': 'H',\n '\\u0124': 'H',\n '\\u1E22': 'H',\n '\\u1E26': 'H',\n '\\u021E': 'H',\n '\\u1E24': 'H',\n '\\u1E28': 'H',\n '\\u1E2A': 'H',\n '\\u0126': 'H',\n '\\u2C67': 'H',\n '\\u2C75': 'H',\n '\\uA78D': 'H',\n '\\u24BE': 'I',\n '\\uFF29': 'I',\n '\\u00CC': 'I',\n '\\u00CD': 'I',\n '\\u00CE': 'I',\n '\\u0128': 'I',\n '\\u012A': 'I',\n '\\u012C': 'I',\n '\\u0130': 'I',\n '\\u00CF': 'I',\n '\\u1E2E': 'I',\n '\\u1EC8': 'I',\n '\\u01CF': 'I',\n '\\u0208': 'I',\n '\\u020A': 'I',\n '\\u1ECA': 'I',\n '\\u012E': 'I',\n '\\u1E2C': 'I',\n '\\u0197': 'I',\n '\\u24BF': 'J',\n '\\uFF2A': 'J',\n '\\u0134': 'J',\n '\\u0248': 'J',\n '\\u24C0': 'K',\n '\\uFF2B': 'K',\n '\\u1E30': 'K',\n '\\u01E8': 'K',\n '\\u1E32': 'K',\n '\\u0136': 'K',\n '\\u1E34': 'K',\n '\\u0198': 'K',\n '\\u2C69': 'K',\n '\\uA740': 'K',\n '\\uA742': 'K',\n '\\uA744': 'K',\n '\\uA7A2': 'K',\n '\\u24C1': 'L',\n '\\uFF2C': 'L',\n '\\u013F': 'L',\n '\\u0139': 'L',\n '\\u013D': 'L',\n '\\u1E36': 'L',\n '\\u1E38': 'L',\n '\\u013B': 'L',\n '\\u1E3C': 'L',\n '\\u1E3A': 'L',\n '\\u0141': 'L',\n '\\u023D': 'L',\n '\\u2C62': 'L',\n '\\u2C60': 'L',\n '\\uA748': 'L',\n '\\uA746': 'L',\n '\\uA780': 'L',\n '\\u01C7': 'LJ',\n '\\u01C8': 'Lj',\n '\\u24C2': 'M',\n '\\uFF2D': 'M',\n '\\u1E3E': 'M',\n '\\u1E40': 'M',\n '\\u1E42': 'M',\n '\\u2C6E': 'M',\n '\\u019C': 'M',\n '\\u24C3': 'N',\n '\\uFF2E': 'N',\n '\\u01F8': 'N',\n '\\u0143': 'N',\n '\\u00D1': 'N',\n '\\u1E44': 'N',\n '\\u0147': 'N',\n '\\u1E46': 'N',\n '\\u0145': 'N',\n '\\u1E4A': 'N',\n '\\u1E48': 'N',\n '\\u0220': 'N',\n '\\u019D': 'N',\n '\\uA790': 'N',\n '\\uA7A4': 'N',\n '\\u01CA': 'NJ',\n '\\u01CB': 'Nj',\n '\\u24C4': 'O',\n '\\uFF2F': 'O',\n '\\u00D2': 'O',\n '\\u00D3': 'O',\n '\\u00D4': 'O',\n '\\u1ED2': 'O',\n '\\u1ED0': 'O',\n '\\u1ED6': 'O',\n '\\u1ED4': 'O',\n '\\u00D5': 'O',\n '\\u1E4C': 'O',\n '\\u022C': 'O',\n '\\u1E4E': 'O',\n '\\u014C': 'O',\n '\\u1E50': 'O',\n '\\u1E52': 'O',\n '\\u014E': 'O',\n '\\u022E': 'O',\n '\\u0230': 'O',\n '\\u00D6': 'O',\n '\\u022A': 'O',\n '\\u1ECE': 'O',\n '\\u0150': 'O',\n '\\u01D1': 'O',\n '\\u020C': 'O',\n '\\u020E': 'O',\n '\\u01A0': 'O',\n '\\u1EDC': 'O',\n '\\u1EDA': 'O',\n '\\u1EE0': 'O',\n '\\u1EDE': 'O',\n '\\u1EE2': 'O',\n '\\u1ECC': 'O',\n '\\u1ED8': 'O',\n '\\u01EA': 'O',\n '\\u01EC': 'O',\n '\\u00D8': 'O',\n '\\u01FE': 'O',\n '\\u0186': 'O',\n '\\u019F': 'O',\n '\\uA74A': 'O',\n '\\uA74C': 'O',\n '\\u01A2': 'OI',\n '\\uA74E': 'OO',\n '\\u0222': 'OU',\n '\\u24C5': 'P',\n '\\uFF30': 'P',\n '\\u1E54': 'P',\n '\\u1E56': 'P',\n '\\u01A4': 'P',\n '\\u2C63': 'P',\n '\\uA750': 'P',\n '\\uA752': 'P',\n '\\uA754': 'P',\n '\\u24C6': 'Q',\n '\\uFF31': 'Q',\n '\\uA756': 'Q',\n '\\uA758': 'Q',\n '\\u024A': 'Q',\n '\\u24C7': 'R',\n '\\uFF32': 'R',\n '\\u0154': 'R',\n '\\u1E58': 'R',\n '\\u0158': 'R',\n '\\u0210': 'R',\n '\\u0212': 'R',\n '\\u1E5A': 'R',\n '\\u1E5C': 'R',\n '\\u0156': 'R',\n '\\u1E5E': 'R',\n '\\u024C': 'R',\n '\\u2C64': 'R',\n '\\uA75A': 'R',\n '\\uA7A6': 'R',\n '\\uA782': 'R',\n '\\u24C8': 'S',\n '\\uFF33': 'S',\n '\\u1E9E': 'S',\n '\\u015A': 'S',\n '\\u1E64': 'S',\n '\\u015C': 'S',\n '\\u1E60': 'S',\n '\\u0160': 'S',\n '\\u1E66': 'S',\n '\\u1E62': 'S',\n '\\u1E68': 'S',\n '\\u0218': 'S',\n '\\u015E': 'S',\n '\\u2C7E': 'S',\n '\\uA7A8': 'S',\n '\\uA784': 'S',\n '\\u24C9': 'T',\n '\\uFF34': 'T',\n '\\u1E6A': 'T',\n '\\u0164': 'T',\n '\\u1E6C': 'T',\n '\\u021A': 'T',\n '\\u0162': 'T',\n '\\u1E70': 'T',\n '\\u1E6E': 'T',\n '\\u0166': 'T',\n '\\u01AC': 'T',\n '\\u01AE': 'T',\n '\\u023E': 'T',\n '\\uA786': 'T',\n '\\uA728': 'TZ',\n '\\u24CA': 'U',\n '\\uFF35': 'U',\n '\\u00D9': 'U',\n '\\u00DA': 'U',\n '\\u00DB': 'U',\n '\\u0168': 'U',\n '\\u1E78': 'U',\n '\\u016A': 'U',\n '\\u1E7A': 'U',\n '\\u016C': 'U',\n '\\u00DC': 'U',\n '\\u01DB': 'U',\n '\\u01D7': 'U',\n '\\u01D5': 'U',\n '\\u01D9': 'U',\n '\\u1EE6': 'U',\n '\\u016E': 'U',\n '\\u0170': 'U',\n '\\u01D3': 'U',\n '\\u0214': 'U',\n '\\u0216': 'U',\n '\\u01AF': 'U',\n '\\u1EEA': 'U',\n '\\u1EE8': 'U',\n '\\u1EEE': 'U',\n '\\u1EEC': 'U',\n '\\u1EF0': 'U',\n '\\u1EE4': 'U',\n '\\u1E72': 'U',\n '\\u0172': 'U',\n '\\u1E76': 'U',\n '\\u1E74': 'U',\n '\\u0244': 'U',\n '\\u24CB': 'V',\n '\\uFF36': 'V',\n '\\u1E7C': 'V',\n '\\u1E7E': 'V',\n '\\u01B2': 'V',\n '\\uA75E': 'V',\n '\\u0245': 'V',\n '\\uA760': 'VY',\n '\\u24CC': 'W',\n '\\uFF37': 'W',\n '\\u1E80': 'W',\n '\\u1E82': 'W',\n '\\u0174': 'W',\n '\\u1E86': 'W',\n '\\u1E84': 'W',\n '\\u1E88': 'W',\n '\\u2C72': 'W',\n '\\u24CD': 'X',\n '\\uFF38': 'X',\n '\\u1E8A': 'X',\n '\\u1E8C': 'X',\n '\\u24CE': 'Y',\n '\\uFF39': 'Y',\n '\\u1EF2': 'Y',\n '\\u00DD': 'Y',\n '\\u0176': 'Y',\n '\\u1EF8': 'Y',\n '\\u0232': 'Y',\n '\\u1E8E': 'Y',\n '\\u0178': 'Y',\n '\\u1EF6': 'Y',\n '\\u1EF4': 'Y',\n '\\u01B3': 'Y',\n '\\u024E': 'Y',\n '\\u1EFE': 'Y',\n '\\u24CF': 'Z',\n '\\uFF3A': 'Z',\n '\\u0179': 'Z',\n '\\u1E90': 'Z',\n '\\u017B': 'Z',\n '\\u017D': 'Z',\n '\\u1E92': 'Z',\n '\\u1E94': 'Z',\n '\\u01B5': 'Z',\n '\\u0224': 'Z',\n '\\u2C7F': 'Z',\n '\\u2C6B': 'Z',\n '\\uA762': 'Z',\n '\\u24D0': 'a',\n '\\uFF41': 'a',\n '\\u1E9A': 'a',\n '\\u00E0': 'a',\n '\\u00E1': 'a',\n '\\u00E2': 'a',\n '\\u1EA7': 'a',\n '\\u1EA5': 'a',\n '\\u1EAB': 'a',\n '\\u1EA9': 'a',\n '\\u00E3': 'a',\n '\\u0101': 'a',\n '\\u0103': 'a',\n '\\u1EB1': 'a',\n '\\u1EAF': 'a',\n '\\u1EB5': 'a',\n '\\u1EB3': 'a',\n '\\u0227': 'a',\n '\\u01E1': 'a',\n '\\u00E4': 'a',\n '\\u01DF': 'a',\n '\\u1EA3': 'a',\n '\\u00E5': 'a',\n '\\u01FB': 'a',\n '\\u01CE': 'a',\n '\\u0201': 'a',\n '\\u0203': 'a',\n '\\u1EA1': 'a',\n '\\u1EAD': 'a',\n '\\u1EB7': 'a',\n '\\u1E01': 'a',\n '\\u0105': 'a',\n '\\u2C65': 'a',\n '\\u0250': 'a',\n '\\uA733': 'aa',\n '\\u00E6': 'ae',\n '\\u01FD': 'ae',\n '\\u01E3': 'ae',\n '\\uA735': 'ao',\n '\\uA737': 'au',\n '\\uA739': 'av',\n '\\uA73B': 'av',\n '\\uA73D': 'ay',\n '\\u24D1': 'b',\n '\\uFF42': 'b',\n '\\u1E03': 'b',\n '\\u1E05': 'b',\n '\\u1E07': 'b',\n '\\u0180': 'b',\n '\\u0183': 'b',\n '\\u0253': 'b',\n '\\u24D2': 'c',\n '\\uFF43': 'c',\n '\\u0107': 'c',\n '\\u0109': 'c',\n '\\u010B': 'c',\n '\\u010D': 'c',\n '\\u00E7': 'c',\n '\\u1E09': 'c',\n '\\u0188': 'c',\n '\\u023C': 'c',\n '\\uA73F': 'c',\n '\\u2184': 'c',\n '\\u24D3': 'd',\n '\\uFF44': 'd',\n '\\u1E0B': 'd',\n '\\u010F': 'd',\n '\\u1E0D': 'd',\n '\\u1E11': 'd',\n '\\u1E13': 'd',\n '\\u1E0F': 'd',\n '\\u0111': 'd',\n '\\u018C': 'd',\n '\\u0256': 'd',\n '\\u0257': 'd',\n '\\uA77A': 'd',\n '\\u01F3': 'dz',\n '\\u01C6': 'dz',\n '\\u24D4': 'e',\n '\\uFF45': 'e',\n '\\u00E8': 'e',\n '\\u00E9': 'e',\n '\\u00EA': 'e',\n '\\u1EC1': 'e',\n '\\u1EBF': 'e',\n '\\u1EC5': 'e',\n '\\u1EC3': 'e',\n '\\u1EBD': 'e',\n '\\u0113': 'e',\n '\\u1E15': 'e',\n '\\u1E17': 'e',\n '\\u0115': 'e',\n '\\u0117': 'e',\n '\\u00EB': 'e',\n '\\u1EBB': 'e',\n '\\u011B': 'e',\n '\\u0205': 'e',\n '\\u0207': 'e',\n '\\u1EB9': 'e',\n '\\u1EC7': 'e',\n '\\u0229': 'e',\n '\\u1E1D': 'e',\n '\\u0119': 'e',\n '\\u1E19': 'e',\n '\\u1E1B': 'e',\n '\\u0247': 'e',\n '\\u025B': 'e',\n '\\u01DD': 'e',\n '\\u24D5': 'f',\n '\\uFF46': 'f',\n '\\u1E1F': 'f',\n '\\u0192': 'f',\n '\\uA77C': 'f',\n '\\u24D6': 'g',\n '\\uFF47': 'g',\n '\\u01F5': 'g',\n '\\u011D': 'g',\n '\\u1E21': 'g',\n '\\u011F': 'g',\n '\\u0121': 'g',\n '\\u01E7': 'g',\n '\\u0123': 'g',\n '\\u01E5': 'g',\n '\\u0260': 'g',\n '\\uA7A1': 'g',\n '\\u1D79': 'g',\n '\\uA77F': 'g',\n '\\u24D7': 'h',\n '\\uFF48': 'h',\n '\\u0125': 'h',\n '\\u1E23': 'h',\n '\\u1E27': 'h',\n '\\u021F': 'h',\n '\\u1E25': 'h',\n '\\u1E29': 'h',\n '\\u1E2B': 'h',\n '\\u1E96': 'h',\n '\\u0127': 'h',\n '\\u2C68': 'h',\n '\\u2C76': 'h',\n '\\u0265': 'h',\n '\\u0195': 'hv',\n '\\u24D8': 'i',\n '\\uFF49': 'i',\n '\\u00EC': 'i',\n '\\u00ED': 'i',\n '\\u00EE': 'i',\n '\\u0129': 'i',\n '\\u012B': 'i',\n '\\u012D': 'i',\n '\\u00EF': 'i',\n '\\u1E2F': 'i',\n '\\u1EC9': 'i',\n '\\u01D0': 'i',\n '\\u0209': 'i',\n '\\u020B': 'i',\n '\\u1ECB': 'i',\n '\\u012F': 'i',\n '\\u1E2D': 'i',\n '\\u0268': 'i',\n '\\u0131': 'i',\n '\\u24D9': 'j',\n '\\uFF4A': 'j',\n '\\u0135': 'j',\n '\\u01F0': 'j',\n '\\u0249': 'j',\n '\\u24DA': 'k',\n '\\uFF4B': 'k',\n '\\u1E31': 'k',\n '\\u01E9': 'k',\n '\\u1E33': 'k',\n '\\u0137': 'k',\n '\\u1E35': 'k',\n '\\u0199': 'k',\n '\\u2C6A': 'k',\n '\\uA741': 'k',\n '\\uA743': 'k',\n '\\uA745': 'k',\n '\\uA7A3': 'k',\n '\\u24DB': 'l',\n '\\uFF4C': 'l',\n '\\u0140': 'l',\n '\\u013A': 'l',\n '\\u013E': 'l',\n '\\u1E37': 'l',\n '\\u1E39': 'l',\n '\\u013C': 'l',\n '\\u1E3D': 'l',\n '\\u1E3B': 'l',\n '\\u017F': 'l',\n '\\u0142': 'l',\n '\\u019A': 'l',\n '\\u026B': 'l',\n '\\u2C61': 'l',\n '\\uA749': 'l',\n '\\uA781': 'l',\n '\\uA747': 'l',\n '\\u01C9': 'lj',\n '\\u24DC': 'm',\n '\\uFF4D': 'm',\n '\\u1E3F': 'm',\n '\\u1E41': 'm',\n '\\u1E43': 'm',\n '\\u0271': 'm',\n '\\u026F': 'm',\n '\\u24DD': 'n',\n '\\uFF4E': 'n',\n '\\u01F9': 'n',\n '\\u0144': 'n',\n '\\u00F1': 'n',\n '\\u1E45': 'n',\n '\\u0148': 'n',\n '\\u1E47': 'n',\n '\\u0146': 'n',\n '\\u1E4B': 'n',\n '\\u1E49': 'n',\n '\\u019E': 'n',\n '\\u0272': 'n',\n '\\u0149': 'n',\n '\\uA791': 'n',\n '\\uA7A5': 'n',\n '\\u01CC': 'nj',\n '\\u24DE': 'o',\n '\\uFF4F': 'o',\n '\\u00F2': 'o',\n '\\u00F3': 'o',\n '\\u00F4': 'o',\n '\\u1ED3': 'o',\n '\\u1ED1': 'o',\n '\\u1ED7': 'o',\n '\\u1ED5': 'o',\n '\\u00F5': 'o',\n '\\u1E4D': 'o',\n '\\u022D': 'o',\n '\\u1E4F': 'o',\n '\\u014D': 'o',\n '\\u1E51': 'o',\n '\\u1E53': 'o',\n '\\u014F': 'o',\n '\\u022F': 'o',\n '\\u0231': 'o',\n '\\u00F6': 'o',\n '\\u022B': 'o',\n '\\u1ECF': 'o',\n '\\u0151': 'o',\n '\\u01D2': 'o',\n '\\u020D': 'o',\n '\\u020F': 'o',\n '\\u01A1': 'o',\n '\\u1EDD': 'o',\n '\\u1EDB': 'o',\n '\\u1EE1': 'o',\n '\\u1EDF': 'o',\n '\\u1EE3': 'o',\n '\\u1ECD': 'o',\n '\\u1ED9': 'o',\n '\\u01EB': 'o',\n '\\u01ED': 'o',\n '\\u00F8': 'o',\n '\\u01FF': 'o',\n '\\u0254': 'o',\n '\\uA74B': 'o',\n '\\uA74D': 'o',\n '\\u0275': 'o',\n '\\u01A3': 'oi',\n '\\u0223': 'ou',\n '\\uA74F': 'oo',\n '\\u24DF': 'p',\n '\\uFF50': 'p',\n '\\u1E55': 'p',\n '\\u1E57': 'p',\n '\\u01A5': 'p',\n '\\u1D7D': 'p',\n '\\uA751': 'p',\n '\\uA753': 'p',\n '\\uA755': 'p',\n '\\u24E0': 'q',\n '\\uFF51': 'q',\n '\\u024B': 'q',\n '\\uA757': 'q',\n '\\uA759': 'q',\n '\\u24E1': 'r',\n '\\uFF52': 'r',\n '\\u0155': 'r',\n '\\u1E59': 'r',\n '\\u0159': 'r',\n '\\u0211': 'r',\n '\\u0213': 'r',\n '\\u1E5B': 'r',\n '\\u1E5D': 'r',\n '\\u0157': 'r',\n '\\u1E5F': 'r',\n '\\u024D': 'r',\n '\\u027D': 'r',\n '\\uA75B': 'r',\n '\\uA7A7': 'r',\n '\\uA783': 'r',\n '\\u24E2': 's',\n '\\uFF53': 's',\n '\\u00DF': 's',\n '\\u015B': 's',\n '\\u1E65': 's',\n '\\u015D': 's',\n '\\u1E61': 's',\n '\\u0161': 's',\n '\\u1E67': 's',\n '\\u1E63': 's',\n '\\u1E69': 's',\n '\\u0219': 's',\n '\\u015F': 's',\n '\\u023F': 's',\n '\\uA7A9': 's',\n '\\uA785': 's',\n '\\u1E9B': 's',\n '\\u24E3': 't',\n '\\uFF54': 't',\n '\\u1E6B': 't',\n '\\u1E97': 't',\n '\\u0165': 't',\n '\\u1E6D': 't',\n '\\u021B': 't',\n '\\u0163': 't',\n '\\u1E71': 't',\n '\\u1E6F': 't',\n '\\u0167': 't',\n '\\u01AD': 't',\n '\\u0288': 't',\n '\\u2C66': 't',\n '\\uA787': 't',\n '\\uA729': 'tz',\n '\\u24E4': 'u',\n '\\uFF55': 'u',\n '\\u00F9': 'u',\n '\\u00FA': 'u',\n '\\u00FB': 'u',\n '\\u0169': 'u',\n '\\u1E79': 'u',\n '\\u016B': 'u',\n '\\u1E7B': 'u',\n '\\u016D': 'u',\n '\\u00FC': 'u',\n '\\u01DC': 'u',\n '\\u01D8': 'u',\n '\\u01D6': 'u',\n '\\u01DA': 'u',\n '\\u1EE7': 'u',\n '\\u016F': 'u',\n '\\u0171': 'u',\n '\\u01D4': 'u',\n '\\u0215': 'u',\n '\\u0217': 'u',\n '\\u01B0': 'u',\n '\\u1EEB': 'u',\n '\\u1EE9': 'u',\n '\\u1EEF': 'u',\n '\\u1EED': 'u',\n '\\u1EF1': 'u',\n '\\u1EE5': 'u',\n '\\u1E73': 'u',\n '\\u0173': 'u',\n '\\u1E77': 'u',\n '\\u1E75': 'u',\n '\\u0289': 'u',\n '\\u24E5': 'v',\n '\\uFF56': 'v',\n '\\u1E7D': 'v',\n '\\u1E7F': 'v',\n '\\u028B': 'v',\n '\\uA75F': 'v',\n '\\u028C': 'v',\n '\\uA761': 'vy',\n '\\u24E6': 'w',\n '\\uFF57': 'w',\n '\\u1E81': 'w',\n '\\u1E83': 'w',\n '\\u0175': 'w',\n '\\u1E87': 'w',\n '\\u1E85': 'w',\n '\\u1E98': 'w',\n '\\u1E89': 'w',\n '\\u2C73': 'w',\n '\\u24E7': 'x',\n '\\uFF58': 'x',\n '\\u1E8B': 'x',\n '\\u1E8D': 'x',\n '\\u24E8': 'y',\n '\\uFF59': 'y',\n '\\u1EF3': 'y',\n '\\u00FD': 'y',\n '\\u0177': 'y',\n '\\u1EF9': 'y',\n '\\u0233': 'y',\n '\\u1E8F': 'y',\n '\\u00FF': 'y',\n '\\u1EF7': 'y',\n '\\u1E99': 'y',\n '\\u1EF5': 'y',\n '\\u01B4': 'y',\n '\\u024F': 'y',\n '\\u1EFF': 'y',\n '\\u24E9': 'z',\n '\\uFF5A': 'z',\n '\\u017A': 'z',\n '\\u1E91': 'z',\n '\\u017C': 'z',\n '\\u017E': 'z',\n '\\u1E93': 'z',\n '\\u1E95': 'z',\n '\\u01B6': 'z',\n '\\u0225': 'z',\n '\\u0240': 'z',\n '\\u2C6C': 'z',\n '\\uA763': 'z',\n '\\u0386': '\\u0391',\n '\\u0388': '\\u0395',\n '\\u0389': '\\u0397',\n '\\u038A': '\\u0399',\n '\\u03AA': '\\u0399',\n '\\u038C': '\\u039F',\n '\\u038E': '\\u03A5',\n '\\u03AB': '\\u03A5',\n '\\u038F': '\\u03A9',\n '\\u03AC': '\\u03B1',\n '\\u03AD': '\\u03B5',\n '\\u03AE': '\\u03B7',\n '\\u03AF': '\\u03B9',\n '\\u03CA': '\\u03B9',\n '\\u0390': '\\u03B9',\n '\\u03CC': '\\u03BF',\n '\\u03CD': '\\u03C5',\n '\\u03CB': '\\u03C5',\n '\\u03B0': '\\u03C5',\n '\\u03C9': '\\u03C9',\n '\\u03C2': '\\u03C3'\n};\n\nexport function stripSpecialChars(text: string): string {\n const match = (a: string): string => {\n return diacritics[a] || a;\n };\n return text.replace(/[^\\u0000-\\u007E]/g, match);\n}\n","export function newId() {\n // First character is an 'a', it's good practice to tag id to begin with a letter\n return 'axxxxxxxxxxx'.replace(/[x]/g, function (_) {\n // tslint:disable-next-line:no-bitwise\n const val = Math.random() * 16 | 0;\n return val.toString(16);\n });\n}\n","import { NgOption } from './ng-select.types';\nimport * as searchHelper from './search-helper';\nimport { NgSelectComponent } from './ng-select.component';\nimport { isDefined, isFunction, isObject } from './value-utils';\nimport { newId } from './id';\nimport { SelectionModel } from './selection-model';\n\ntype OptionGroups = Map<string | NgOption, NgOption[]>;\n\nexport class ItemsList {\n private _groups: OptionGroups;\n\n constructor(\n private _ngSelect: NgSelectComponent,\n private _selectionModel: SelectionModel) {\n }\n\n private _items: NgOption[] = [];\n\n get items(): NgOption[] {\n return this._items;\n }\n\n private _filteredItems: NgOption[] = [];\n\n get filteredItems(): NgOption[] {\n return this._filteredItems;\n }\n\n private _markedIndex = -1;\n\n get markedIndex(): number {\n return this._markedIndex;\n }\n\n get selectedItems() {\n return this._selectionModel.value;\n }\n\n get markedItem(): NgOption {\n return this._filteredItems[this._markedIndex];\n }\n\n get noItemsToSelect(): boolean {\n return this._ngSelect.hideSelected && this._items.length === this.selectedItems.length;\n }\n\n get maxItemsSelected(): boolean {\n return this._ngSelect.multiple && this._ngSelect.maxSelectedItems <= this.selectedItems.length;\n }\n\n get lastSelectedItem() {\n let i = this.selectedItems.length - 1;\n for (; i >= 0; i--) {\n let item = this.selectedItems[i];\n if (!item.disabled) {\n return item;\n }\n }\n return null;\n }\n\n setItems(items: any[]) {\n this._items = items.map((item, index) => this.mapItem(item, index));\n if (this._ngSelect.groupBy) {\n this._groups = this._groupBy(this._items, this._ngSelect.groupBy);\n this._items = this._flatten(this._groups);\n } else {\n this._groups = new Map();\n this._groups.set(undefined, this._items)\n }\n this._filteredItems = [...this._items];\n }\n\n select(item: NgOption) {\n if (item.selected || this.maxItemsSelected) {\n return;\n }\n const multiple = this._ngSelect.multiple;\n if (!multiple) {\n this.clearSelected();\n }\n\n this._selectionModel.select(item, multiple, this._ngSelect.selectableGroupAsModel);\n if (this._ngSelect.hideSelected) {\n this._hideSelected(item);\n }\n }\n\n unselect(item: NgOption) {\n if (!item.selected) {\n return;\n }\n this._selectionModel.unselect(item, this._ngSelect.multiple);\n if (this._ngSelect.hideSelected && isDefined(item.index) && this._ngSelect.multiple) {\n this._showSelected(item);\n }\n }\n\n findItem(value: any): NgOption {\n let findBy: (item: NgOption) => boolean;\n if (this._ngSelect.compareWith) {\n findBy = item => this._ngSelect.compareWith(item.value, value)\n } else if (this._ngSelect.bindValue) {\n findBy = item => !item.children && this.resolveNested(item.value, this._ngSelect.bindValue) === value\n } else {\n findBy = item => item.value === value ||\n !item.children && item.label && item.label === this.resolveNested(value, this._ngSelect.bindLabel)\n }\n return this._items.find(item => findBy(item));\n }\n\n addItem(item: any) {\n const option = this.mapItem(item, this._items.length);\n this._items.push(option);\n this._filteredItems.push(option);\n return option;\n }\n\n clearSelected(keepDisabled = false) {\n this._selectionModel.clear(keepDisabled);\n this._items.forEach(item => {\n item.selected = keepDisabled && item.selected && item.disabled;\n item.marked = false;\n });\n if (this._ngSelect.hideSelected) {\n this.resetFilteredItems();\n }\n }\n\n findByLabel(term: string) {\n term = searchHelper.stripSpecialChars(term).toLocaleLowerCase();\n return this.filteredItems.find(item => {\n const label = searchHelper.stripSpecialChars(item.label).toLocaleLowerCase();\n return label.substr(0, term.length) === term;\n });\n }\n\n filter(term: string): void {\n if (!term) {\n this.resetFilteredItems();\n return;\n }\n\n this._filteredItems = [];\n term = this._ngSelect.searchFn ? term : searchHelper.stripSpecialChars(term).toLocaleLowerCase();\n const match = this._ngSelect.searchFn || this._defaultSearchFn;\n const hideSelected = this._ngSelect.hideSelected;\n\n for (const key of Array.from(this._groups.keys())) {\n const matchedItems = [];\n for (const item of this._groups.get(key)) {\n if (hideSelected && (item.parent && item.parent.selected || item.selected)) {\n continue;\n }\n const searchItem = this._ngSelect.searchFn ? item.value : item;\n if (match(term, searchItem)) {\n matchedItems.push(item);\n }\n }\n if (matchedItems.length > 0) {\n const [last] = matchedItems.slice(-1);\n if (last.parent) {\n const head = this._items.find(x => x === last.parent);\n this._filteredItems.push(head);\n }\n this._filteredItems.push(...matchedItems);\n }\n }\n }\n\n resetFilteredItems() {\n if (this._filteredItems.length === this._items.length) {\n return;\n }\n\n if (this._ngSelect.hideSelected && this.selectedItems.length > 0) {\n this._filteredItems = this._items.filter(x => !x.selected);\n } else {\n this._filteredItems = this._items;\n }\n }\n\n unmarkItem() {\n this._markedIndex = -1;\n }\n\n markNextItem() {\n this._stepToItem(+1);\n }\n\n markPreviousItem() {\n this._stepToItem(-1);\n }\n\n markItem(item: NgOption) {\n this._markedIndex = this._filteredItems.indexOf(item);\n }\n\n markSelectedOrDefault(markDefault?: boolean) {\n if (this._filteredItems.length === 0) {\n return;\n }\n\n const lastMarkedIndex = this._getLastMarkedIndex();\n if (lastMarkedIndex > -1) {\n this._markedIndex = lastMarkedIndex;\n } else {\n if (this._ngSelect.excludeGroupsFromDefaultSelection) {\n this._markedIndex = markDefault ? this.filteredItems.findIndex(x => !x.disabled && !x.children) : -1;\n } else {\n this._markedIndex = markDefault ? this.filteredItems.findIndex(x => !x.disabled) : -1;\n }\n }\n }\n\n resolveNested(option: any, key: string): any {\n if (!isObject(option)) {\n return option;\n }\n if (key.indexOf('.') === -1) {\n return option[key];\n } else {\n let keys: string[] = key.split('.');\n let value = option;\n for (let i = 0, len = keys.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[keys[i]];\n }\n return value;\n }\n }\n\n mapItem(item: any, index: number): NgOption {\n const label = isDefined(item.$ngOptionLabel) ? item.$ngOptionLabel : this.resolveNested(item, this._ngSelect.bindLabel);\n const value = isDefined(item.$ngOptionValue) ? item.$ngOptionValue : item;\n return {\n index: index,\n label: isDefined(label) ? label.toString() : '',\n value: value,\n disabled: item.disabled,\n htmlId: `${this._ngSelect.dropdownId}-${index}`,\n };\n }\n\n mapSelectedItems() {\n const multiple = this._ngSelect.multiple;\n for (const selected of this.selectedItems) {\n const value = this._ngSelect.bindValue ? this.resolveNested(selected.value, this._ngSelect.bindValue) : selected.value;\n const item = isDefined(value) ? this.findItem(value) : null;\n this._selectionModel.unselect(selected, multiple);\n this._selectionModel.select(item || selected, multiple, this._ngSelect.selectableGroupAsModel);\n }\n\n if (this._ngSelect.hideSelected) {\n this._filteredItems = this.filteredItems.filter(x => this.selectedItems.indexOf(x) === -1);\n }\n }\n\n private _showSelected(item: NgOption) {\n this._filteredItems.push(item);\n if (item.parent) {\n const parent = item.parent;\n const parentExists = this._filteredItems.find(x => x === parent);\n if (!parentExists) {\n this._filteredItems.push(parent);\n }\n } else if (item.children) {\n for (const child of item.children) {\n child.selected = false;\n this._filteredItems.push(child);\n }\n }\n this._filteredItems = [...this._filteredItems.sort((a, b) => (a.index - b.index))];\n }\n\n private _hideSelected(item: NgOption) {\n this._filteredItems = this._filteredItems.filter(x => x !== item);\n if (item.parent) {\n const children = item.parent.children;\n if (children.every(x => x.selected)) {\n this._filteredItems = this._filteredItems.filter(x => x !== item.parent);\n }\n } else if (item.children) {\n this._filteredItems = this.filteredItems.filter(x => x.parent !== item);\n }\n }\n\n private _defaultSearchFn(search: string, opt: NgOption) {\n const label = searchHelper.stripSpecialChars(opt.label).toLocaleLowerCase();\n return label.indexOf(search) > -1\n }\n\n private _getNextItemIndex(steps: number) {\n if (steps > 0) {\n return (this._markedIndex === this._filteredItems.length - 1) ? 0 : (this._markedIndex + 1);\n }\n return (this._markedIndex <= 0) ? (this._filteredItems.length - 1) : (this._markedIndex - 1);\n }\n\n private _stepToItem(steps: number) {\n if (this._filteredItems.length === 0 || this._filteredItems.every(x => x.disabled)) {\n return;\n }\n\n this._markedIndex = this._getNextItemIndex(steps);\n if (this.markedItem.disabled) {\n this._stepToItem(steps);\n }\n }\n\n private _getLastMarkedIndex() {\n if (this._ngSelect.hideSelected) {\n return -1;\n }\n\n if (this._markedIndex > -1 && this.markedItem === undefined) {\n return -1;\n }\n\n const selectedIndex = this._filteredItems.indexOf(this.lastSelectedItem);\n if (this.lastSelectedItem && selectedIndex < 0) {\n return -1;\n }\n\n return Math.max(this.markedIndex, selectedIndex);\n }\n\n private _groupBy(items: NgOption[], prop: string | Function): OptionGroups {\n const groups = new Map<string | NgOption, NgOption[]>();\n if (items.length === 0) {\n return groups;\n }\n\n // Check if items are already grouped by given key.\n if (Array.isArray(items[0].value[<string>prop])) {\n for (const item of items) {\n const children = (item.value[<string>prop] || []).map((x, index) => this.mapItem(x, index));\n groups.set(item, children);\n }\n return groups;\n }\n\n const isFnKey = isFunction(this._ngSelect.groupBy);\n const keyFn = (item: NgOption) => {\n let key = isFnKey ? (<Function>prop)(item.value) : item.value[<string>prop];\n return isDefined(key) ? key : undefined;\n };\n\n // Group items by key.\n for (const item of items) {\n let key = keyFn(item);\n const group = groups.get(key);\n if (group) {\n group.push(item);\n } else {\n groups.set(key, [item]);\n }\n }\n return groups;\n }\n\n private _flatten(groups: OptionGroups) {\n const isGroupByFn = isFunction(this._ngSelect.groupBy);\n const items = [];\n const withoutGroup = groups.get(undefined) || [];\n items.push(...withoutGroup);\n let i = withoutGroup.length;\n for (const key of Array.from(groups.keys())) {\n if (!isDefined(key)) {\n continue;\n }\n const isObjectKey = isObject(key);\n const parent: NgOption = {\n label: isObjectKey ? '' : <string>key,\n children: undefined,\n parent: null,\n index: i++,\n disabled: !this._ngSelect.selectableGroup,\n htmlId: newId(),\n };\n const groupKey = isGroupByFn ? this._ngSelect.bindLabel : <string>this._ngSelect.groupBy;\n const groupValue = this._ngSelect.groupValue || (() => {\n if (isObjectKey) {\n return (<NgOption>key).value;\n }\n return { [groupKey]: key };\n });\n const children = groups.get(key).map(x => {\n x.parent = parent;\n x.children = undefined;\n x.index = i++;\n return x;\n });\n parent.children = children;\n parent.value = groupValue(key, children.map(x => x.value));\n items.push(parent);\n items.push(...children);\n }\n return items;\n }\n}\n","export interface NgOption {\n [name: string]: any;\n index?: number;\n htmlId?: string;\n selected?: boolean;\n disabled?: boolean;\n marked?: boolean;\n label?: string;\n value?: string | Object;\n parent?: NgOption;\n children?: NgOption[];\n}\n\nexport enum KeyCode {\n Tab = 9,\n Enter = 13,\n Esc = 27,\n Space = 32,\n ArrowUp = 38,\n ArrowDown = 40,\n Backspace = 8\n}\n","export interface ItemsRangeResult {\n scrollHeight: number;\n topPadding: number;\n start: number;\n end: number;\n}\n\nexport interface PanelDimensions {\n itemHeight: number;\n panelHeight: number;\n itemsPerViewport: number;\n}\n\nexport class NgDropdownPanelService {\n\n private _dimensions: PanelDimensions = {\n itemHeight: 0,\n panelHeight: 0,\n itemsPerViewport: 0\n };\n\n get dimensions() {\n return this._dimensions;\n }\n\n calculateItems(scrollPos: number, itemsLength: number, buffer: number): ItemsRangeResult {\n const d = this._dimensions;\n const scrollHeight = d.itemHeight * itemsLength;\n\n const scrollTop = Math.max(0, scrollPos);\n const indexByScrollTop = scrollTop / scrollHeight * itemsLength;\n let end = Math.min(itemsLength, Math.ceil(indexByScrollTop) + (d.itemsPerViewport + 1));\n\n const maxStartEnd = end;\n const maxStart = Math.max(0, maxStartEnd - d.itemsPerViewport);\n let start = Math.min(maxStart, Math.floor(indexByScrollTop));\n\n let topPadding = d.itemHeight * Math.ceil(start) - (d.itemHeight * Math.min(start, buffer));\n topPadding = !isNaN(topPadding) ? topPadding : 0;\n start = !isNaN(start) ? start : -1;\n end = !isNaN(end) ? end : -1;\n start -= buffer;\n start = Math.max(0, start);\n end += buffer;\n end = Math.min(itemsLength, end);\n\n return {\n topPadding,\n scrollHeight,\n start,\n end\n }\n }\n\n setDimensions(itemHeight: number, panelHeight: number) {\n const itemsPerViewport = Math.max(1, Math.floor(panelHeight / itemHeight));\n this._dimensions = {\n itemHeight,\n panelHeight,\n itemsPerViewport\n };\n }\n\n getScrollTo(itemTop: number, itemHeight: number, lastScroll: number) {\n const itemBottom = itemTop + itemHeight;\n const top = lastScroll;\n const bottom = top + this.dimensions.panelHeight;\n\n if (itemBottom > bottom) {\n return top + itemBottom - bottom;\n } else if (itemTop <= top) {\n return itemTop;\n }\n\n return null;\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { animationFrameScheduler, asapScheduler, fromEvent, merge, Subject } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { NgDropdownPanelService, PanelDimensions } from './ng-dropdown-panel.service';\n\nimport { DropdownPosition } from './ng-select.component';\nimport { NgOption } from './ng-select.types';\nimport { isDefined } from './value-utils';\n\nconst TOP_CSS_CLASS = 'ng-select-top';\nconst BOTTOM_CSS_CLASS = 'ng-select-bottom';\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'ng-dropdown-panel',\n template: `\n <div *ngIf=\"headerTemplate\" class=\"ng-dropdown-header\">\n <ng-container [ngTemplateOutlet]=\"headerTemplate\" [ngTemplateOutletContext]=\"{ searchTerm: filterValue }\"></ng-container>\n </div>\n <div #scroll class=\"ng-dropdown-panel-items scroll-host\">\n <div #padding [class.total-padding]=\"virtualScroll\"></div>\n <div #content [class.scrollable-content]=\"virtualScroll && items.length\">\n <ng-content></ng-content>\n </div>\n </div>\n <div *ngIf=\"footerTemplate\" class=\"ng-dropdown-footer\">\n <ng-container [ngTemplateOutlet]=\"footerTemplate\" [ngTemplateOutletContext]=\"{ searchTerm: filterValue }\"></ng-container>\n </div>\n `\n})\nexport class NgDropdownPanelComponent implements OnInit, OnChanges, OnDestroy {\n\n @Input() items: NgOption[] = [];\n @Input() markedItem: NgOption;\n @Input() position: DropdownPosition = 'auto';\n @Input() appendTo: string;\n @Input() bufferAmount;\n @Input() virtualScroll = false;\n @Input() headerTemplate: TemplateRef<any>;\n @Input() footerTemplate: TemplateRef<any>;\n @Input() filterValue: string = null;\n\n @Output() update = new EventEmitter<any[]>();\n @Output() scroll = new EventEmitter<{ start: number; end: number }>();\n @Output() scrollToEnd = new EventEmitter<void>();\n @Output() outsideClick = new EventEmitter<void>();\n\n @ViewChild('content', { read: ElementRef }) contentElementRef: ElementRef;\n @ViewChild('scroll', { read: ElementRef }) scrollElementRef: ElementRef;\n @ViewChild('padding', { read: ElementRef }) paddingElementRef: ElementRef;\n\n private readonly _destroy$ = new Subject<void>();\n private readonly _dropdown: HTMLElement;\n private _virtualPadding: HTMLElement;\n private _scrollablePanel: HTMLElement;\n private _contentPanel: HTMLElement;\n private _select: HTMLElement;\n private _parent: HTMLElement;\n private _scrollToEndFired = false;\n private _updateScrollHeight = false;\n private _lastScrollPosition = 0;\n\n constructor(\n private _renderer: Renderer2,\n private _zone: NgZone,\n private _panelService: NgDropdownPanelService,\n _elementRef: ElementRef,\n @Optional() @Inject(DOCUMENT) private _document: any\n ) {\n this._dropdown = _elementRef.nativeElement;\n }\n\n private _currentPosition: DropdownPosition;\n\n get currentPosition(): DropdownPosition {\n return this._currentPosition;\n }\n\n private _itemsLength: number;\n\n private get itemsLength() {\n return this._itemsLength;\n }\n\n private set itemsLength(value: number) {\n if (value !== this._itemsLength) {\n this._itemsLength = value;\n this._onItemsLengthChanged();\n }\n }\n\n @HostListener('mousedown', ['$event'])\n handleMousedown($event: MouseEvent) {\n const target = $event.target as HTMLElement;\n if (target.tagName === 'INPUT') {\n return;\n }\n $event.preventDefault();\n }\n\n ngOnInit() {\n this._select = this._dropdown.parentElement;\n this._virtualPadding = this.paddingElementRef.nativeElement;\n this._scrollablePanel = this.scrollElementRef.nativeElement;\n this._contentPanel = this.contentElementRef.nativeElement;\n this._handleScroll();\n this._handleOutsideClick();\n this._appendDropdown();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.items) {\n const change = changes.items;\n this._onItemsChange(change.currentValue, change.firstChange);\n }\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n this._destroy$.unsubscribe();\n if (this.appendTo) {\n this._renderer.removeChild(this._dropdown.parentNode, this._dropdown);\n }\n }\n\n scrollTo(option: NgOption, startFromOption = false) {\n if (!option) {\n return;\n }\n\n const index = this.items.indexOf(option);\n if (index < 0 || index >= this.itemsLength) {\n return;\n }\n\n let scrollTo;\n if (this.virtualScroll) {\n const itemHeight = this._panelService.dimensions.itemHeight;\n scrollTo = this._panelService.getScrollTo(index * itemHeight, itemHeight, this._lastScrollPosition);\n } else {\n const item: HTMLElement = this._dropdown.querySelector(`#${option.htmlId}`);\n const lastScroll = startFromOption ? item.offsetTop : this._lastScrollPosition;\n scrollTo = this._panelService.getScrollTo(item.offsetTop, item.clientHeight, lastScroll);\n }\n\n if (isDefined(scrollTo)) {\n this._scrollablePanel.scrollTop = scrollTo;\n }\n }\n\n scrollToTag() {\n const panel = this._scrollablePanel;\n panel.scrollTop = panel.scrollHeight - panel.clientHeight;\n }\n\n adjustPosition() {\n const parent = this._parent.getBoundingClientRect();\n const select = this._select.getBoundingClientRect();\n this._setOffset(parent, select);\n }\n\n private _handleDropdownPosition() {\n this._currentPosition = this._calculateCurrentPosition(this._dropdown);\n if (this._currentPosition === 'top') {\n this._renderer.addClass(this._dropdown, TOP_CSS_CLASS);\n this._renderer.removeClass(this._dropdown, BOTTOM_CSS_CLASS);\n this._renderer.addClass(this._select, TOP_CSS_CLASS);\n this._renderer.removeClass(this._select, BOTTOM_CSS_CLASS)\n } else {\n this._renderer.addClass(this._dropdown, BOTTOM_CSS_CLASS);\n this._renderer.removeClass(this._dropdown, TOP_CSS_CLASS);\n this._renderer.addClass(this._select, BOTTOM_CSS_CLASS);\n this._renderer.removeClass(this._select, TOP_CSS_CLASS);\n }\n\n if (this.appendTo) {\n this._updatePosition();\n }\n\n this._dropdown.style.opacity = '1';\n }\n\n private _handleScroll() {\n this._zone.runOutsideAngular(() => {\n fromEvent(this.scrollElementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroy$), auditTime(0, SCROLL_SCHEDULER))\n .subscribe((e: Event) => this._onContentScrolled(e.srcElement.scrollTop));\n });\n }\n\n private _handleOutsideClick() {\n if (!this._document) {\n return;\n }\n\n this._zone.runOutsideAngular(() => {\n merge(\n fromEvent(this._document, 'touchstart', { capture: true }),\n fromEvent(this._document, 'mousedown', { capture: true })\n ).pipe(takeUntil(this._destroy$))\n .subscribe($event => this._checkToClose($event));\n });\n }\n\n private _checkToClose($event: any) {\n if (this._select.contains($event.target) || this._dropdown.contains($event.target)) {\n return;\n }\n\n const path = $event.path || ($event.composedPath && $event.composedPath());\n if ($event.target && $event.target.shadowRoot && path && path[0] && this._select.contains(path[0])) {\n return;\n }\n\n this.outsideClick.emit();\n }\n\n private _onItemsChange(items: NgOption[], firstChange: boolean) {\n this.items = items || [];\n this._scrollToEndFired = false;\n this.itemsLength = items.length;\n\n if (this.virtualScroll) {\n this._updateItemsRange(firstChange);\n } else {\n this._updateItems(firstChange);\n }\n }\n\n private _updateItems(firstChange: boolean) {\n this.update.emit(this.items);\n if (firstChange === false) {\n return;\n }\n\n this._zone.runOutsideAngular(() => {\n Promise.resolve().then(() => {\n const panelHeight = this._scrollablePanel.clientHeight;\n this._panelService.setDimensions(0, panelHeight);\n this._handleDropdownPosition();\n this.scrollTo(this.markedItem, firstChange);\n });\n });\n }\n\n private _updateItemsRange(firstChange: boolean) {\n this._zone.runOutsideAngular(() => {\n this._measureDimensions().then(() => {\n if (firstChange) {\n this._renderItemsRange(this._startOffset);\n this._handleDropdownPosition();\n } else {\n this._renderItemsRange();\n }\n });\n });\n }\n\n private _onContentScrolled(scrollTop: number) {\n if (this.virtualScroll) {\n this._renderItemsRange(scrollTop);\n }\n this._lastScrollPosition = scrollTop;\n this._fireScrollToEnd(scrollTop);\n }\n\n private _updateVirtualHeight(height: number) {\n if (this._updateScrollHeight) {\n this._virtualPadding.style.height = `${height}px`;\n this._updateScrollHeight = false;\n }\n }\n\n private _onItemsLengthChanged() {\n this._updateScrollHeight = true;\n }\n\n private get _startOffset() {\n if (this.markedItem) {\n return this.markedItem.index * this._panelService.dimensions.itemHeight;\n }\n return 0;\n }\n\n private _renderItemsRange(scrollTop = null) {\n if (scrollTop && this._lastScrollPosition === scrollTop) {\n return;\n }\n\n scrollTop = scrollTop || this._scrollablePanel.scrollTop;\n const range = this._panelService.calculateItems(scrollTop, this.itemsLength, this.bufferAmount);\n this._updateVirtualHeight(range.scrollHeight);\n this._contentPanel.style.transform = `translateY(${range.topPadding}px)`;\n\n this._zone.run(() => {\n this.update.emit(this.items.slice(range.start, range.end));\n this.scroll.emit({ start: range.start, end: range.end });\n });\n\n if (isDefined(scrollTop) && this._lastScrollPosition === 0) {\n this._scrollablePanel.scrollTop = scrollTop;\n this._lastScrollPosition = scrollTop;\n }\n }\n\n private _measureDimensions(): Promise<PanelDimensions> {\n if (this._panelService.dimensions.itemHeight > 0 || this.itemsLength === 0) {\n return Promise.resolve(this._panelService.dimensions);\n }\n\n const [first] = this.items;\n this.update.emit([first]);\n\n return Promise.resolve().then(() => {\n const option = this._dropdown.querySelector(`#${first.htmlId}`);\n const optionHeight = option.clientHeight;\n this._virtualPadding.style.height = `${optionHeight * this.itemsLength}px`;\n const panelHeight = this._scrollablePanel.clientHeight;\n this._panelService.setDimensions(optionHeight, panelHeight);\n\n return this._panelService.dimensions;\n });\n }\n\n private _fireScrollToEnd(scrollTop: number) {\n if (this._scrollToEndFired || scrollTop === 0) {\n return;\n }\n\n const padding = this.virtualScroll ?\n this._virtualPadding :\n this._contentPanel;\n\n if (scrollTop + this._dropdown.clientHeight >= padding.clientHeight) {\n this._zone.run(() => this.scrollToEnd.emit());\n this._scrollToEndFired = true;\n }\n }\n\n private _calculateCurrentPosition(dropdownEl: HTMLElement) {\n if (this.position !== 'auto') {\n return this.position;\n }\n const selectRect: ClientRect = this._select.getBoundingClientRect();\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n const offsetTop = selectRect.top + window.pageYOffset;\n const height = selectRect.height;\n const dropdownHeight = dropdownEl.getBoundingClientRect().height;\n if (offsetTop + height + dropdownHeight > scrollTop + document.documentElement.clientHeight) {\n return 'top';\n } else {\n return 'bottom';\n }\n }\n\n private _appendDropdown() {\n if (!this.appendTo) {\n return;\n }\n\n this._parent = document.querySelector(this.appendTo);\n if (!parent) {\n throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);\n }\n this._parent.appendChild(this._dropdown);\n }\n\n private _updatePosition() {\n const select = this._select.getBoundingClientRect();\n const parent = this._parent.getBoundingClientRect();\n const offsetLeft = select.left - parent.left;\n\n this._setOffset(parent, select);\n\n this._dropdown.style.left = offsetLeft + 'px';\n this._dropdown.style.width = select.width + 'px';\n this._dropdown.style.minWidth = select.width + 'px';\n }\n\n private _setOffset(parent: ClientRect, select: ClientRect) {\n const delta = select.height;\n\n if (this._currentPosition === 'top') {\n const offsetBottom = parent.bottom - select.bottom;\n this._dropdown.style.bottom = offsetBottom + delta + 'px';\n this._dropdown.style.top = 'auto';\n } else if (this._currentPosition === 'bottom') {\n const offsetTop = select.top - parent.top;\n this._dropdown.style.top = offsetTop + delta + 'px';\n this._dropdown.style.bottom = 'auto';\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'ng-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content></ng-content>`\n})\nexport class NgOptionComponent implements OnChanges {\n\n @Input() value: any;\n @Input()\n get disabled() { return this._disabled; }\n set disabled(value: any) { this._disabled = this._isDisabled(value) }\n\n readonly stateChange$ = new Subject<{ value: any, disabled: boolean }>();\n private _disabled = false;\n\n constructor(public elementRef: ElementRef) { }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.disabled) {\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled\n });\n }\n }\n\n private _isDisabled(value) {\n return value != null && `${value}` !== 'false';\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NgSelectConfig {\n placeholder: string;\n notFoundText = 'No items found';\n typeToSearchText = 'Type to search';\n addTagText = 'Add item';\n loadingText = 'Loading...';\n clearAllText = 'Clear all';\n disableVirtualScroll = true;\n openOnEnter = true;\n}\n","import {\n Component,\n OnDestroy,\n OnChanges,\n AfterViewInit,\n forwardRef,\n ChangeDetectorRef,\n Input,\n Output,\n EventEmitter,\n ContentChild,\n TemplateRef,\n ViewEncapsulation,\n HostListener,\n HostBinding,\n ViewChild,\n ElementRef,\n ChangeDetectionStrategy,\n Inject,\n SimpleChanges,\n ContentChildren,\n QueryList,\n InjectionToken,\n Attribute\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { takeUntil, startWith, tap, debounceTime, map, filter } from 'rxjs/operators';\nimport { Subject, merge } from 'rxjs';\n\nimport {\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgOptgroupTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective\n} from './ng-templates.directive';\n\nimport { ConsoleService } from './console.service';\nimport { isDefined, isFunction, isPromise, isObject } from './value-utils';\nimport { ItemsList } from './items-list';\nimport { NgOption, KeyCode } from './ng-select.types';\nimport { newId } from './id';\nimport { NgDropdownPanelComponent } from './ng-dropdown-panel.component';\nimport { NgOptionComponent } from './ng-option.component';\nimport { SelectionModelFactory } from './selection-model';\nimport { NgSelectConfig } from './config.service';\nimport { NgDropdownPanelService } from './ng-dropdown-panel.service';\n\nexport const SELECTION_MODEL_FACTORY = new InjectionToken<SelectionModelFactory>('ng-select-selection-model');\nexport type DropdownPosition = 'bottom' | 'top' | 'auto';\nexport type AutoCorrect = 'off' | 'on';\nexport type AutoCapitalize = 'off' | 'on';\nexport type AddTagFn = ((term: string) => any | Promise<any>);\nexport type CompareWithFn = (a: any, b: any) => boolean;\nexport type GroupValueFn = (key: string | object, children: any[]) => string | object;\n\n@Component({\n selector: 'ng-select',\n templateUrl: './ng-select.component.html',\n styleUrls: ['./ng-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgSelectComponent),\n multi: true\n }, NgDropdownPanelService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'listbox',\n 'class': 'ng-select',\n '[class.ng-select-single]': '!multiple',\n }\n})\nexport class NgSelectComponent implements OnDestroy, OnChanges, AfterViewInit, ControlValueAccessor {\n\n @Input() bindLabel: string;\n @Input() bindValue: string;\n @Input() markFirst = true;\n @Input() placeholder: string;\n @Input() notFoundText: string;\n @Input() typeToSearchText: string;\n @Input() addTagText: string;\n @Input() loadingText: string;\n @Input() clearAllText: string;\n @Input() dropdownPosition: DropdownPosition = 'auto';\n @Input() appendTo: string;\n @Input() loading = false;\n @Input() closeOnSelect = true;\n @Input() hideSelected = false;\n @Input() selectOnTab = false;\n @Input() openOnEnter: boolean;\n @Input() maxSelectedItems: number;\n @Input() groupBy: string | Function;\n @Input() groupValue: GroupValueFn;\n @Input() bufferAmount = 4;\n @Input() virtualScroll: boolean;\n @Input() selectableGroup = false;\n @Input() selectableGroupAsModel = true;\n @Input() searchFn = null;\n @Input() trackByFn = null;\n @Input() excludeGroupsFromDefaultSelection = false;\n @Input() clearOnBackspace = true;\n\n @Input() labelForId = null;\n @Input() autoCorrect: AutoCorrect = 'off';\n @Input() autoCapitalize: AutoCapitalize = 'off';\n @Input() @HostBinding('class.ng-select-typeahead') typeahead: Subject<string>;\n @Input() @HostBinding('class.ng-select-multiple') multiple = false;\n @Input() @HostBinding('class.ng-select-taggable') addTag: boolean | AddTagFn = false;\n @Input() @HostBinding('class.ng-select-searchable') searchable = true;\n @Input() @HostBinding('class.ng-select-clearable') clearable = true;\n @Input() @HostBinding('class.ng-select-opened') isOpen = false;\n\n @Input()\n get items() { return this._items };\n set items(value: any[]) {\n this._itemsAreUsed = true;\n this._items = value;\n };\n\n @Input()\n get compareWith() { return this._compareWith; }\n set compareWith(fn: CompareWithFn) {\n if (!isFunction(fn)) {\n throw Error('`compareWith` must be a function.');\n }\n this._compareWith = fn;\n }\n\n @Input()\n get clearSearchOnAdd() { return isDefined(this._clearSearchOnAdd) ? this._clearSearchOnAdd : this.closeOnSelect; };\n set clearSearchOnAdd(value) {\n this._clearSearchOnAdd = value;\n };\n\n // output events\n @Output('blur') blurEvent = new EventEmitter();\n @Output('focus') focusEvent = new EventEmitter();\n @Output('change') changeEvent = new EventEmitter();\n @Output('open') openEvent = new EventEmitter();\n @Output('close') closeEvent = new EventEmitter();\n @Output('search') searchEvent = new EventEmitter<{term: string, items: any[]}>();\n @Output('clear') clearEvent = new EventEmitter();\n @Output('add') addEvent = new EventEmitter();\n @Output('remove') removeEvent = new EventEmitter();\n @Output('scroll') scroll = new EventEmitter<{ start: number; end: number }>();\n @Output('scrollToEnd') scrollToEnd = new EventEmitter();\n\n // custom templates\n @ContentChild(NgOptionTemplateDirective, { read: TemplateRef }) optionTemplate: TemplateRef<any>;\n @ContentChild(NgOptgroupTemplateDirective, { read: TemplateRef }) optgroupTemplate: TemplateRef<any>;\n @ContentChild(NgLabelTemplateDirective, { read: TemplateRef }) labelTemplate: TemplateRef<any>;\n @ContentChild(NgMultiLabelTemplateDirective, { read: TemplateRef }) multiLabelTemplate: TemplateRef<any>;\n @ContentChild(NgHeaderTemplateDirective, { read: TemplateRef }) headerTemplate: TemplateRef<any>;\n @ContentChild(NgFooterTemplateDirective, { read: TemplateRef }) footerTemplate: TemplateRef<any>;\n @ContentChild(NgNotFoundTemplateDirective, { read: TemplateRef }) notFoundTemplate: TemplateRef<any>;\n @ContentChild(NgTypeToSearchTemplateDirective, { read: TemplateRef }) typeToSearchTemplate: TemplateRef<any>;\n @ContentChild(NgLoadingTextTemplateDirective, { read: TemplateRef }) loadingTextTemplate: TemplateRef<any>;\n @ContentChild(NgTagTemplateDirective, { read: TemplateRef }) tagTemplate: TemplateRef<any>;\n @ContentChild(NgLoadingSpinnerTemplateDirective, { read: TemplateRef }) loadingSpinnerTemplate: TemplateRef<any>;\n\n @ViewChild(forwardRef(() => NgDropdownPanelComponent)) dropdownPanel: NgDropdownPanelComponent;\n @ContentChildren(NgOptionComponent, { descendants: true }) ngOptions: QueryList<NgOptionComponent>;\n @ViewChild('filterInput') filterInput: ElementRef;\n\n @HostBinding('class.ng-select-disabled') disabled = false;\n @HostBinding('class.ng-select-filtered') get filtered() { return !!this.filterValue && this.searchable };\n\n itemsList: ItemsList;\n viewPortItems: NgOption[] = [];\n filterValue: string = null;\n dropdownId = newId();\n element: HTMLElement;\n focused: boolean;\n\n private _items = [];\n private _itemsAreUsed: boolean;\n private _defaultLabel = 'label';\n private _primitive;\n private _manualOpen: boolean;\n private _pressedKeys: string[] = [];\n private _compareWith: CompareWithFn;\n private _clearSearchOnAdd: boolean;\n\n private readonly _destroy$ = new Subject<void>();\n private readonly _keyPress$ = new Subject<string>();\n private _onChange = (_: any) => { };\n private _onTouched = () => { };\n\n clearItem = (item: any) => {\n const option = this.selectedItems.find(x => x.value === item);\n this.unselect(option);\n };\n\n constructor(\n @Attribute('class') public classes: string,\n @Attribute('tabindex') public tabIndex: string,\n @Attribute('autofocus') private autoFocus: any,\n config: NgSelectConfig,\n @Inject(SELECTION_MODEL_FACTORY) newSelectionModel: SelectionModelFactory,\n _elementRef: ElementRef,\n private _cd: ChangeDetectorRef,\n private _console: ConsoleService\n ) {\n this._mergeGlobalConfig(config);\n this.itemsList = new ItemsList(this, newSelectionModel());\n this.element = _elementRef.nativeElement;\n }\n\n get selectedItems(): NgOption[] {\n return this.itemsList.selectedItems;\n }\n\n get selectedValues() {\n return this.selectedItems.map(x => x.value);\n }\n\n get hasValue() {\n return this.selectedItems.length > 0;\n }\n\n get currentPanelPosition(): DropdownPosition {\n if (this.dropdownPanel) {\n return this.dropdownPanel.currentPosition;\n }\n return undefined;\n }\n\n ngOnInit() {\n this._handleKeyPresses();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.multiple) {\n this.itemsList.clearSelected();\n }\n if (changes.items) {\n this._setItems(changes.items.currentValue || []);\n }\n if (changes.isOpen) {\n this._manualOpen = isDefined(changes.isOpen.currentValue);\n }\n }\n\n ngAfterViewInit() {\n if (!this._itemsAreUsed) {\n this._setItemsFromNgOptions();\n }\n\n if (isDefined(this.autoFocus)) {\n this.focus();\n }\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n @HostListener('keydown', ['$event'])\n handleKeyDown($event: KeyboardEvent) {\n if (KeyCode[$event.which]) {\n switch ($event.which) {\n case KeyCode.ArrowDown:\n this._handleArrowDown($event);\n break;\n case KeyCode.ArrowUp:\n this._handleArrowUp($event);\n break;\n case KeyCode.Space:\n this._handleSpace($event);\n break;\n case KeyCode.Enter:\n this._handleEnter($event);\n break;\n case KeyCode.Tab:\n this._handleTab($event);\n break;\n case KeyCode.Esc:\n this.close();\n $event.preventDefault();\n break;\n case KeyCode.Backspace:\n this._handleBackspace();\n break;\n }\n } else if ($event.key && $event.key.length === 1) {\n this._keyPress$.next($event.key.toLocaleLowerCase());\n }\n }\n\n handleMousedown($event: MouseEvent) {\n const target = $event.target as HTMLElement;\n if (target.tagName !== 'INPUT') {\n $event.preventDefault();\n }\n\n if (target.classList.contains('ng-clear-wrapper')) {\n this.handleClearClick();\n return;\n }\n\n if (target.classList.contains('ng-arrow-wrapper')) {\n this.handleArrowClick();\n return;\n }\n\n if (target.classList.contains('ng-value-icon')) {\n return;\n }\n\n if (!this.focused) {\n this.focus();\n }\n\n if (this.searchable) {\n this.open();\n } else {\n this.toggle();\n }\n }\n\n handleArrowClick() {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n handleClearClick() {\n if (this.hasValue) {\n this.itemsList.clearSelected(true);\n this._updateNgModel();\n }\n this._clearSearch();\n this.focus();\n if (this._isTypeahead) {\n this.typeahead.next(null);\n }\n this.clearEvent.emit();\n\n this._onSelectionChanged();\n }\n\n clearModel() {\n if (!this.clearable) {\n return;\n }\n this.itemsList.clearSelected();\n this._updateNgModel();\n }\n\n writeValue(value: any | any[]): void {\n this.itemsList.clearSelected();\n this._handleWriteValue(value);\n this._cd.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._cd.markForCheck();\n }\n\n toggle() {\n if (!this.isOpen) {\n this.open();\n } else {\n this.close();\n }\n }\n\n open() {\n if (this.disabled || this.isOpen || this.itemsList.maxItemsSelected || this._manualOpen) {\n return;\n }\n\n if (!this._isTypeahead && !this.addTag && this.itemsList.noItemsToSelect) {\n return;\n }\n this.isOpen = true;\n this.itemsList.markSelectedOrDefault(this.markFirst);\n this.openEvent.emit();\n if (!this.filterValue) {\n this.focus();\n }\n this.detectChanges();\n }\n\n close() {\n if (!this.isOpen || this._manualOpen) {\n return;\n }\n this.isOpen = false;\n this._clearSearch();\n this.itemsList.unmarkItem();\n this._onTouched();\n this.closeEvent.emit();\n this._cd.markForCheck();\n }\n\n toggleItem(item: NgOption) {\n if (!item || item.disabled || this.disabled) {\n return;\n }\n\n if (this.multiple && item.selected) {\n this.unselect(item);\n } else {\n this.select(item);\n }\n\n this._onSelectionChanged();\n }\n\n select(item: NgOption) {\n if (!item.selected) {\n this.itemsList.select(item);\n if (this.clearSearchOnAdd) {\n this._clearSearch();\n }\n\n if (this.multiple) {\n this.addEvent.emit(item.value);\n }\n this._updateNgModel();\n }\n\n if (this.closeOnSelect || this.itemsList.noItemsToSelect) {\n this.close();\n }\n }\n\n focus() {\n this.filterInput.nativeElement.focus();\n }\n\n unselect(item: NgOption) {\n if (!item) {\n return;\n }\n\n this.itemsList.unselect(item);\n this.focus();\n this._updateNgModel();\n this.removeEvent.emit(item);\n }\n\n selectTag() {\n let tag;\n if (isFunction(this.addTag)) {\n tag = (<AddTagFn>this.addTag)(this.filterValue);\n } else {\n tag = this._primitive ? this.filterValue : { [this.bindLabel]: this.filterValue };\n }\n\n const handleTag = (item) => this._isTypeahead || !this.isOpen ? this.itemsList.mapItem(item, null) : this.itemsList.addItem(item);\n if (isPromise(tag)) {\n tag.then(item => this.select(handleTag(item))).catch(() => { });\n } else if (tag) {\n this.select(handleTag(tag));\n }\n }\n\n showClear() {\n return this.clearable && (this.hasValue || this.filterValue) && !this.disabled;\n }\n\n trackByOption = (_: number, item: NgOption) => {\n if (this.trackByFn) {\n return this.trackByFn(item.value);\n }\n\n return item.htmlId;\n };\n\n get showAddTag() {\n if (!this.filterValue) {\n return false;\n }\n\n const term = this.filterValue.toLowerCase();\n return this.addTag &&\n (!this.itemsList.filteredItems.some(x => x.label.toLowerCase() === term) &&\n (!this.hideSelected && this.isOpen || !this.selectedItems.some(x => x.label.toLowerCase() === term))) &&\n !this.loading;\n }\n\n showNoItemsFound() {\n const empty = this.itemsList.filteredItems.length === 0;\n return ((empty && !this._isTypeahead && !this.loading) ||\n (empty && this._isTypeahead && this.filterValue && !this.loading)) &&\n !this.showAddTag;\n }\n\n showTypeToSearch() {\n const empty = this.itemsList.filteredItems.length === 0;\n return empty && this._isTypeahead && !this.filterValue && !this.loading;\n }\n\n filter(term: string) {\n this.filterValue = term;\n\n if (this._isTypeahead) {\n this.typeahead.next(this.filterValue);\n } else {\n this.itemsList.filter(this.filterValue);\n if (this.isOpen) {\n this.itemsList.markSelectedOrDefault(this.markFirst);\n }\n }\n\n this.searchEvent.emit({ term, items: this.itemsList.filteredItems.map(x => x.value) });\n\n this.open();\n }\n\n onInputFocus($event) {\n if (this.focused) {\n return;\n }\n\n this.element.classList.add('ng-select-focused');\n this.focusEvent.emit($event);\n this.focused = true;\n }\n\n onInputBlur($event) {\n this.element.classList.remove('ng-select-focused');\n this.blurEvent.emit($event);\n if (!this.isOpen && !this.disabled) {\n this._onTouched();\n }\n this.focused = false;\n }\n\n onItemHover(item: NgOption) {\n if (item.disabled) {\n return;\n }\n this.itemsList.markItem(item);\n }\n\n detectChanges() {\n if (!(<any>this._cd).destroyed) {\n this._cd.detectChanges();\n }\n }\n\n private _setItems(items: any[]) {\n const firstItem = items[0];\n this.bindLabel = this.bindLabel || this._defaultLabel;\n this._primitive = isDefined(firstItem) ? !isObject(firstItem) : this._primitive || this.bindLabel === this._defaultLabel;\n this.itemsList.setItems(items);\n if (items.length > 0 && this.hasValue) {\n this.itemsList.mapSelectedItems();\n }\n if (this.isOpen && isDefined(this.filterValue) && !this._isTypeahead) {\n this.itemsList.filter(this.filterValue);\n }\n if (this._isTypeahead || this.isOpen) {\n this.itemsList.markSelectedOrDefault(this.markFirst);\n }\n }\n\n private _setItemsFromNgOptions() {\n const handleNgOptions = (options: QueryList<NgOptionComponent>) => {\n this.items = options.map(option => ({\n $ngOptionValue: option.value,\n $ngOptionLabel: option.elementRef.nativeElement.innerHTML,\n disabled: option.disabled\n }));\n this.itemsList.setItems(this.items);\n if (this.hasValue) {\n this.itemsList.mapSelectedItems();\n }\n this.detectChanges();\n };\n\n const handleOptionChange = () => {\n const changedOrDestroyed = merge(this.ngOptions.changes, this._destroy$);\n merge(...this.ngOptions.map(option => option.stateChange$))\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe(option => {\n const item = this.itemsList.findItem(option.value);\n item.disabled = option.disabled;\n this._cd.markForCheck();\n });\n };\n\n this.ngOptions.changes\n .pipe(startWith(this.ngOptions), takeUntil(this._destroy$))\n .subscribe(options => {\n this.bindLabel = this._defaultLabel;\n handleNgOptions(options);\n handleOptionChange();\n });\n }\n\n private _isValidWriteValue(value: any): boolean {\n if (!isDefined(value) || (this.multiple && value === '') || Array.isArray(value) && value.length === 0) {\n return false;\n }\n\n const validateBinding = (item: any): boolean => {\n if (!isDefined(this.compareWith) && isObject(item) && this.bindValue) {\n this._console.warn(`Binding object(${JSON.stringify(item)}) with bindValue is not allowed.`);\n return false;\n }\n return true;\n };\n\n if (this.multiple) {\n if (!Array.isArray(value)) {\n this._console.warn('Multiple select ngModel should be array.');\n return false;\n }\n return value.every(item => validateBinding(item));\n } else {\n return validateBinding(value);\n }\n }\n\n private _handleWriteValue(ngModel: any | any[]) {\n if (!this._isValidWriteValue(ngModel)) {\n return\n }\n\n const select = (val: any) => {\n let item = this.itemsList.findItem(val);\n if (item) {\n this.itemsList.select(item);\n } else {\n const isValObject = isObject(val);\n const isPrimitive = !isValObject && !this.bindValue;\n if ((isValObject || isPrimitive)) {\n this.itemsList.select(this.itemsList.mapItem(val, null));\n } else if (this.bindValue) {\n item = {\n [this.bindLabel]: null,\n [this.bindValue]: val\n };\n this.itemsList.select(this.itemsList.mapItem(item, null));\n }\n }\n };\n\n if (this.multiple) {\n (<any[]>ngModel).forEach(item => select(item));\n } else {\n select(ngModel);\n }\n }\n\n private _handleKeyPresses() {\n if (this.searchable) {\n return;\n }\n\n this._keyPress$\n .pipe(takeUntil(this._destroy$),\n tap(letter => this._pressedKeys.push(letter)),\n debounceTime(200),\n filter(() => this._pressedKeys.length > 0),\n map(() => this._pressedKeys.join('')))\n .subscribe(term => {\n const item = this.itemsList.findByLabel(term);\n if (item) {\n if (this.isOpen) {\n this.itemsList.markItem(item);\n this._cd.markForCheck();\n } else {\n this.select(item);\n }\n }\n this._pressedKeys = [];\n });\n }\n\n private _updateNgModel() {\n const model = [];\n for (const item of this.selectedItems) {\n if (this.bindValue) {\n let value = null;\n if (item.children) {\n const groupKey = this.groupValue ? this.bindValue : <string>this.groupBy;\n value = item.value[groupKey || <string>this.groupBy];\n } else {\n value = this.itemsList.resolveNested(item.value, this.bindValue);\n }\n model.push(value);\n } else {\n model.push(item.value);\n }\n }\n\n const selected = this.selectedItems.map(x => x.value);\n if (this.multiple) {\n this._onChange(model);\n this.changeEvent.emit(selected);\n } else {\n this._onChange(isDefined(model[0]) ? model[0] : null);\n this.changeEvent.emit(selected[0]);\n }\n\n this._cd.markForCheck();\n }\n\n private _clearSearch() {\n if (!this.filterValue) {\n return;\n }\n\n this.filterValue = null;\n this.itemsList.resetFilteredItems();\n }\n\n private _scrollToMarked() {\n if (!this.isOpen || !this.dropdownPanel) {\n return;\n }\n this.dropdownPanel.scrollTo(this.itemsList.markedItem);\n }\n\n private _scrollToTag() {\n if (!this.isOpen || !this.dropdownPanel) {\n return;\n }\n this.dropdownPanel.scrollToTag();\n }\n\n private _onSelectionChanged() {\n if (this.isOpen && this.multiple && this.appendTo) {\n // Make sure items are rendered.\n this._cd.detectChanges();\n this.dropdownPanel.adjustPosition();\n }\n }\n\n private _handleTab($event: KeyboardEvent) {\n if (this.isOpen === false && !this.addTag) {\n return;\n }\n\n if (this.selectOnTab) {\n if (this.itemsList.markedItem) {\n this.toggleItem(this.itemsList.markedItem);\n $event.preventDefault();\n } else if (this.showAddTag) {\n this.selectTag();\n $event.preventDefault();\n } else {\n this.close();\n }\n } else {\n this.close();\n }\n }\n\n private _handleEnter($event: KeyboardEvent) {\n if (this.isOpen || this._manualOpen) {\n if (this.itemsList.markedItem) {\n this.toggleItem(this.itemsList.markedItem);\n } else if (this.showAddTag) {\n this.selectTag();\n }\n } else if (this.openOnEnter) {\n this.open();\n } else {\n return;\n }\n\n $event.preventDefault();\n }\n\n private _handleSpace($event: KeyboardEvent) {\n if (this.isOpen || this._manualOpen) {\n return;\n }\n this.open();\n $event.preventDefault();\n }\n\n private _handleArrowDown($event: KeyboardEvent) {\n if (this._nextItemIsTag(+1)) {\n this.itemsList.unmarkItem();\n this._scrollToTag();\n } else {\n this.itemsList.markNextItem();\n this._scrollToMarked();\n }\n this.open();\n $event.preventDefault();\n }\n\n private _handleArrowUp($event: KeyboardEvent) {\n if (!this.isOpen) {\n return;\n }\n\n if (this._nextItemIsTag(-1)) {\n this.itemsList.unmarkItem();\n this._scrollToTag();\n } else {\n this.itemsList.markPreviousItem();\n this._scrollToMarked();\n }\n $event.preventDefault();\n }\n\n private _nextItemIsTag(nextStep: number): boolean {\n const nextIndex = this.itemsList.markedIndex + nextStep;\n return this.addTag && this.filterValue\n && this.itemsList.markedItem\n && (nextIndex < 0 || nextIndex === this.itemsList.filteredItems.length)\n }\n\n private _handleBackspace() {\n if (this.filterValue || !this.clearable || !this.clearOnBackspace || !this.hasValue) {\n return;\n }\n\n if (this.multiple) {\n this.unselect(this.itemsList.lastSelectedItem);\n } else {\n this.clearModel();\n }\n }\n\n private get _isTypeahead() {\n return this.typeahead && this.typeahead.observers.length > 0;\n }\n\n private _mergeGlobalConfig(config: NgSelectConfig) {\n this.placeholder = this.placeholder || config.placeholder;\n this.notFoundText = this.notFoundText || config.notFoundText;\n this.typeToSearchText = this.typeToSearchText || config.typeToSearchText;\n this.addTagText = this.addTagText || config.addTagText;\n this.loadingText = this.loadingText || config.loadingText;\n this.clearAllText = this.clearAllText || config.clearAllText;\n this.virtualScroll = isDefined(this.virtualScroll)\n ? this.virtualScroll\n : isDefined(config.disableVirtualScroll) ? !config.disableVirtualScroll : false;\n this.openOnEnter = isDefined(this.openOnEnter) ? this.openOnEnter : config.openOnEnter;\n }\n}\n","import * as searchHelper from './search-helper';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Renderer2\n} from '@angular/core';\nimport { isDefined } from './value-utils';\n\n@Directive({\n selector: '[ngOptionHighlight]'\n})\nexport class NgOptionHighlightDirective implements OnChanges, AfterViewInit {\n\n @Input('ngOptionHighlight') term: string;\n\n private element: HTMLElement;\n private label: string;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2) {\n this.element = this.elementRef.nativeElement;\n }\n\n ngOnChanges() {\n if (this._canHighlight) {\n this._highlightLabel();\n }\n }\n\n ngAfterViewInit() {\n this.label = this.element.innerHTML;\n if (this._canHighlight) {\n this._highlightLabel();\n }\n }\n\n private _highlightLabel() {\n const label = this.label;\n if (!this.term) {\n this._setInnerHtml(label);\n return;\n }\n\n const indexOfTerm = searchHelper.stripSpecialChars(label)\n .toLowerCase()\n .indexOf(searchHelper.stripSpecialChars(this.term).toLowerCase());\n if (indexOfTerm > -1) {\n this._setInnerHtml(\n label.substring(0, indexOfTerm)\n + `<span class=\"highlighted\">${label.substr(indexOfTerm, this.term.length)}</span>`\n + label.substring(indexOfTerm + this.term.length, label.length));\n } else {\n this._setInnerHtml(label);\n }\n }\n\n private get _canHighlight() {\n return isDefined(this.term) && isDefined(this.label);\n }\n\n private _setInnerHtml(html) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'innerHTML', html);\n }\n} \n","import { NgOption } from './ng-select.types';\n\nexport type SelectionModelFactory = () => SelectionModel;\n\nexport function DefaultSelectionModelFactory() {\n return new DefaultSelectionModel();\n}\n\nexport interface SelectionModel {\n value: NgOption[];\n select(item: NgOption, multiple: boolean, selectableGroupAsModel: boolean);\n unselect(item: NgOption, multiple: boolean);\n clear(keepDisabled: boolean);\n}\n\nexport class DefaultSelectionModel implements SelectionModel {\n private _selected: NgOption[] = [];\n\n get value(): NgOption[] {\n return this._selected;\n }\n\n select(item: NgOption, multiple: boolean, groupAsModel: boolean) {\n item.selected = true;\n if (groupAsModel || !item.children) {\n this._selected.push(item);\n }\n if (multiple) {\n if (item.parent) {\n const childrenCount = item.parent.children.length;\n const selectedCount = item.parent.children.filter(x => x.selected).length;\n item.parent.selected = childrenCount === selectedCount;\n } else if (item.children) {\n this._setChildrenSelectedState(item.children, true);\n this._removeChildren(item);\n if (!groupAsModel) {\n this._selected = [...this._selected, ...item.children];\n }\n }\n }\n }\n\n unselect(item: NgOption, multiple: boolean) {\n this._selected = this._selected.filter(x => x !== item);\n item.selected = false;\n if (multiple) {\n if (item.parent && item.parent.selected) {\n const children = item.parent.children;\n this._removeParent(item.parent);\n this._removeChildren(item.parent);\n this._selected.push(...children.filter(x => x !== item));\n item.parent.selected = false;\n } else if (item.children) {\n this._setChildrenSelectedState(item.children, false);\n this._removeChildren(item);\n }\n }\n }\n\n clear(keepDisabled: boolean) {\n this._selected = keepDisabled ? this._selected.filter(x => x.disabled) : [];\n }\n\n private _setChildrenSelectedState(children: NgOption[], selected: boolean) {\n children.forEach(x => x.selected = selected);\n }\n\n private _removeChildren(parent: NgOption) {\n this._selected = this._selected.filter(x => x.parent !== parent);\n }\n\n private _removeParent(parent: NgOption) {\n this._selected = this._selected.filter(x => x !== parent)\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgSelectComponent, SELECTION_MODEL_FACTORY } from './ng-select.component';\nimport {\n NgFooterTemplateDirective,\n NgHeaderTemplateDirective,\n NgLabelTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgNotFoundTemplateDirective,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgTagTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingSpinnerTemplateDirective\n} from './ng-templates.directive';\nimport { NgOptionComponent } from './ng-option.component';\nimport { NgOptionHighlightDirective } from './ng-option-highlight.directive';\nimport { NgDropdownPanelComponent } from './ng-dropdown-panel.component';\nimport { DefaultSelectionModelFactory } from './selection-model';\n\n@NgModule({\n declarations: [\n NgDropdownPanelComponent,\n NgOptionComponent,\n NgSelectComponent,\n NgOptionHighlightDirective,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n NgSelectComponent,\n NgOptionComponent,\n NgOptionHighlightDirective,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective\n ],\n providers: [\n { provide: SELECTION_MODEL_FACTORY, useValue: DefaultSelectionModelFactory }\n ]\n})\nexport class NgSelectModule { }\n"]}
|
package/esm2015/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
export { NgSelectComponent, SELECTION_MODEL_FACTORY } from './ng-select/ng-select.component';
|
|
6
|
-
export { NgSelectModule } from './ng-select/ng-select.module';
|
|
7
|
-
export { NgSelectConfig } from './ng-select/config.service';
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmctc2VsZWN0L25nLXNlbGVjdC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTmdTZWxlY3RDb21wb25lbnQsIFNFTEVDVElPTl9NT0RFTF9GQUNUT1JZIH0gZnJvbSAnLi9uZy1zZWxlY3Qvbmctc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJy4vbmctc2VsZWN0L25nLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0IHsgTmdPcHRpb24gfSBmcm9tICcuL25nLXNlbGVjdC9uZy1zZWxlY3QudHlwZXMnO1xuZXhwb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICcuL25nLXNlbGVjdC9zZWxlY3Rpb24tbW9kZWwnO1xuZXhwb3J0IHsgTmdTZWxlY3RDb25maWcgfSBmcm9tICcuL25nLXNlbGVjdC9jb25maWcuc2VydmljZSc7XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Injectable } from '@angular/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class NgSelectConfig {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.notFoundText = 'No items found';
|
|
10
|
-
this.typeToSearchText = 'Type to search';
|
|
11
|
-
this.addTagText = 'Add item';
|
|
12
|
-
this.loadingText = 'Loading...';
|
|
13
|
-
this.clearAllText = 'Clear all';
|
|
14
|
-
this.disableVirtualScroll = true;
|
|
15
|
-
this.openOnEnter = true;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
NgSelectConfig.decorators = [
|
|
19
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
20
|
-
];
|
|
21
|
-
/** @nocollapse */ NgSelectConfig.ngInjectableDef = i0.defineInjectable({ factory: function NgSelectConfig_Factory() { return new NgSelectConfig(); }, token: NgSelectConfig, providedIn: "root" });
|
|
22
|
-
if (false) {
|
|
23
|
-
/** @type {?} */
|
|
24
|
-
NgSelectConfig.prototype.placeholder;
|
|
25
|
-
/** @type {?} */
|
|
26
|
-
NgSelectConfig.prototype.notFoundText;
|
|
27
|
-
/** @type {?} */
|
|
28
|
-
NgSelectConfig.prototype.typeToSearchText;
|
|
29
|
-
/** @type {?} */
|
|
30
|
-
NgSelectConfig.prototype.addTagText;
|
|
31
|
-
/** @type {?} */
|
|
32
|
-
NgSelectConfig.prototype.loadingText;
|
|
33
|
-
/** @type {?} */
|
|
34
|
-
NgSelectConfig.prototype.clearAllText;
|
|
35
|
-
/** @type {?} */
|
|
36
|
-
NgSelectConfig.prototype.disableVirtualScroll;
|
|
37
|
-
/** @type {?} */
|
|
38
|
-
NgSelectConfig.prototype.openOnEnter;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmctc2VsZWN0L25nLXNlbGVjdC8iLCJzb3VyY2VzIjpbIm5nLXNlbGVjdC9jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTTs7NEJBRWEsZ0JBQWdCO2dDQUNaLGdCQUFnQjswQkFDdEIsVUFBVTsyQkFDVCxZQUFZOzRCQUNYLFdBQVc7b0NBQ0gsSUFBSTsyQkFDYixJQUFJOzs7O1lBVHJCLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTmdTZWxlY3RDb25maWcge1xuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgbm90Rm91bmRUZXh0ID0gJ05vIGl0ZW1zIGZvdW5kJztcbiAgICB0eXBlVG9TZWFyY2hUZXh0ID0gJ1R5cGUgdG8gc2VhcmNoJztcbiAgICBhZGRUYWdUZXh0ID0gJ0FkZCBpdGVtJztcbiAgICBsb2FkaW5nVGV4dCA9ICdMb2FkaW5nLi4uJztcbiAgICBjbGVhckFsbFRleHQgPSAnQ2xlYXIgYWxsJztcbiAgICBkaXNhYmxlVmlydHVhbFNjcm9sbCA9IHRydWU7XG4gICAgb3Blbk9uRW50ZXIgPSB0cnVlO1xufVxuIl19
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Injectable } from '@angular/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class ConsoleService {
|
|
8
|
-
/**
|
|
9
|
-
* @param {?} message
|
|
10
|
-
* @return {?}
|
|
11
|
-
*/
|
|
12
|
-
warn(message) {
|
|
13
|
-
console.warn(message);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
ConsoleService.decorators = [
|
|
17
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
18
|
-
];
|
|
19
|
-
/** @nocollapse */ ConsoleService.ngInjectableDef = i0.defineInjectable({ factory: function ConsoleService_Factory() { return new ConsoleService(); }, token: ConsoleService, providedIn: "root" });
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXNlbGVjdC9uZy1zZWxlY3QvIiwic291cmNlcyI6WyJuZy1zZWxlY3QvY29uc29sZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNOzs7OztJQUNGLElBQUksQ0FBQyxPQUFlO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7S0FDeEI7OztZQUpKLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29uc29sZVNlcnZpY2Uge1xuICAgIHdhcm4obWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKVxuICAgIH1cbn1cbiJdfQ==
|
package/esm2015/ng-select/id.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @return {?}
|
|
7
|
-
*/
|
|
8
|
-
export function newId() {
|
|
9
|
-
// First character is an 'a', it's good practice to tag id to begin with a letter
|
|
10
|
-
return 'axxxxxxxxxxx'.replace(/[x]/g, function (_) {
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
const val = Math.random() * 16 | 0;
|
|
13
|
-
return val.toString(16);
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmctc2VsZWN0L25nLXNlbGVjdC8iLCJzb3VyY2VzIjpbIm5nLXNlbGVjdC9pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTTs7SUFFRixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQzs7UUFFN0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkMsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzNCLENBQUMsQ0FBQztDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG5ld0lkKCkge1xuICAgIC8vIEZpcnN0IGNoYXJhY3RlciBpcyBhbiAnYScsIGl0J3MgZ29vZCBwcmFjdGljZSB0byB0YWcgaWQgdG8gYmVnaW4gd2l0aCBhIGxldHRlclxuICAgIHJldHVybiAnYXh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beF0vZywgZnVuY3Rpb24gKF8pIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcbiAgICAgICAgY29uc3QgdmFsID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMDtcbiAgICAgICAgcmV0dXJuIHZhbC50b1N0cmluZygxNik7XG4gICAgfSk7XG59XG4iXX0=
|