marketplacepos 2.2.7 → 2.3.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.
Files changed (74) hide show
  1. package/Marketplace/126.cdcda87dcc3da677.js +1 -0
  2. package/Marketplace/170.f2067bfd5ecb2a86.js +1 -0
  3. package/Marketplace/22.738096d8317ec65b.js +1 -0
  4. package/Marketplace/231.adb8d56e26375a9c.js +1 -0
  5. package/Marketplace/285.17f6cbef78acd327.js +1 -0
  6. package/Marketplace/3rdpartylicenses.txt +490 -0
  7. package/Marketplace/46.8652d978a45ce5ab.js +1 -0
  8. package/Marketplace/472.519965afdb7a160d.js +1 -0
  9. package/Marketplace/512.eddb4675a9016de6.js +1 -0
  10. package/Marketplace/518.aff0cf9876e146d2.js +1 -0
  11. package/Marketplace/585.c93552ac67f4550c.js +1 -0
  12. package/Marketplace/6.fc79ecc0c0a33462.js +1 -0
  13. package/Marketplace/616.507588c0a5d7b9e1.js +1 -0
  14. package/Marketplace/717.62ca448a74adc1c2.js +1 -0
  15. package/Marketplace/739.82b92600f9519019.js +1 -0
  16. package/Marketplace/763.42fa4c0d665819d3.js +1 -0
  17. package/Marketplace/767.0ce42314dea8dfea.js +1 -0
  18. package/Marketplace/796.3be8ad424aad7864.js +1 -0
  19. package/Marketplace/common.34d3e7dcd2b85c7a.js +1 -0
  20. package/Marketplace/index.html +22 -23
  21. package/Marketplace/main.6481a1f35d927562.js +1 -0
  22. package/Marketplace/polyfills.8d85b0533e3f867a.js +1 -0
  23. package/Marketplace/runtime.ba5c4b46d4312c5e.js +1 -0
  24. package/Marketplace/scripts.512baec01df5d79f.js +1 -0
  25. package/Marketplace/styles.d8aa52b2e9cd02ae.css +39 -0
  26. package/package.json +1 -1
  27. package/Marketplace/common.js +0 -46
  28. package/Marketplace/common.js.map +0 -1
  29. package/Marketplace/default-node_modules_angular_forms_fesm2020_forms_mjs.js +0 -9551
  30. package/Marketplace/default-node_modules_angular_forms_fesm2020_forms_mjs.js.map +0 -1
  31. package/Marketplace/default-node_modules_angular_material_fesm2020_paginator_mjs.js +0 -797
  32. package/Marketplace/default-node_modules_angular_material_fesm2020_paginator_mjs.js.map +0 -1
  33. package/Marketplace/default-node_modules_ng-select_ng-select_fesm2020_ng-select-ng-select_mjs.js +0 -4632
  34. package/Marketplace/default-node_modules_ng-select_ng-select_fesm2020_ng-select-ng-select_mjs.js.map +0 -1
  35. package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_date-e7a231.js +0 -6836
  36. package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_date-e7a231.js.map +0 -1
  37. package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_slid-566c11.js +0 -722
  38. package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_slid-566c11.js.map +0 -1
  39. package/Marketplace/default-src_app_sharing-module_datepicker_datepicker_component_ts.js +0 -19951
  40. package/Marketplace/default-src_app_sharing-module_datepicker_datepicker_component_ts.js.map +0 -1
  41. package/Marketplace/main.js +0 -617
  42. package/Marketplace/main.js.map +0 -1
  43. package/Marketplace/polyfills.js +0 -3398
  44. package/Marketplace/polyfills.js.map +0 -1
  45. package/Marketplace/runtime.js +0 -346
  46. package/Marketplace/runtime.js.map +0 -1
  47. package/Marketplace/scripts.js +0 -2634
  48. package/Marketplace/scripts.js.map +0 -1
  49. package/Marketplace/src_app_login_login_module_ts.js +0 -538
  50. package/Marketplace/src_app_login_login_module_ts.js.map +0 -1
  51. package/Marketplace/src_app_menu_ReportOrder_report_module_ts.js +0 -1060
  52. package/Marketplace/src_app_menu_ReportOrder_report_module_ts.js.map +0 -1
  53. package/Marketplace/src_app_menu_channels_channels_module_ts.js +0 -9710
  54. package/Marketplace/src_app_menu_channels_channels_module_ts.js.map +0 -1
  55. package/Marketplace/src_app_menu_inventory_inventory_module_ts.js +0 -1069
  56. package/Marketplace/src_app_menu_inventory_inventory_module_ts.js.map +0 -1
  57. package/Marketplace/src_app_menu_logistic_logistic_module_ts.js +0 -232
  58. package/Marketplace/src_app_menu_logistic_logistic_module_ts.js.map +0 -1
  59. package/Marketplace/src_app_menu_menu_module_ts.js +0 -38973
  60. package/Marketplace/src_app_menu_menu_module_ts.js.map +0 -1
  61. package/Marketplace/src_app_menu_notification_notification_module_ts.js +0 -192
  62. package/Marketplace/src_app_menu_notification_notification_module_ts.js.map +0 -1
  63. package/Marketplace/src_app_menu_object-log_logs_module_ts.js +0 -1997
  64. package/Marketplace/src_app_menu_object-log_logs_module_ts.js.map +0 -1
  65. package/Marketplace/src_app_menu_orders_orders_module_ts.js +0 -2449
  66. package/Marketplace/src_app_menu_orders_orders_module_ts.js.map +0 -1
  67. package/Marketplace/src_app_menu_price_price_module_ts.js +0 -1713
  68. package/Marketplace/src_app_menu_price_price_module_ts.js.map +0 -1
  69. package/Marketplace/src_app_menu_products_product_module_ts.js +0 -2196
  70. package/Marketplace/src_app_menu_products_product_module_ts.js.map +0 -1
  71. package/Marketplace/styles.css +0 -30612
  72. package/Marketplace/styles.css.map +0 -1
  73. package/Marketplace/vendor.js +0 -71753
  74. package/Marketplace/vendor.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-node_modules_ng-select_ng-select_fesm2020_ng-select-ng-select_mjs.js","mappings":"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","sources":["./node_modules/@ng-select/ng-select/fesm2020/ng-select-ng-select.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Directive, Input, Injectable, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, Output, ViewChild, InjectionToken, forwardRef, TemplateRef, Attribute, HostBinding, ContentChild, ContentChildren, HostListener, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { takeUntil, auditTime, startWith, tap, debounceTime, filter, map } from 'rxjs/operators';\nimport { animationFrameScheduler, asapScheduler, Subject, fromEvent, merge } from 'rxjs';\nimport * as i3 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\n\nconst unescapedHTMLExp = /[&<>\"']/g;\nconst hasUnescapedHTMLExp = RegExp(unescapedHTMLExp.source);\nconst htmlEscapes = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n '\\'': '&#39;'\n};\nfunction escapeHTML(value) {\n return (value && hasUnescapedHTMLExp.test(value)) ?\n value.replace(unescapedHTMLExp, chr => htmlEscapes[chr]) :\n value;\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isObject(value) {\n return typeof value === 'object' && isDefined(value);\n}\nfunction isPromise(value) {\n return value instanceof Promise;\n}\nfunction isFunction(value) {\n return value instanceof Function;\n}\n\nclass NgItemLabelDirective {\n constructor(element) {\n this.element = element;\n this.escape = true;\n }\n ngOnChanges(changes) {\n this.element.nativeElement.innerHTML = this.escape ?\n escapeHTML(this.ngItemLabel) :\n this.ngItemLabel;\n }\n}\nNgItemLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgItemLabelDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgItemLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgItemLabelDirective, selector: \"[ngItemLabel]\", inputs: { ngItemLabel: \"ngItemLabel\", escape: \"escape\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgItemLabelDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ngItemLabel]' }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { ngItemLabel: [{\n type: Input\n }], escape: [{\n type: Input\n }] } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgOptionTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgOptionTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgOptionTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgOptionTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgOptionTemplateDirective, selector: \"[ng-option-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgOptionTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-option-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgOptgroupTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgOptgroupTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgOptgroupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgOptgroupTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgOptgroupTemplateDirective, selector: \"[ng-optgroup-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgOptgroupTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-optgroup-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLabelTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLabelTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgLabelTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLabelTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgLabelTemplateDirective, selector: \"[ng-label-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgLabelTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-label-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgMultiLabelTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgMultiLabelTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgMultiLabelTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgMultiLabelTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgMultiLabelTemplateDirective, selector: \"[ng-multi-label-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgMultiLabelTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-multi-label-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgHeaderTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgHeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgHeaderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgHeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgHeaderTemplateDirective, selector: \"[ng-header-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgHeaderTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-header-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgFooterTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgFooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgFooterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgFooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgFooterTemplateDirective, selector: \"[ng-footer-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgFooterTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-footer-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgNotFoundTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgNotFoundTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgNotFoundTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgNotFoundTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgNotFoundTemplateDirective, selector: \"[ng-notfound-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgNotFoundTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-notfound-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgTypeToSearchTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgTypeToSearchTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgTypeToSearchTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTypeToSearchTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgTypeToSearchTemplateDirective, selector: \"[ng-typetosearch-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgTypeToSearchTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-typetosearch-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLoadingTextTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLoadingTextTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgLoadingTextTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLoadingTextTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgLoadingTextTemplateDirective, selector: \"[ng-loadingtext-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgLoadingTextTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-loadingtext-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgTagTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgTagTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgTagTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTagTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgTagTemplateDirective, selector: \"[ng-tag-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgTagTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-tag-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLoadingSpinnerTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLoadingSpinnerTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgLoadingSpinnerTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLoadingSpinnerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgLoadingSpinnerTemplateDirective, selector: \"[ng-loadingspinner-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgLoadingSpinnerTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-loadingspinner-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\nfunction 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, () => {\n // eslint-disable-next-line no-bitwise\n const val = Math.random() * 16 | 0;\n return val.toString(16);\n });\n}\n\nconst 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};\nfunction stripSpecialChars(text) {\n const match = (a) => diacritics[a] || a;\n return text.replace(/[^\\u0000-\\u007E]/g, match);\n}\n\nclass ItemsList {\n constructor(_ngSelect, _selectionModel) {\n this._ngSelect = _ngSelect;\n this._selectionModel = _selectionModel;\n this._items = [];\n this._filteredItems = [];\n this._markedIndex = -1;\n }\n get items() {\n return this._items;\n }\n get filteredItems() {\n return this._filteredItems;\n }\n get markedIndex() {\n return this._markedIndex;\n }\n get selectedItems() {\n return this._selectionModel.value;\n }\n get markedItem() {\n return this._filteredItems[this._markedIndex];\n }\n get noItemsToSelect() {\n return this._ngSelect.hideSelected && this._items.length === this.selectedItems.length;\n }\n get maxItemsSelected() {\n return this._ngSelect.multiple && this._ngSelect.maxSelectedItems <= this.selectedItems.length;\n }\n get lastSelectedItem() {\n let i = this.selectedItems.length - 1;\n for (; i >= 0; i--) {\n const item = this.selectedItems[i];\n if (!item.disabled) {\n return item;\n }\n }\n return null;\n }\n setItems(items) {\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 }\n else {\n this._groups = new Map();\n this._groups.set(undefined, this._items);\n }\n this._filteredItems = [...this._items];\n }\n select(item) {\n if (item.selected || this.maxItemsSelected) {\n return;\n }\n const multiple = this._ngSelect.multiple;\n if (!multiple) {\n this.clearSelected();\n }\n this._selectionModel.select(item, multiple, this._ngSelect.selectableGroupAsModel);\n if (this._ngSelect.hideSelected) {\n this._hideSelected(item);\n }\n }\n unselect(item) {\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 findItem(value) {\n let findBy;\n if (this._ngSelect.compareWith) {\n findBy = item => this._ngSelect.compareWith(item.value, value);\n }\n else if (this._ngSelect.bindValue) {\n findBy = item => !item.children && this.resolveNested(item.value, this._ngSelect.bindValue) === value;\n }\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 addItem(item) {\n const option = this.mapItem(item, this._items.length);\n this._items.push(option);\n this._filteredItems.push(option);\n return option;\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 findByLabel(term) {\n term = stripSpecialChars(term).toLocaleLowerCase();\n return this.filteredItems.find(item => {\n const label = stripSpecialChars(item.label).toLocaleLowerCase();\n return label.substr(0, term.length) === term;\n });\n }\n filter(term) {\n if (!term) {\n this.resetFilteredItems();\n return;\n }\n this._filteredItems = [];\n term = this._ngSelect.searchFn ? term : stripSpecialChars(term).toLocaleLowerCase();\n const match = this._ngSelect.searchFn || this._defaultSearchFn;\n const hideSelected = this._ngSelect.hideSelected;\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 resetFilteredItems() {\n if (this._filteredItems.length === this._items.length) {\n return;\n }\n if (this._ngSelect.hideSelected && this.selectedItems.length > 0) {\n this._filteredItems = this._items.filter(x => !x.selected);\n }\n else {\n this._filteredItems = this._items;\n }\n }\n unmarkItem() {\n this._markedIndex = -1;\n }\n markNextItem() {\n this._stepToItem(+1);\n }\n markPreviousItem() {\n this._stepToItem(-1);\n }\n markItem(item) {\n this._markedIndex = this._filteredItems.indexOf(item);\n }\n markSelectedOrDefault(markDefault) {\n if (this._filteredItems.length === 0) {\n return;\n }\n const lastMarkedIndex = this._getLastMarkedIndex();\n if (lastMarkedIndex > -1) {\n this._markedIndex = lastMarkedIndex;\n }\n else {\n this._markedIndex = markDefault ? this.filteredItems.findIndex(x => !x.disabled) : -1;\n }\n }\n resolveNested(option, key) {\n if (!isObject(option)) {\n return option;\n }\n if (key.indexOf('.') === -1) {\n return option[key];\n }\n else {\n const keys = 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 mapItem(item, index) {\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,\n label: isDefined(label) ? label.toString() : '',\n value,\n disabled: item.disabled,\n htmlId: `${this._ngSelect.dropdownId}-${index}`,\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 if (this._ngSelect.hideSelected) {\n this._filteredItems = this.filteredItems.filter(x => this.selectedItems.indexOf(x) === -1);\n }\n }\n _showSelected(item) {\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 }\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 _hideSelected(item) {\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 }\n else if (item.children) {\n this._filteredItems = this.filteredItems.filter(x => x.parent !== item);\n }\n }\n _defaultSearchFn(search, opt) {\n const label = stripSpecialChars(opt.label).toLocaleLowerCase();\n return label.indexOf(search) > -1;\n }\n _getNextItemIndex(steps) {\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 _stepToItem(steps) {\n if (this._filteredItems.length === 0 || this._filteredItems.every(x => x.disabled)) {\n return;\n }\n this._markedIndex = this._getNextItemIndex(steps);\n if (this.markedItem.disabled) {\n this._stepToItem(steps);\n }\n }\n _getLastMarkedIndex() {\n if (this._ngSelect.hideSelected) {\n return -1;\n }\n if (this._markedIndex > -1 && this.markedItem === undefined) {\n return -1;\n }\n const selectedIndex = this._filteredItems.indexOf(this.lastSelectedItem);\n if (this.lastSelectedItem && selectedIndex < 0) {\n return -1;\n }\n return Math.max(this.markedIndex, selectedIndex);\n }\n _groupBy(items, prop) {\n const groups = new Map();\n if (items.length === 0) {\n return groups;\n }\n // Check if items are already grouped by given key.\n if (Array.isArray(items[0].value[prop])) {\n for (const item of items) {\n const children = (item.value[prop] || []).map((x, index) => this.mapItem(x, index));\n groups.set(item, children);\n }\n return groups;\n }\n const isFnKey = isFunction(this._ngSelect.groupBy);\n const keyFn = (item) => {\n const key = isFnKey ? prop(item.value) : item.value[prop];\n return isDefined(key) ? key : undefined;\n };\n // Group items by key.\n for (const item of items) {\n const key = keyFn(item);\n const group = groups.get(key);\n if (group) {\n group.push(item);\n }\n else {\n groups.set(key, [item]);\n }\n }\n return groups;\n }\n _flatten(groups) {\n const isGroupByFn = isFunction(this._ngSelect.groupBy);\n const items = [];\n for (const key of Array.from(groups.keys())) {\n let i = items.length;\n if (key === undefined) {\n const withoutGroup = groups.get(undefined) || [];\n items.push(...withoutGroup.map(x => {\n x.index = i++;\n return x;\n }));\n continue;\n }\n const isObjectKey = isObject(key);\n const parent = {\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 : this._ngSelect.groupBy;\n const groupValue = this._ngSelect.groupValue || (() => {\n if (isObjectKey) {\n return 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\nvar KeyCode;\n(function (KeyCode) {\n KeyCode[KeyCode[\"Tab\"] = 9] = \"Tab\";\n KeyCode[KeyCode[\"Enter\"] = 13] = \"Enter\";\n KeyCode[KeyCode[\"Esc\"] = 27] = \"Esc\";\n KeyCode[KeyCode[\"Space\"] = 32] = \"Space\";\n KeyCode[KeyCode[\"ArrowUp\"] = 38] = \"ArrowUp\";\n KeyCode[KeyCode[\"ArrowDown\"] = 40] = \"ArrowDown\";\n KeyCode[KeyCode[\"Backspace\"] = 8] = \"Backspace\";\n})(KeyCode || (KeyCode = {}));\n\nclass NgDropdownPanelService {\n constructor() {\n this._dimensions = {\n itemHeight: 0,\n panelHeight: 0,\n itemsPerViewport: 0\n };\n }\n get dimensions() {\n return this._dimensions;\n }\n calculateItems(scrollPos, itemsLength, buffer) {\n const d = this._dimensions;\n const scrollHeight = d.itemHeight * itemsLength;\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 const maxStartEnd = end;\n const maxStart = Math.max(0, maxStartEnd - d.itemsPerViewport);\n let start = Math.min(maxStart, Math.floor(indexByScrollTop));\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 return {\n topPadding,\n scrollHeight,\n start,\n end\n };\n }\n setDimensions(itemHeight, panelHeight) {\n const itemsPerViewport = Math.max(1, Math.floor(panelHeight / itemHeight));\n this._dimensions = {\n itemHeight,\n panelHeight,\n itemsPerViewport\n };\n }\n getScrollTo(itemTop, itemHeight, lastScroll) {\n const { panelHeight } = this.dimensions;\n const itemBottom = itemTop + itemHeight;\n const top = lastScroll;\n const bottom = top + panelHeight;\n if (panelHeight >= itemBottom && lastScroll === itemTop) {\n return null;\n }\n if (itemBottom > bottom) {\n return top + itemBottom - bottom;\n }\n else if (itemTop <= top) {\n return itemTop;\n }\n return null;\n }\n}\nNgDropdownPanelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgDropdownPanelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgDropdownPanelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgDropdownPanelService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgDropdownPanelService, decorators: [{\n type: Injectable\n }] });\n\nconst CSS_POSITIONS = ['top', 'right', 'bottom', 'left'];\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\nclass NgDropdownPanelComponent {\n constructor(_renderer, _zone, _panelService, _elementRef, _document) {\n this._renderer = _renderer;\n this._zone = _zone;\n this._panelService = _panelService;\n this._document = _document;\n this.items = [];\n this.position = 'auto';\n this.virtualScroll = false;\n this.filterValue = null;\n this.update = new EventEmitter();\n this.scroll = new EventEmitter();\n this.scrollToEnd = new EventEmitter();\n this.outsideClick = new EventEmitter();\n this._destroy$ = new Subject();\n this._scrollToEndFired = false;\n this._updateScrollHeight = false;\n this._lastScrollPosition = 0;\n this._dropdown = _elementRef.nativeElement;\n }\n get currentPosition() {\n return this._currentPosition;\n }\n get itemsLength() {\n return this._itemsLength;\n }\n set itemsLength(value) {\n if (value !== this._itemsLength) {\n this._itemsLength = value;\n this._onItemsLengthChanged();\n }\n }\n get _startOffset() {\n if (this.markedItem) {\n const { itemHeight, panelHeight } = this._panelService.dimensions;\n const offset = this.markedItem.index * itemHeight;\n return panelHeight > offset ? 0 : offset;\n }\n return 0;\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 this._setupMousedownListener();\n }\n ngOnChanges(changes) {\n if (changes.items) {\n const change = changes.items;\n this._onItemsChange(change.currentValue, change.firstChange);\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 scrollTo(option, startFromOption = false) {\n if (!option) {\n return;\n }\n const index = this.items.indexOf(option);\n if (index < 0 || index >= this.itemsLength) {\n return;\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 }\n else {\n const item = 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 if (isDefined(scrollTo)) {\n this._scrollablePanel.scrollTop = scrollTo;\n }\n }\n scrollToTag() {\n const panel = this._scrollablePanel;\n panel.scrollTop = panel.scrollHeight - panel.clientHeight;\n }\n adjustPosition() {\n this._updateYPosition();\n }\n _handleDropdownPosition() {\n this._currentPosition = this._calculateCurrentPosition(this._dropdown);\n if (CSS_POSITIONS.includes(this._currentPosition)) {\n this._updateDropdownClass(this._currentPosition);\n }\n else {\n this._updateDropdownClass('bottom');\n }\n if (this.appendTo) {\n this._updateYPosition();\n }\n this._dropdown.style.opacity = '1';\n }\n _updateDropdownClass(currentPosition) {\n CSS_POSITIONS.forEach((position) => {\n const REMOVE_CSS_CLASS = `ng-select-${position}`;\n this._renderer.removeClass(this._dropdown, REMOVE_CSS_CLASS);\n this._renderer.removeClass(this._select, REMOVE_CSS_CLASS);\n });\n const ADD_CSS_CLASS = `ng-select-${currentPosition}`;\n this._renderer.addClass(this._dropdown, ADD_CSS_CLASS);\n this._renderer.addClass(this._select, ADD_CSS_CLASS);\n }\n _handleScroll() {\n this._zone.runOutsideAngular(() => {\n fromEvent(this.scrollElementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroy$), auditTime(0, SCROLL_SCHEDULER))\n .subscribe((e) => {\n const path = e.path || (e.composedPath && e.composedPath());\n const scrollTop = !path || path.length === 0 ? e.target.scrollTop : path[0].scrollTop;\n this._onContentScrolled(scrollTop);\n });\n });\n }\n _handleOutsideClick() {\n if (!this._document) {\n return;\n }\n this._zone.runOutsideAngular(() => {\n merge(fromEvent(this._document, 'touchstart', { capture: true }), fromEvent(this._document, 'mousedown', { capture: true })).pipe(takeUntil(this._destroy$))\n .subscribe($event => this._checkToClose($event));\n });\n }\n _checkToClose($event) {\n if (this._select.contains($event.target) || this._dropdown.contains($event.target)) {\n return;\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 this._zone.run(() => this.outsideClick.emit());\n }\n _onItemsChange(items, firstChange) {\n this.items = items || [];\n this._scrollToEndFired = false;\n this.itemsLength = items.length;\n if (this.virtualScroll) {\n this._updateItemsRange(firstChange);\n }\n else {\n this._setVirtualHeight();\n this._updateItems(firstChange);\n }\n }\n _updateItems(firstChange) {\n this.update.emit(this.items);\n if (firstChange === false) {\n return;\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 _updateItemsRange(firstChange) {\n this._zone.runOutsideAngular(() => {\n this._measureDimensions().then(() => {\n if (firstChange) {\n this._renderItemsRange(this._startOffset);\n this._handleDropdownPosition();\n }\n else {\n this._renderItemsRange();\n }\n });\n });\n }\n _onContentScrolled(scrollTop) {\n if (this.virtualScroll) {\n this._renderItemsRange(scrollTop);\n }\n this._lastScrollPosition = scrollTop;\n this._fireScrollToEnd(scrollTop);\n }\n _updateVirtualHeight(height) {\n if (this._updateScrollHeight) {\n this._virtualPadding.style.height = `${height}px`;\n this._updateScrollHeight = false;\n }\n }\n _setVirtualHeight() {\n if (!this._virtualPadding) {\n return;\n }\n this._virtualPadding.style.height = `0px`;\n }\n _onItemsLengthChanged() {\n this._updateScrollHeight = true;\n }\n _renderItemsRange(scrollTop = null) {\n if (scrollTop && this._lastScrollPosition === scrollTop) {\n return;\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 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 if (isDefined(scrollTop) && this._lastScrollPosition === 0) {\n this._scrollablePanel.scrollTop = scrollTop;\n this._lastScrollPosition = scrollTop;\n }\n }\n _measureDimensions() {\n if (this._panelService.dimensions.itemHeight > 0 || this.itemsLength === 0) {\n return Promise.resolve(this._panelService.dimensions);\n }\n const [first] = this.items;\n this.update.emit([first]);\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 return this._panelService.dimensions;\n });\n }\n _fireScrollToEnd(scrollTop) {\n if (this._scrollToEndFired || scrollTop === 0) {\n return;\n }\n const padding = this.virtualScroll ?\n this._virtualPadding :\n this._contentPanel;\n if (scrollTop + this._dropdown.clientHeight >= padding.clientHeight - 1) {\n this._zone.run(() => this.scrollToEnd.emit());\n this._scrollToEndFired = true;\n }\n }\n _calculateCurrentPosition(dropdownEl) {\n if (this.position !== 'auto') {\n return this.position;\n }\n const selectRect = 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 }\n else {\n return 'bottom';\n }\n }\n _appendDropdown() {\n if (!this.appendTo) {\n return;\n }\n this._parent = document.querySelector(this.appendTo);\n if (!this._parent) {\n throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);\n }\n this._updateXPosition();\n this._parent.appendChild(this._dropdown);\n }\n _updateXPosition() {\n const select = this._select.getBoundingClientRect();\n const parent = this._parent.getBoundingClientRect();\n const offsetLeft = select.left - parent.left;\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 _updateYPosition() {\n const select = this._select.getBoundingClientRect();\n const parent = this._parent.getBoundingClientRect();\n const delta = select.height;\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 }\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 _setupMousedownListener() {\n this._zone.runOutsideAngular(() => {\n fromEvent(this._dropdown, 'mousedown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n const target = event.target;\n if (target.tagName === 'INPUT') {\n return;\n }\n event.preventDefault();\n });\n });\n }\n}\nNgDropdownPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgDropdownPanelComponent, deps: [{ token: i0.Renderer2 }, { token: i0.NgZone }, { token: NgDropdownPanelService }, { token: i0.ElementRef }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nNgDropdownPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgDropdownPanelComponent, selector: \"ng-dropdown-panel\", inputs: { items: \"items\", markedItem: \"markedItem\", position: \"position\", appendTo: \"appendTo\", bufferAmount: \"bufferAmount\", virtualScroll: \"virtualScroll\", headerTemplate: \"headerTemplate\", footerTemplate: \"footerTemplate\", filterValue: \"filterValue\" }, outputs: { update: \"update\", scroll: \"scroll\", scrollToEnd: \"scrollToEnd\", outsideClick: \"outsideClick\" }, viewQueries: [{ propertyName: \"contentElementRef\", first: true, predicate: [\"content\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"scrollElementRef\", first: true, predicate: [\"scroll\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"paddingElementRef\", first: true, predicate: [\"padding\"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, 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 `, isInline: true, dependencies: [{ kind: \"directive\", type: i3.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: i3.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgDropdownPanelComponent, decorators: [{\n type: Component,\n args: [{\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 }]\n }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.NgZone }, { type: NgDropdownPanelService }, { type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { items: [{\n type: Input\n }], markedItem: [{\n type: Input\n }], position: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], bufferAmount: [{\n type: Input\n }], virtualScroll: [{\n type: Input\n }], headerTemplate: [{\n type: Input\n }], footerTemplate: [{\n type: Input\n }], filterValue: [{\n type: Input\n }], update: [{\n type: Output\n }], scroll: [{\n type: Output\n }], scrollToEnd: [{\n type: Output\n }], outsideClick: [{\n type: Output\n }], contentElementRef: [{\n type: ViewChild,\n args: ['content', { read: ElementRef, static: true }]\n }], scrollElementRef: [{\n type: ViewChild,\n args: ['scroll', { read: ElementRef, static: true }]\n }], paddingElementRef: [{\n type: ViewChild,\n args: ['padding', { read: ElementRef, static: true }]\n }] } });\n\nclass NgOptionComponent {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.stateChange$ = new Subject();\n this._disabled = false;\n }\n get disabled() { return this._disabled; }\n set disabled(value) { this._disabled = this._isDisabled(value); }\n get label() {\n return (this.elementRef.nativeElement.textContent || '').trim();\n }\n ngOnChanges(changes) {\n if (changes.disabled) {\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled\n });\n }\n }\n ngAfterViewChecked() {\n if (this.label !== this._previousLabel) {\n this._previousLabel = this.label;\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled,\n label: this.elementRef.nativeElement.innerHTML\n });\n }\n }\n ngOnDestroy() {\n this.stateChange$.complete();\n }\n _isDisabled(value) {\n return value != null && `${value}` !== 'false';\n }\n}\nNgOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgOptionComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });\nNgOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgOptionComponent, selector: \"ng-option\", inputs: { value: \"value\", disabled: \"disabled\" }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgOptionComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'ng-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content></ng-content>`\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { value: [{\n type: Input\n }], disabled: [{\n type: Input\n }] } });\n\nclass NgSelectConfig {\n constructor() {\n this.notFoundText = 'No items found';\n this.typeToSearchText = 'Type to search';\n this.addTagText = 'Add item';\n this.loadingText = 'Loading...';\n this.clearAllText = 'Clear all';\n this.disableVirtualScroll = true;\n this.openOnEnter = true;\n this.appearance = 'underline';\n }\n}\nNgSelectConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgSelectConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectConfig, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectConfig, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\nclass ConsoleService {\n warn(message) {\n console.warn(message);\n }\n}\nConsoleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: ConsoleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nConsoleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: ConsoleService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: ConsoleService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\nconst SELECTION_MODEL_FACTORY = new InjectionToken('ng-select-selection-model');\nclass NgSelectComponent {\n constructor(classes, autoFocus, config, newSelectionModel, _elementRef, _cd, _console) {\n this.classes = classes;\n this.autoFocus = autoFocus;\n this.config = config;\n this._cd = _cd;\n this._console = _console;\n this.markFirst = true;\n this.dropdownPosition = 'auto';\n this.loading = false;\n this.closeOnSelect = true;\n this.hideSelected = false;\n this.selectOnTab = false;\n this.bufferAmount = 4;\n this.selectableGroup = false;\n this.selectableGroupAsModel = true;\n this.searchFn = null;\n this.trackByFn = null;\n this.clearOnBackspace = true;\n this.labelForId = null;\n this.inputAttrs = {};\n this.readonly = false;\n this.searchWhileComposing = true;\n this.minTermLength = 0;\n this.editableSearchTerm = false;\n this.keyDownFn = (_) => true;\n this.multiple = false;\n this.addTag = false;\n this.searchable = true;\n this.clearable = true;\n this.isOpen = false;\n // output events\n this.blurEvent = new EventEmitter();\n this.focusEvent = new EventEmitter();\n this.changeEvent = new EventEmitter();\n this.openEvent = new EventEmitter();\n this.closeEvent = new EventEmitter();\n this.searchEvent = new EventEmitter();\n this.clearEvent = new EventEmitter();\n this.addEvent = new EventEmitter();\n this.removeEvent = new EventEmitter();\n this.scroll = new EventEmitter();\n this.scrollToEnd = new EventEmitter();\n this.useDefaultClass = true;\n this.viewPortItems = [];\n this.searchTerm = null;\n this.dropdownId = newId();\n this.escapeHTML = true;\n this._items = [];\n this._defaultLabel = 'label';\n this._pressedKeys = [];\n this._isComposing = false;\n this._destroy$ = new Subject();\n this._keyPress$ = new Subject();\n this._onChange = (_) => { };\n this._onTouched = () => { };\n this.clearItem = (item) => {\n const option = this.selectedItems.find(x => x.value === item);\n this.unselect(option);\n };\n this.trackByOption = (_, item) => {\n if (this.trackByFn) {\n return this.trackByFn(item.value);\n }\n return item;\n };\n this._mergeGlobalConfig(config);\n this.itemsList = new ItemsList(this, newSelectionModel());\n this.element = _elementRef.nativeElement;\n }\n get items() { return this._items; }\n ;\n set items(value) {\n if (value === null) {\n value = [];\n }\n this._itemsAreUsed = true;\n this._items = value;\n }\n ;\n get compareWith() { return this._compareWith; }\n set compareWith(fn) {\n if (fn !== undefined && fn !== null && !isFunction(fn)) {\n throw Error('`compareWith` must be a function.');\n }\n this._compareWith = fn;\n }\n get clearSearchOnAdd() {\n if (isDefined(this._clearSearchOnAdd)) {\n return this._clearSearchOnAdd;\n }\n else if (isDefined(this.config.clearSearchOnAdd)) {\n return this.config.clearSearchOnAdd;\n }\n return this.closeOnSelect;\n }\n ;\n set clearSearchOnAdd(value) {\n this._clearSearchOnAdd = value;\n }\n ;\n get disabled() { return this.readonly || this._disabled; }\n ;\n get filtered() { return (!!this.searchTerm && this.searchable || this._isComposing); }\n ;\n get single() { return !this.multiple; }\n ;\n get _editableSearchTerm() {\n return this.editableSearchTerm && !this.multiple;\n }\n get selectedItems() {\n return this.itemsList.selectedItems;\n }\n get selectedValues() {\n return this.selectedItems.map(x => x.value);\n }\n get hasValue() {\n return this.selectedItems.length > 0;\n }\n get currentPanelPosition() {\n if (this.dropdownPanel) {\n return this.dropdownPanel.currentPosition;\n }\n return undefined;\n }\n ngOnInit() {\n this._handleKeyPresses();\n this._setInputAttributes();\n }\n ngOnChanges(changes) {\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 ngAfterViewInit() {\n if (!this._itemsAreUsed) {\n this.escapeHTML = false;\n this._setItemsFromNgOptions();\n }\n if (isDefined(this.autoFocus)) {\n this.focus();\n }\n }\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n handleKeyDown($event) {\n const keyCode = KeyCode[$event.which];\n if (keyCode) {\n if (this.keyDownFn($event) === false) {\n return;\n }\n this.handleKeyCode($event);\n }\n else if ($event.key && $event.key.length === 1) {\n this._keyPress$.next($event.key.toLocaleLowerCase());\n }\n }\n handleKeyCode($event) {\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 }\n handleMousedown($event) {\n const target = $event.target;\n if (target.tagName !== 'INPUT') {\n $event.preventDefault();\n }\n if (target.classList.contains('ng-clear-wrapper')) {\n this.handleClearClick();\n return;\n }\n if (target.classList.contains('ng-arrow-wrapper')) {\n this.handleArrowClick();\n return;\n }\n if (target.classList.contains('ng-value-icon')) {\n return;\n }\n if (!this.focused) {\n this.focus();\n }\n if (this.searchable) {\n this.open();\n }\n else {\n this.toggle();\n }\n }\n handleArrowClick() {\n if (this.isOpen) {\n this.close();\n }\n else {\n this.open();\n }\n }\n handleClearClick() {\n if (this.hasValue) {\n this.itemsList.clearSelected(true);\n this._updateNgModel();\n }\n this._clearSearch();\n this.focus();\n this.clearEvent.emit();\n this._onSelectionChanged();\n }\n clearModel() {\n if (!this.clearable) {\n return;\n }\n this.itemsList.clearSelected();\n this._updateNgModel();\n }\n writeValue(value) {\n this.itemsList.clearSelected();\n this._handleWriteValue(value);\n this._cd.markForCheck();\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(state) {\n this._disabled = state;\n this._cd.markForCheck();\n }\n toggle() {\n if (!this.isOpen) {\n this.open();\n }\n else {\n this.close();\n }\n }\n open() {\n if (this.disabled || this.isOpen || this._manualOpen) {\n return;\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.searchTerm) {\n this.focus();\n }\n this.detectChanges();\n }\n close() {\n if (!this.isOpen || this._manualOpen) {\n return;\n }\n this.isOpen = false;\n this._isComposing = false;\n if (!this._editableSearchTerm) {\n this._clearSearch();\n }\n else {\n this.itemsList.resetFilteredItems();\n }\n this.itemsList.unmarkItem();\n this._onTouched();\n this.closeEvent.emit();\n this._cd.markForCheck();\n }\n toggleItem(item) {\n if (!item || item.disabled || this.disabled) {\n return;\n }\n if (this.multiple && item.selected) {\n this.unselect(item);\n }\n else {\n this.select(item);\n }\n if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this._onSelectionChanged();\n }\n select(item) {\n if (!item.selected) {\n this.itemsList.select(item);\n if (this.clearSearchOnAdd && !this._editableSearchTerm) {\n this._clearSearch();\n }\n this._updateNgModel();\n if (this.multiple) {\n this.addEvent.emit(item.value);\n }\n }\n if (this.closeOnSelect || this.itemsList.noItemsToSelect) {\n this.close();\n }\n }\n focus() {\n this.searchInput.nativeElement.focus();\n }\n blur() {\n this.searchInput.nativeElement.blur();\n }\n unselect(item) {\n if (!item) {\n return;\n }\n this.itemsList.unselect(item);\n this.focus();\n this._updateNgModel();\n this.removeEvent.emit(item);\n }\n selectTag() {\n let tag;\n if (isFunction(this.addTag)) {\n tag = this.addTag(this.searchTerm);\n }\n else {\n tag = this._primitive ? this.searchTerm : { [this.bindLabel]: this.searchTerm };\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 }\n else if (tag) {\n this.select(handleTag(tag));\n }\n }\n showClear() {\n return this.clearable && (this.hasValue || this.searchTerm) && !this.disabled;\n }\n get showAddTag() {\n if (!this._validTerm) {\n return false;\n }\n const term = this.searchTerm.toLowerCase().trim();\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 showNoItemsFound() {\n const empty = this.itemsList.filteredItems.length === 0;\n return ((empty && !this._isTypeahead && !this.loading) ||\n (empty && this._isTypeahead && this._validTerm && !this.loading)) &&\n !this.showAddTag;\n }\n showTypeToSearch() {\n const empty = this.itemsList.filteredItems.length === 0;\n return empty && this._isTypeahead && !this._validTerm && !this.loading;\n }\n onCompositionStart() {\n this._isComposing = true;\n }\n onCompositionEnd(term) {\n this._isComposing = false;\n if (this.searchWhileComposing) {\n return;\n }\n this.filter(term);\n }\n filter(term) {\n if (this._isComposing && !this.searchWhileComposing) {\n return;\n }\n this.searchTerm = term;\n if (this._isTypeahead && (this._validTerm || this.minTermLength === 0)) {\n this.typeahead.next(term);\n }\n if (!this._isTypeahead) {\n this.itemsList.filter(this.searchTerm);\n if (this.isOpen) {\n this.itemsList.markSelectedOrDefault(this.markFirst);\n }\n }\n this.searchEvent.emit({ term, items: this.itemsList.filteredItems.map(x => x.value) });\n this.open();\n }\n onInputFocus($event) {\n if (this.focused) {\n return;\n }\n if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this.element.classList.add('ng-select-focused');\n this.focusEvent.emit($event);\n this.focused = true;\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 if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this.focused = false;\n }\n onItemHover(item) {\n if (item.disabled) {\n return;\n }\n this.itemsList.markItem(item);\n }\n detectChanges() {\n if (!this._cd.destroyed) {\n this._cd.detectChanges();\n }\n }\n _setSearchTermFromItems() {\n const selected = this.selectedItems && this.selectedItems[0];\n this.searchTerm = (selected && selected.label) || null;\n }\n _setItems(items) {\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.searchTerm) && !this._isTypeahead) {\n this.itemsList.filter(this.searchTerm);\n }\n if (this._isTypeahead || this.isOpen) {\n this.itemsList.markSelectedOrDefault(this.markFirst);\n }\n }\n _setItemsFromNgOptions() {\n const mapNgOptions = (options) => {\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 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 item.label = option.label || item.label;\n this._cd.detectChanges();\n });\n };\n this.ngOptions.changes\n .pipe(startWith(this.ngOptions), takeUntil(this._destroy$))\n .subscribe(options => {\n this.bindLabel = this._defaultLabel;\n mapNgOptions(options);\n handleOptionChange();\n });\n }\n _isValidWriteValue(value) {\n if (!isDefined(value) || (this.multiple && value === '') || Array.isArray(value) && value.length === 0) {\n return false;\n }\n const validateBinding = (item) => {\n if (!isDefined(this.compareWith) && isObject(item) && this.bindValue) {\n this._console.warn(`Setting object(${JSON.stringify(item)}) as your model with bindValue is not allowed unless [compareWith] is used.`);\n return false;\n }\n return true;\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 }\n else {\n return validateBinding(value);\n }\n }\n _handleWriteValue(ngModel) {\n if (!this._isValidWriteValue(ngModel)) {\n return;\n }\n const select = (val) => {\n let item = this.itemsList.findItem(val);\n if (item) {\n this.itemsList.select(item);\n }\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 }\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 if (this.multiple) {\n ngModel.forEach(item => select(item));\n }\n else {\n select(ngModel);\n }\n }\n _handleKeyPresses() {\n if (this.searchable) {\n return;\n }\n this._keyPress$\n .pipe(takeUntil(this._destroy$), tap(letter => this._pressedKeys.push(letter)), debounceTime(200), filter(() => this._pressedKeys.length > 0), 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._scrollToMarked();\n this._cd.markForCheck();\n }\n else {\n this.select(item);\n }\n }\n this._pressedKeys = [];\n });\n }\n _setInputAttributes() {\n const input = this.searchInput.nativeElement;\n const attributes = {\n type: 'text',\n autocorrect: 'off',\n autocapitalize: 'off',\n autocomplete: this.labelForId ? 'off' : this.dropdownId,\n ...this.inputAttrs\n };\n for (const key of Object.keys(attributes)) {\n input.setAttribute(key, attributes[key]);\n }\n }\n _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 : this.groupBy;\n value = item.value[groupKey || this.groupBy];\n }\n else {\n value = this.itemsList.resolveNested(item.value, this.bindValue);\n }\n model.push(value);\n }\n else {\n model.push(item.value);\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 }\n else {\n this._onChange(isDefined(model[0]) ? model[0] : null);\n this.changeEvent.emit(selected[0]);\n }\n this._cd.markForCheck();\n }\n _clearSearch() {\n if (!this.searchTerm) {\n return;\n }\n this._changeSearch(null);\n this.itemsList.resetFilteredItems();\n }\n _changeSearch(searchTerm) {\n this.searchTerm = searchTerm;\n if (this._isTypeahead) {\n this.typeahead.next(searchTerm);\n }\n }\n _scrollToMarked() {\n if (!this.isOpen || !this.dropdownPanel) {\n return;\n }\n this.dropdownPanel.scrollTo(this.itemsList.markedItem);\n }\n _scrollToTag() {\n if (!this.isOpen || !this.dropdownPanel) {\n return;\n }\n this.dropdownPanel.scrollToTag();\n }\n _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 _handleTab($event) {\n if (this.isOpen === false && !this.addTag) {\n return;\n }\n if (this.selectOnTab) {\n if (this.itemsList.markedItem) {\n this.toggleItem(this.itemsList.markedItem);\n $event.preventDefault();\n }\n else if (this.showAddTag) {\n this.selectTag();\n $event.preventDefault();\n }\n else {\n this.close();\n }\n }\n else {\n this.close();\n }\n }\n _handleEnter($event) {\n if (this.isOpen || this._manualOpen) {\n if (this.itemsList.markedItem) {\n this.toggleItem(this.itemsList.markedItem);\n }\n else if (this.showAddTag) {\n this.selectTag();\n }\n }\n else if (this.openOnEnter) {\n this.open();\n }\n else {\n return;\n }\n $event.preventDefault();\n }\n _handleSpace($event) {\n if (this.isOpen || this._manualOpen) {\n return;\n }\n this.open();\n $event.preventDefault();\n }\n _handleArrowDown($event) {\n if (this._nextItemIsTag(+1)) {\n this.itemsList.unmarkItem();\n this._scrollToTag();\n }\n else {\n this.itemsList.markNextItem();\n this._scrollToMarked();\n }\n this.open();\n $event.preventDefault();\n }\n _handleArrowUp($event) {\n if (!this.isOpen) {\n return;\n }\n if (this._nextItemIsTag(-1)) {\n this.itemsList.unmarkItem();\n this._scrollToTag();\n }\n else {\n this.itemsList.markPreviousItem();\n this._scrollToMarked();\n }\n $event.preventDefault();\n }\n _nextItemIsTag(nextStep) {\n const nextIndex = this.itemsList.markedIndex + nextStep;\n return this.addTag && this.searchTerm\n && this.itemsList.markedItem\n && (nextIndex < 0 || nextIndex === this.itemsList.filteredItems.length);\n }\n _handleBackspace() {\n if (this.searchTerm || !this.clearable || !this.clearOnBackspace || !this.hasValue) {\n return;\n }\n if (this.multiple) {\n this.unselect(this.itemsList.lastSelectedItem);\n }\n else {\n this.clearModel();\n }\n }\n get _isTypeahead() {\n return this.typeahead && this.typeahead.observers.length > 0;\n }\n get _validTerm() {\n const term = this.searchTerm && this.searchTerm.trim();\n return term && term.length >= this.minTermLength;\n }\n _mergeGlobalConfig(config) {\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 this.appendTo = this.appendTo || config.appendTo;\n this.bindValue = this.bindValue || config.bindValue;\n this.bindLabel = this.bindLabel || config.bindLabel;\n this.appearance = this.appearance || config.appearance;\n }\n}\nNgSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectComponent, deps: [{ token: 'class', attribute: true }, { token: 'autofocus', attribute: true }, { token: NgSelectConfig }, { token: SELECTION_MODEL_FACTORY }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: ConsoleService }], target: i0.ɵɵFactoryTarget.Component });\nNgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.0.3\", type: NgSelectComponent, selector: \"ng-select\", inputs: { bindLabel: \"bindLabel\", bindValue: \"bindValue\", markFirst: \"markFirst\", placeholder: \"placeholder\", notFoundText: \"notFoundText\", typeToSearchText: \"typeToSearchText\", addTagText: \"addTagText\", loadingText: \"loadingText\", clearAllText: \"clearAllText\", appearance: \"appearance\", dropdownPosition: \"dropdownPosition\", appendTo: \"appendTo\", loading: \"loading\", closeOnSelect: \"closeOnSelect\", hideSelected: \"hideSelected\", selectOnTab: \"selectOnTab\", openOnEnter: \"openOnEnter\", maxSelectedItems: \"maxSelectedItems\", groupBy: \"groupBy\", groupValue: \"groupValue\", bufferAmount: \"bufferAmount\", virtualScroll: \"virtualScroll\", selectableGroup: \"selectableGroup\", selectableGroupAsModel: \"selectableGroupAsModel\", searchFn: \"searchFn\", trackByFn: \"trackByFn\", clearOnBackspace: \"clearOnBackspace\", labelForId: \"labelForId\", inputAttrs: \"inputAttrs\", tabIndex: \"tabIndex\", readonly: \"readonly\", searchWhileComposing: \"searchWhileComposing\", minTermLength: \"minTermLength\", editableSearchTerm: \"editableSearchTerm\", keyDownFn: \"keyDownFn\", typeahead: \"typeahead\", multiple: \"multiple\", addTag: \"addTag\", searchable: \"searchable\", clearable: \"clearable\", isOpen: \"isOpen\", items: \"items\", compareWith: \"compareWith\", clearSearchOnAdd: \"clearSearchOnAdd\" }, outputs: { blurEvent: \"blur\", focusEvent: \"focus\", changeEvent: \"change\", openEvent: \"open\", closeEvent: \"close\", searchEvent: \"search\", clearEvent: \"clear\", addEvent: \"add\", removeEvent: \"remove\", scroll: \"scroll\", scrollToEnd: \"scrollToEnd\" }, host: { listeners: { \"keydown\": \"handleKeyDown($event)\" }, properties: { \"class.ng-select-typeahead\": \"this.typeahead\", \"class.ng-select-multiple\": \"this.multiple\", \"class.ng-select-taggable\": \"this.addTag\", \"class.ng-select-searchable\": \"this.searchable\", \"class.ng-select-clearable\": \"this.clearable\", \"class.ng-select-opened\": \"this.isOpen\", \"class.ng-select\": \"this.useDefaultClass\", \"class.ng-select-disabled\": \"this.disabled\", \"class.ng-select-filtered\": \"this.filtered\", \"class.ng-select-single\": \"this.single\" } }, providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgSelectComponent),\n multi: true\n }, NgDropdownPanelService], queries: [{ propertyName: \"optionTemplate\", first: true, predicate: NgOptionTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"optgroupTemplate\", first: true, predicate: NgOptgroupTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"labelTemplate\", first: true, predicate: NgLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"multiLabelTemplate\", first: true, predicate: NgMultiLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"headerTemplate\", first: true, predicate: NgHeaderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"footerTemplate\", first: true, predicate: NgFooterTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"notFoundTemplate\", first: true, predicate: NgNotFoundTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"typeToSearchTemplate\", first: true, predicate: NgTypeToSearchTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"loadingTextTemplate\", first: true, predicate: NgLoadingTextTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"tagTemplate\", first: true, predicate: NgTagTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"loadingSpinnerTemplate\", first: true, predicate: NgLoadingSpinnerTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"ngOptions\", predicate: NgOptionComponent, descendants: true }], viewQueries: [{ propertyName: \"dropdownPanel\", first: true, predicate: i0.forwardRef(function () { return NgDropdownPanelComponent; }), descendants: true }, { propertyName: \"searchInput\", first: true, predicate: [\"searchInput\"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: \"<div\\n (mousedown)=\\\"handleMousedown($event)\\\"\\n [class.ng-appearance-outline]=\\\"appearance === 'outline'\\\"\\n [class.ng-has-value]=\\\"hasValue\\\"\\n class=\\\"ng-select-container\\\">\\n\\n <div class=\\\"ng-value-container\\\">\\n <div class=\\\"ng-placeholder\\\">{{placeholder}}</div>\\n\\n <ng-container *ngIf=\\\"(!multiLabelTemplate || !multiple ) && selectedItems.length > 0\\\">\\n <div [class.ng-value-disabled]=\\\"item.disabled\\\" class=\\\"ng-value\\\" *ngFor=\\\"let item of selectedItems; trackBy: trackByOption\\\">\\n <ng-template #defaultLabelTemplate>\\n <span class=\\\"ng-value-icon left\\\" (click)=\\\"unselect(item);\\\" aria-hidden=\\\"true\\\">\\u00D7</span>\\n <span class=\\\"ng-value-label\\\" [ngItemLabel]=\\\"item.label\\\" [escape]=\\\"escapeHTML\\\"></span>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"labelTemplate || defaultLabelTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item.value, clear: clearItem, label: item.label }\\\">\\n </ng-template>\\n </div>\\n </ng-container>\\n\\n <ng-template *ngIf=\\\"multiple && multiLabelTemplate && selectedValues.length > 0\\\"\\n [ngTemplateOutlet]=\\\"multiLabelTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ items: selectedValues, clear: clearItem }\\\">\\n </ng-template>\\n\\n <div class=\\\"ng-input\\\"\\n role=\\\"combobox\\\" \\n [attr.aria-expanded]=\\\"isOpen\\\" \\n [attr.aria-owns]=\\\"isOpen ? dropdownId : null\\\" \\n aria-haspopup=\\\"listbox\\\">\\n\\n <input #searchInput\\n [attr.id]=\\\"labelForId\\\"\\n [attr.tabindex]=\\\"tabIndex\\\"\\n [readOnly]=\\\"!searchable || itemsList.maxItemsSelected\\\"\\n [disabled]=\\\"disabled\\\"\\n [value]=\\\"searchTerm ? searchTerm : ''\\\"\\n (input)=\\\"filter(searchInput.value)\\\"\\n (compositionstart)=\\\"onCompositionStart()\\\"\\n (compositionend)=\\\"onCompositionEnd(searchInput.value)\\\"\\n (focus)=\\\"onInputFocus($event)\\\"\\n (blur)=\\\"onInputBlur($event)\\\"\\n (change)=\\\"$event.stopPropagation()\\\"\\n [attr.aria-activedescendant]=\\\"isOpen ? itemsList?.markedItem?.htmlId : null\\\"\\n aria-autocomplete=\\\"list\\\"\\n [attr.aria-controls]=\\\"isOpen ? dropdownId : null\\\">\\n </div>\\n </div>\\n\\n <ng-container *ngIf=\\\"loading\\\">\\n <ng-template #defaultLoadingSpinnerTemplate>\\n <div class=\\\"ng-spinner-loader\\\"></div>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"loadingSpinnerTemplate || defaultLoadingSpinnerTemplate\\\">\\n </ng-template>\\n </ng-container>\\n\\n <span *ngIf=\\\"showClear()\\\" class=\\\"ng-clear-wrapper\\\" title=\\\"{{clearAllText}}\\\">\\n <span class=\\\"ng-clear\\\" aria-hidden=\\\"true\\\">\\u00D7</span>\\n </span>\\n\\n <span class=\\\"ng-arrow-wrapper\\\">\\n <span class=\\\"ng-arrow\\\"></span>\\n </span>\\n</div>\\n\\n<ng-dropdown-panel *ngIf=\\\"isOpen\\\"\\n class=\\\"ng-dropdown-panel\\\"\\n [virtualScroll]=\\\"virtualScroll\\\"\\n [bufferAmount]=\\\"bufferAmount\\\"\\n [appendTo]=\\\"appendTo\\\"\\n [position]=\\\"dropdownPosition\\\"\\n [headerTemplate]=\\\"headerTemplate\\\"\\n [footerTemplate]=\\\"footerTemplate\\\"\\n [filterValue]=\\\"searchTerm\\\"\\n [items]=\\\"itemsList.filteredItems\\\"\\n [markedItem]=\\\"itemsList.markedItem\\\"\\n (update)=\\\"viewPortItems = $event\\\"\\n (scroll)=\\\"scroll.emit($event)\\\"\\n (scrollToEnd)=\\\"scrollToEnd.emit($event)\\\"\\n (outsideClick)=\\\"close()\\\"\\n [class.ng-select-multiple]=\\\"multiple\\\"\\n [ngClass]=\\\"appendTo ? classes : null\\\"\\n [id]=\\\"dropdownId\\\"\\n role=\\\"listbox\\\"\\n aria-label=\\\"Options list\\\">\\n\\n <ng-container>\\n <div class=\\\"ng-option\\\" [attr.role]=\\\"item.children ? 'group' : 'option'\\\" (click)=\\\"toggleItem(item)\\\" (mouseover)=\\\"onItemHover(item)\\\"\\n *ngFor=\\\"let item of viewPortItems; trackBy: trackByOption\\\"\\n [class.ng-option-disabled]=\\\"item.disabled\\\"\\n [class.ng-option-selected]=\\\"item.selected\\\"\\n [class.ng-optgroup]=\\\"item.children\\\"\\n [class.ng-option]=\\\"!item.children\\\"\\n [class.ng-option-child]=\\\"!!item.parent\\\"\\n [class.ng-option-marked]=\\\"item === itemsList.markedItem\\\"\\n [attr.aria-selected]=\\\"item.selected\\\"\\n [attr.id]=\\\"item?.htmlId\\\">\\n\\n <ng-template #defaultOptionTemplate>\\n <span class=\\\"ng-option-label\\\" [ngItemLabel]=\\\"item.label\\\" [escape]=\\\"escapeHTML\\\"></span>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.children ? (optgroupTemplate || defaultOptionTemplate) : (optionTemplate || defaultOptionTemplate)\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item.value, item$:item, index: item.index, searchTerm: searchTerm }\\\">\\n </ng-template>\\n </div>\\n\\n <div class=\\\"ng-option\\\" [class.ng-option-marked]=\\\"!itemsList.markedItem\\\" (mouseover)=\\\"itemsList.unmarkItem()\\\" role=\\\"option\\\" (click)=\\\"selectTag()\\\" *ngIf=\\\"showAddTag\\\">\\n <ng-template #defaultTagTemplate>\\n <span><span class=\\\"ng-tag-label\\\">{{addTagText}}</span>\\\"{{searchTerm}}\\\"</span>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"tagTemplate || defaultTagTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ searchTerm: searchTerm }\\\">\\n </ng-template>\\n </div>\\n </ng-container>\\n\\n <ng-container *ngIf=\\\"showNoItemsFound()\\\">\\n <ng-template #defaultNotFoundTemplate>\\n <div class=\\\"ng-option ng-option-disabled\\\">{{notFoundText}}</div>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"notFoundTemplate || defaultNotFoundTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ searchTerm: searchTerm }\\\">\\n </ng-template>\\n </ng-container>\\n\\n <ng-container *ngIf=\\\"showTypeToSearch()\\\">\\n <ng-template #defaultTypeToSearchTemplate>\\n <div class=\\\"ng-option ng-option-disabled\\\">{{typeToSearchText}}</div>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"typeToSearchTemplate || defaultTypeToSearchTemplate\\\">\\n </ng-template>\\n </ng-container>\\n\\n <ng-container *ngIf=\\\"loading && itemsList.filteredItems.length === 0\\\">\\n <ng-template #defaultLoadingTextTemplate>\\n <div class=\\\"ng-option ng-option-disabled\\\">{{loadingText}}</div>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"loadingTextTemplate || defaultLoadingTextTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ searchTerm: searchTerm }\\\">\\n </ng-template>\\n </ng-container>\\n\\n</ng-dropdown-panel>\\n\", styles: [\"@charset \\\"UTF-8\\\";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:\\\"\\\\200b\\\"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\\n\"], dependencies: [{ kind: \"directive\", type: i3.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i3.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { kind: \"directive\", type: i3.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: i3.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: NgDropdownPanelComponent, selector: \"ng-dropdown-panel\", inputs: [\"items\", \"markedItem\", \"position\", \"appendTo\", \"bufferAmount\", \"virtualScroll\", \"headerTemplate\", \"footerTemplate\", \"filterValue\"], outputs: [\"update\", \"scroll\", \"scrollToEnd\", \"outsideClick\"] }, { kind: \"directive\", type: NgItemLabelDirective, selector: \"[ngItemLabel]\", inputs: [\"ngItemLabel\", \"escape\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ng-select', providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgSelectComponent),\n multi: true\n }, NgDropdownPanelService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div\\n (mousedown)=\\\"handleMousedown($event)\\\"\\n [class.ng-appearance-outline]=\\\"appearance === 'outline'\\\"\\n [class.ng-has-value]=\\\"hasValue\\\"\\n class=\\\"ng-select-container\\\">\\n\\n <div class=\\\"ng-value-container\\\">\\n <div class=\\\"ng-placeholder\\\">{{placeholder}}</div>\\n\\n <ng-container *ngIf=\\\"(!multiLabelTemplate || !multiple ) && selectedItems.length > 0\\\">\\n <div [class.ng-value-disabled]=\\\"item.disabled\\\" class=\\\"ng-value\\\" *ngFor=\\\"let item of selectedItems; trackBy: trackByOption\\\">\\n <ng-template #defaultLabelTemplate>\\n <span class=\\\"ng-value-icon left\\\" (click)=\\\"unselect(item);\\\" aria-hidden=\\\"true\\\">\\u00D7</span>\\n <span class=\\\"ng-value-label\\\" [ngItemLabel]=\\\"item.label\\\" [escape]=\\\"escapeHTML\\\"></span>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"labelTemplate || defaultLabelTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item.value, clear: clearItem, label: item.label }\\\">\\n </ng-template>\\n </div>\\n </ng-container>\\n\\n <ng-template *ngIf=\\\"multiple && multiLabelTemplate && selectedValues.length > 0\\\"\\n [ngTemplateOutlet]=\\\"multiLabelTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ items: selectedValues, clear: clearItem }\\\">\\n </ng-template>\\n\\n <div class=\\\"ng-input\\\"\\n role=\\\"combobox\\\" \\n [attr.aria-expanded]=\\\"isOpen\\\" \\n [attr.aria-owns]=\\\"isOpen ? dropdownId : null\\\" \\n aria-haspopup=\\\"listbox\\\">\\n\\n <input #searchInput\\n [attr.id]=\\\"labelForId\\\"\\n [attr.tabindex]=\\\"tabIndex\\\"\\n [readOnly]=\\\"!searchable || itemsList.maxItemsSelected\\\"\\n [disabled]=\\\"disabled\\\"\\n [value]=\\\"searchTerm ? searchTerm : ''\\\"\\n (input)=\\\"filter(searchInput.value)\\\"\\n (compositionstart)=\\\"onCompositionStart()\\\"\\n (compositionend)=\\\"onCompositionEnd(searchInput.value)\\\"\\n (focus)=\\\"onInputFocus($event)\\\"\\n (blur)=\\\"onInputBlur($event)\\\"\\n (change)=\\\"$event.stopPropagation()\\\"\\n [attr.aria-activedescendant]=\\\"isOpen ? itemsList?.markedItem?.htmlId : null\\\"\\n aria-autocomplete=\\\"list\\\"\\n [attr.aria-controls]=\\\"isOpen ? dropdownId : null\\\">\\n </div>\\n </div>\\n\\n <ng-container *ngIf=\\\"loading\\\">\\n <ng-template #defaultLoadingSpinnerTemplate>\\n <div class=\\\"ng-spinner-loader\\\"></div>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"loadingSpinnerTemplate || defaultLoadingSpinnerTemplate\\\">\\n </ng-template>\\n </ng-container>\\n\\n <span *ngIf=\\\"showClear()\\\" class=\\\"ng-clear-wrapper\\\" title=\\\"{{clearAllText}}\\\">\\n <span class=\\\"ng-clear\\\" aria-hidden=\\\"true\\\">\\u00D7</span>\\n </span>\\n\\n <span class=\\\"ng-arrow-wrapper\\\">\\n <span class=\\\"ng-arrow\\\"></span>\\n </span>\\n</div>\\n\\n<ng-dropdown-panel *ngIf=\\\"isOpen\\\"\\n class=\\\"ng-dropdown-panel\\\"\\n [virtualScroll]=\\\"virtualScroll\\\"\\n [bufferAmount]=\\\"bufferAmount\\\"\\n [appendTo]=\\\"appendTo\\\"\\n [position]=\\\"dropdownPosition\\\"\\n [headerTemplate]=\\\"headerTemplate\\\"\\n [footerTemplate]=\\\"footerTemplate\\\"\\n [filterValue]=\\\"searchTerm\\\"\\n [items]=\\\"itemsList.filteredItems\\\"\\n [markedItem]=\\\"itemsList.markedItem\\\"\\n (update)=\\\"viewPortItems = $event\\\"\\n (scroll)=\\\"scroll.emit($event)\\\"\\n (scrollToEnd)=\\\"scrollToEnd.emit($event)\\\"\\n (outsideClick)=\\\"close()\\\"\\n [class.ng-select-multiple]=\\\"multiple\\\"\\n [ngClass]=\\\"appendTo ? classes : null\\\"\\n [id]=\\\"dropdownId\\\"\\n role=\\\"listbox\\\"\\n aria-label=\\\"Options list\\\">\\n\\n <ng-container>\\n <div class=\\\"ng-option\\\" [attr.role]=\\\"item.children ? 'group' : 'option'\\\" (click)=\\\"toggleItem(item)\\\" (mouseover)=\\\"onItemHover(item)\\\"\\n *ngFor=\\\"let item of viewPortItems; trackBy: trackByOption\\\"\\n [class.ng-option-disabled]=\\\"item.disabled\\\"\\n [class.ng-option-selected]=\\\"item.selected\\\"\\n [class.ng-optgroup]=\\\"item.children\\\"\\n [class.ng-option]=\\\"!item.children\\\"\\n [class.ng-option-child]=\\\"!!item.parent\\\"\\n [class.ng-option-marked]=\\\"item === itemsList.markedItem\\\"\\n [attr.aria-selected]=\\\"item.selected\\\"\\n [attr.id]=\\\"item?.htmlId\\\">\\n\\n <ng-template #defaultOptionTemplate>\\n <span class=\\\"ng-option-label\\\" [ngItemLabel]=\\\"item.label\\\" [escape]=\\\"escapeHTML\\\"></span>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.children ? (optgroupTemplate || defaultOptionTemplate) : (optionTemplate || defaultOptionTemplate)\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item.value, item$:item, index: item.index, searchTerm: searchTerm }\\\">\\n </ng-template>\\n </div>\\n\\n <div class=\\\"ng-option\\\" [class.ng-option-marked]=\\\"!itemsList.markedItem\\\" (mouseover)=\\\"itemsList.unmarkItem()\\\" role=\\\"option\\\" (click)=\\\"selectTag()\\\" *ngIf=\\\"showAddTag\\\">\\n <ng-template #defaultTagTemplate>\\n <span><span class=\\\"ng-tag-label\\\">{{addTagText}}</span>\\\"{{searchTerm}}\\\"</span>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"tagTemplate || defaultTagTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ searchTerm: searchTerm }\\\">\\n </ng-template>\\n </div>\\n </ng-container>\\n\\n <ng-container *ngIf=\\\"showNoItemsFound()\\\">\\n <ng-template #defaultNotFoundTemplate>\\n <div class=\\\"ng-option ng-option-disabled\\\">{{notFoundText}}</div>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"notFoundTemplate || defaultNotFoundTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ searchTerm: searchTerm }\\\">\\n </ng-template>\\n </ng-container>\\n\\n <ng-container *ngIf=\\\"showTypeToSearch()\\\">\\n <ng-template #defaultTypeToSearchTemplate>\\n <div class=\\\"ng-option ng-option-disabled\\\">{{typeToSearchText}}</div>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"typeToSearchTemplate || defaultTypeToSearchTemplate\\\">\\n </ng-template>\\n </ng-container>\\n\\n <ng-container *ngIf=\\\"loading && itemsList.filteredItems.length === 0\\\">\\n <ng-template #defaultLoadingTextTemplate>\\n <div class=\\\"ng-option ng-option-disabled\\\">{{loadingText}}</div>\\n </ng-template>\\n\\n <ng-template\\n [ngTemplateOutlet]=\\\"loadingTextTemplate || defaultLoadingTextTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ searchTerm: searchTerm }\\\">\\n </ng-template>\\n </ng-container>\\n\\n</ng-dropdown-panel>\\n\", styles: [\"@charset \\\"UTF-8\\\";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:\\\"\\\\200b\\\"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\\n\"] }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['class']\n }] }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['autofocus']\n }] }, { type: NgSelectConfig }, { type: undefined, decorators: [{\n type: Inject,\n args: [SELECTION_MODEL_FACTORY]\n }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: ConsoleService }]; }, propDecorators: { bindLabel: [{\n type: Input\n }], bindValue: [{\n type: Input\n }], markFirst: [{\n type: Input\n }], placeholder: [{\n type: Input\n }], notFoundText: [{\n type: Input\n }], typeToSearchText: [{\n type: Input\n }], addTagText: [{\n type: Input\n }], loadingText: [{\n type: Input\n }], clearAllText: [{\n type: Input\n }], appearance: [{\n type: Input\n }], dropdownPosition: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], loading: [{\n type: Input\n }], closeOnSelect: [{\n type: Input\n }], hideSelected: [{\n type: Input\n }], selectOnTab: [{\n type: Input\n }], openOnEnter: [{\n type: Input\n }], maxSelectedItems: [{\n type: Input\n }], groupBy: [{\n type: Input\n }], groupValue: [{\n type: Input\n }], bufferAmount: [{\n type: Input\n }], virtualScroll: [{\n type: Input\n }], selectableGroup: [{\n type: Input\n }], selectableGroupAsModel: [{\n type: Input\n }], searchFn: [{\n type: Input\n }], trackByFn: [{\n type: Input\n }], clearOnBackspace: [{\n type: Input\n }], labelForId: [{\n type: Input\n }], inputAttrs: [{\n type: Input\n }], tabIndex: [{\n type: Input\n }], readonly: [{\n type: Input\n }], searchWhileComposing: [{\n type: Input\n }], minTermLength: [{\n type: Input\n }], editableSearchTerm: [{\n type: Input\n }], keyDownFn: [{\n type: Input\n }], typeahead: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-typeahead']\n }], multiple: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-multiple']\n }], addTag: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-taggable']\n }], searchable: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-searchable']\n }], clearable: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-clearable']\n }], isOpen: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-opened']\n }], items: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], clearSearchOnAdd: [{\n type: Input\n }], blurEvent: [{\n type: Output,\n args: ['blur']\n }], focusEvent: [{\n type: Output,\n args: ['focus']\n }], changeEvent: [{\n type: Output,\n args: ['change']\n }], openEvent: [{\n type: Output,\n args: ['open']\n }], closeEvent: [{\n type: Output,\n args: ['close']\n }], searchEvent: [{\n type: Output,\n args: ['search']\n }], clearEvent: [{\n type: Output,\n args: ['clear']\n }], addEvent: [{\n type: Output,\n args: ['add']\n }], removeEvent: [{\n type: Output,\n args: ['remove']\n }], scroll: [{\n type: Output,\n args: ['scroll']\n }], scrollToEnd: [{\n type: Output,\n args: ['scrollToEnd']\n }], optionTemplate: [{\n type: ContentChild,\n args: [NgOptionTemplateDirective, { read: TemplateRef }]\n }], optgroupTemplate: [{\n type: ContentChild,\n args: [NgOptgroupTemplateDirective, { read: TemplateRef }]\n }], labelTemplate: [{\n type: ContentChild,\n args: [NgLabelTemplateDirective, { read: TemplateRef }]\n }], multiLabelTemplate: [{\n type: ContentChild,\n args: [NgMultiLabelTemplateDirective, { read: TemplateRef }]\n }], headerTemplate: [{\n type: ContentChild,\n args: [NgHeaderTemplateDirective, { read: TemplateRef }]\n }], footerTemplate: [{\n type: ContentChild,\n args: [NgFooterTemplateDirective, { read: TemplateRef }]\n }], notFoundTemplate: [{\n type: ContentChild,\n args: [NgNotFoundTemplateDirective, { read: TemplateRef }]\n }], typeToSearchTemplate: [{\n type: ContentChild,\n args: [NgTypeToSearchTemplateDirective, { read: TemplateRef }]\n }], loadingTextTemplate: [{\n type: ContentChild,\n args: [NgLoadingTextTemplateDirective, { read: TemplateRef }]\n }], tagTemplate: [{\n type: ContentChild,\n args: [NgTagTemplateDirective, { read: TemplateRef }]\n }], loadingSpinnerTemplate: [{\n type: ContentChild,\n args: [NgLoadingSpinnerTemplateDirective, { read: TemplateRef }]\n }], dropdownPanel: [{\n type: ViewChild,\n args: [forwardRef(() => NgDropdownPanelComponent)]\n }], searchInput: [{\n type: ViewChild,\n args: ['searchInput', { static: true }]\n }], ngOptions: [{\n type: ContentChildren,\n args: [NgOptionComponent, { descendants: true }]\n }], useDefaultClass: [{\n type: HostBinding,\n args: ['class.ng-select']\n }], disabled: [{\n type: HostBinding,\n args: ['class.ng-select-disabled']\n }], filtered: [{\n type: HostBinding,\n args: ['class.ng-select-filtered']\n }], single: [{\n type: HostBinding,\n args: ['class.ng-select-single']\n }], handleKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n\nfunction DefaultSelectionModelFactory() {\n return new DefaultSelectionModel();\n}\nclass DefaultSelectionModel {\n constructor() {\n this._selected = [];\n }\n get value() {\n return this._selected;\n }\n select(item, multiple, groupAsModel) {\n item.selected = true;\n if (!item.children || (!multiple && groupAsModel)) {\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 }\n else if (item.children) {\n this._setChildrenSelectedState(item.children, true);\n this._removeChildren(item);\n if (groupAsModel && this._activeChildren(item)) {\n this._selected = [...this._selected.filter(x => x.parent !== item), item];\n }\n else {\n this._selected = [...this._selected, ...item.children.filter(x => !x.disabled)];\n }\n }\n }\n }\n unselect(item, multiple) {\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 && !x.disabled));\n item.parent.selected = false;\n }\n else if (item.children) {\n this._setChildrenSelectedState(item.children, false);\n this._removeChildren(item);\n }\n }\n }\n clear(keepDisabled) {\n this._selected = keepDisabled ? this._selected.filter(x => x.disabled) : [];\n }\n _setChildrenSelectedState(children, selected) {\n for (const child of children) {\n if (child.disabled) {\n continue;\n }\n child.selected = selected;\n }\n }\n _removeChildren(parent) {\n this._selected = [\n ...this._selected.filter(x => x.parent !== parent),\n ...parent.children.filter(x => x.parent === parent && x.disabled && x.selected)\n ];\n }\n _removeParent(parent) {\n this._selected = this._selected.filter(x => x !== parent);\n }\n _activeChildren(item) {\n return item.children.every(x => !x.disabled || x.selected);\n }\n}\n\nclass NgSelectModule {\n}\nNgSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nNgSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectModule, declarations: [NgDropdownPanelComponent,\n NgOptionComponent,\n NgSelectComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective,\n NgItemLabelDirective], imports: [CommonModule], exports: [NgSelectComponent,\n NgOptionComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective] });\nNgSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectModule, providers: [\n { provide: SELECTION_MODEL_FACTORY, useValue: DefaultSelectionModelFactory }\n ], imports: [CommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: NgSelectModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n NgDropdownPanelComponent,\n NgOptionComponent,\n NgSelectComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective,\n NgItemLabelDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n NgSelectComponent,\n NgOptionComponent,\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 }]\n }] });\n\n/*\n * Public API Surface of ng-select\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NgFooterTemplateDirective, NgHeaderTemplateDirective, NgItemLabelDirective, NgLabelTemplateDirective, NgLoadingSpinnerTemplateDirective, NgLoadingTextTemplateDirective, NgMultiLabelTemplateDirective, NgNotFoundTemplateDirective, NgOptgroupTemplateDirective, NgOptionComponent, NgOptionTemplateDirective, NgSelectComponent, NgSelectConfig, NgSelectModule, NgTagTemplateDirective, NgTypeToSearchTemplateDirective, SELECTION_MODEL_FACTORY };\n"],"names":["i0","Directive","Input","Injectable","EventEmitter","ElementRef","Component","ChangeDetectionStrategy","ViewEncapsulation","Optional","Inject","Output","ViewChild","InjectionToken","forwardRef","TemplateRef","Attribute","HostBinding","ContentChild","ContentChildren","HostListener","NgModule","NG_VALUE_ACCESSOR","takeUntil","auditTime","startWith","tap","debounceTime","filter","map","animationFrameScheduler","asapScheduler","Subject","fromEvent","merge","i3","DOCUMENT","CommonModule","unescapedHTMLExp","hasUnescapedHTMLExp","RegExp","source","htmlEscapes","escapeHTML","value","test","replace","chr","isDefined","undefined","isObject","isPromise","Promise","isFunction","Function","NgItemLabelDirective","constructor","element","escape","ngOnChanges","changes","nativeElement","innerHTML","ngItemLabel","ɵfac","ɵdir","type","args","selector","NgOptionTemplateDirective","template","NgOptgroupTemplateDirective","NgLabelTemplateDirective","NgMultiLabelTemplateDirective","NgHeaderTemplateDirective","NgFooterTemplateDirective","NgNotFoundTemplateDirective","NgTypeToSearchTemplateDirective","NgLoadingTextTemplateDirective","NgTagTemplateDirective","NgLoadingSpinnerTemplateDirective","newId","val","Math","random","toString","diacritics","stripSpecialChars","text","match","a","ItemsList","_ngSelect","_selectionModel","_items","_filteredItems","_markedIndex","items","filteredItems","markedIndex","selectedItems","markedItem","noItemsToSelect","hideSelected","length","maxItemsSelected","multiple","maxSelectedItems","lastSelectedItem","i","item","disabled","setItems","index","mapItem","groupBy","_groups","_groupBy","_flatten","Map","set","select","selected","clearSelected","selectableGroupAsModel","_hideSelected","unselect","_showSelected","findItem","findBy","compareWith","bindValue","children","resolveNested","label","bindLabel","find","addItem","option","push","keepDisabled","clear","forEach","marked","resetFilteredItems","findByLabel","term","toLocaleLowerCase","substr","searchFn","_defaultSearchFn","key","Array","from","keys","matchedItems","get","parent","searchItem","last","slice","head","x","unmarkItem","markNextItem","_stepToItem","markPreviousItem","markItem","indexOf","markSelectedOrDefault","markDefault","lastMarkedIndex","_getLastMarkedIndex","findIndex","split","len","$ngOptionLabel","$ngOptionValue","htmlId","dropdownId","mapSelectedItems","parentExists","child","sort","b","every","search","opt","_getNextItemIndex","steps","selectedIndex","max","prop","groups","isArray","isFnKey","keyFn","group","isGroupByFn","withoutGroup","isObjectKey","String","selectableGroup","groupKey","groupValue","KeyCode","NgDropdownPanelService","_dimensions","itemHeight","panelHeight","itemsPerViewport","dimensions","calculateItems","scrollPos","itemsLength","buffer","d","scrollHeight","scrollTop","indexByScrollTop","end","min","ceil","maxStartEnd","maxStart","start","floor","topPadding","isNaN","setDimensions","getScrollTo","itemTop","lastScroll","itemBottom","top","bottom","ɵprov","CSS_POSITIONS","SCROLL_SCHEDULER","requestAnimationFrame","NgDropdownPanelComponent","_renderer","_zone","_panelService","_elementRef","_document","position","virtualScroll","filterValue","update","scroll","scrollToEnd","outsideClick","_destroy$","_scrollToEndFired","_updateScrollHeight","_lastScrollPosition","_dropdown","currentPosition","_currentPosition","_itemsLength","_onItemsLengthChanged","_startOffset","offset","ngOnInit","_select","parentElement","_virtualPadding","paddingElementRef","_scrollablePanel","scrollElementRef","_contentPanel","contentElementRef","_handleScroll","_handleOutsideClick","_appendDropdown","_setupMousedownListener","change","_onItemsChange","currentValue","firstChange","ngOnDestroy","next","complete","unsubscribe","appendTo","removeChild","parentNode","scrollTo","startFromOption","querySelector","offsetTop","clientHeight","scrollToTag","panel","adjustPosition","_updateYPosition","_handleDropdownPosition","_calculateCurrentPosition","includes","_updateDropdownClass","style","opacity","REMOVE_CSS_CLASS","removeClass","ADD_CSS_CLASS","addClass","runOutsideAngular","pipe","subscribe","e","path","composedPath","target","_onContentScrolled","capture","$event","_checkToClose","contains","shadowRoot","run","emit","_updateItemsRange","_setVirtualHeight","_updateItems","resolve","then","_measureDimensions","_renderItemsRange","_fireScrollToEnd","_updateVirtualHeight","height","range","bufferAmount","transform","first","optionHeight","padding","dropdownEl","selectRect","getBoundingClientRect","document","documentElement","body","window","pageYOffset","dropdownHeight","_parent","Error","_updateXPosition","appendChild","offsetLeft","left","width","minWidth","delta","offsetBottom","event","tagName","preventDefault","Renderer2","NgZone","ɵcmp","NgIf","NgTemplateOutlet","changeDetection","OnPush","encapsulation","None","decorators","headerTemplate","footerTemplate","read","static","NgOptionComponent","elementRef","stateChange$","_disabled","_isDisabled","textContent","trim","ngAfterViewChecked","_previousLabel","NgSelectConfig","notFoundText","typeToSearchText","addTagText","loadingText","clearAllText","disableVirtualScroll","openOnEnter","appearance","providedIn","ConsoleService","warn","message","console","SELECTION_MODEL_FACTORY","NgSelectComponent","classes","autoFocus","config","newSelectionModel","_cd","_console","markFirst","dropdownPosition","loading","closeOnSelect","selectOnTab","trackByFn","clearOnBackspace","labelForId","inputAttrs","readonly","searchWhileComposing","minTermLength","editableSearchTerm","keyDownFn","_","addTag","searchable","clearable","isOpen","blurEvent","focusEvent","changeEvent","openEvent","closeEvent","searchEvent","clearEvent","addEvent","removeEvent","useDefaultClass","viewPortItems","searchTerm","_defaultLabel","_pressedKeys","_isComposing","_keyPress$","_onChange","_onTouched","clearItem","trackByOption","_mergeGlobalConfig","itemsList","_itemsAreUsed","_compareWith","fn","clearSearchOnAdd","_clearSearchOnAdd","filtered","single","_editableSearchTerm","selectedValues","hasValue","currentPanelPosition","dropdownPanel","_handleKeyPresses","_setInputAttributes","_setItems","_manualOpen","ngAfterViewInit","_setItemsFromNgOptions","focus","handleKeyDown","keyCode","which","handleKeyCode","ArrowDown","_handleArrowDown","ArrowUp","_handleArrowUp","Space","_handleSpace","Enter","_handleEnter","Tab","_handleTab","Esc","close","Backspace","_handleBackspace","handleMousedown","classList","handleClearClick","handleArrowClick","focused","open","toggle","_updateNgModel","_clearSearch","_onSelectionChanged","clearModel","writeValue","_handleWriteValue","markForCheck","registerOnChange","registerOnTouched","setDisabledState","state","_isTypeahead","detectChanges","toggleItem","_setSearchTermFromItems","searchInput","blur","selectTag","tag","_primitive","handleTag","catch","showClear","showAddTag","_validTerm","toLowerCase","some","showNoItemsFound","empty","showTypeToSearch","onCompositionStart","onCompositionEnd","typeahead","onInputFocus","add","onInputBlur","remove","onItemHover","destroyed","firstItem","mapNgOptions","options","handleOptionChange","changedOrDestroyed","ngOptions","_isValidWriteValue","validateBinding","JSON","stringify","ngModel","isValObject","isPrimitive","letter","join","_scrollToMarked","input","attributes","autocorrect","autocapitalize","autocomplete","Object","setAttribute","model","_changeSearch","_scrollToTag","_nextItemIsTag","nextStep","nextIndex","observers","placeholder","ChangeDetectorRef","provide","useExisting","multi","NgClass","NgForOf","providers","styles","tabIndex","optionTemplate","optgroupTemplate","labelTemplate","multiLabelTemplate","notFoundTemplate","typeToSearchTemplate","loadingTextTemplate","tagTemplate","loadingSpinnerTemplate","descendants","DefaultSelectionModelFactory","DefaultSelectionModel","_selected","groupAsModel","childrenCount","selectedCount","_setChildrenSelectedState","_removeChildren","_activeChildren","_removeParent","NgSelectModule","ɵmod","ɵinj","useValue","declarations","imports","exports"],"sourceRoot":"webpack:///"}